AIoT开发者的灵魂拷问:过程低效且成本高的问题你解决了么?

企业将业务搬上云端已是大势所趋,云服务经过多年的发展,也已进入稳定增长的2.0时代。

2019年1月,华为基于ARM架构打造了自己的鲲鹏处理器。紧接着,华为云又基于鲲鹏处理器推出了鲲鹏云服务和解决方案。“鲲鹏”一词逐渐在互联网圈内成为热议的焦点,对于技术人而言,迫切地想揭开鲲鹏背后的技术细节,想知道鲲鹏到底有多牛。

机会来了!

10月18日,“DevRun · 选择不凡,华为云开发者沙龙 ”北京站将邀请华为云鲲鹏凌云计划架构师白雁,全面解析华为云鲲鹏云服务中的关键技术,并从操作系统、中间件、数据库以及代码层级对开源和自有软件的鲲鹏移植进行指导,通过实际案例分享移植经验,给开发者讲解为什么移植,以及如何移植。

除此之外,华为云的4位技术专家也针对各自擅长的领域,与开发者交流技术难点与解决方案,这些话题如下:

1、企业上云之前,数据库的痛点怎么解决?

数据库逐渐演变为云时代下核心竞争力的关键。如今,传统存储计算一体、一主多辅的数据库虽然仍有不小的价值,但局限性也愈加明显:资源利用率低、扩展性弱、有许多冗余写入、数据回档慢等难题,也造成了企业的上云需求越发难以满足。

在数字化、智能化时代下,企业面对的是海量的用户和交易,拥有超过几百个节点的业务系统并不稀奇,未来这种规模还将不断扩大,这为系统的运营和管理提出了不小的挑战。随着摩尔定律遇到瓶颈,不同领域的计算平台呈现出多样化的趋势。虽然这在一定程度上满足了不同场合的应用需要,但如何通过软件实现计算能力的整体协调和优化,这对于应用开发人员和 DBA 而言,是新的挑战。此外,海量的半结构、结构化数据,也迫切需要一个行之有效的解决方案来实现统一的计算和管理,并进行优化。

华为从2001年就已经开始布局数据库的研发,针对当下数据库技术的发展痛点有着深刻的理解,华为云也推出了新的解决方案。本次沙龙,华为云数据库高级技术专家宋立勇将为大家分享华为在数据库领域的研发经验,带来应对诸多数据库挑战的实战经验,并分享针对不同的业务场景,数据库如何布局才能经济高效地满足高算力、低时延、敏捷部署的业务诉求。

2、AI开发者最棘手的难题,你是不是也遇到过?

对于AI开发者而言,训练一个模型通常需要经历几个“难关”:数据标注、调参、大规模分布式训练和训练部署,然后才有可能开发出一个普通的AI应用。每一步几乎都是AI开发者的痛:数据标注需要耗费大量的人工时间,难以在最短的时间内找到最优的参数配置,需要漫长的时间进行大规模训练,最后还要面对复杂的模型部署。

一直以来,AI开发者对普惠算力的需求从未间断过,但现实情况是:稀缺、昂贵的算力将AI束之高阁,大量的资源被重复耗费,开发者宝贵的时间和精力也未能创造出真正的价值,整个AI开发过程低效且成本高昂,不利于企业及行业的智能化升级。基于这些痛点,华为推出了ModelArts 一站式AI开发平台。

相信 AI 开发者对于这一平台一定不陌生,但如何用好 ModelArts 恰恰是开发者最该了解的内容。本次沙龙,华为云EI布道师、华为开源中心算法专家王龙步将为AI开发者解析在云上构建及部署AI模型的具体过程。为什么有的 AI 开发者可以更快速、更高效地开发AI模型?差别在哪?专家给你支招!

3、都在聊 IoT,落地的事谁来负责?

在物联网业务快速发展的同时,企业和创业者也面临着网络连接复杂的问题,而且终端和传感器种类众多,这就导致集成困难,新业务上市周期长。企业都在聊IoT,但归根结底还在于谁能解决IoT开发中的难题。

对于开发者而言,如何切实可行地解决开发周期长、开发成本高、稳定性不佳、维护成本高等一系列问题,高效地完成行业应用构建,将物联网能力快速投入到生产流程或业务运营中?华为IoT生态服务产品总监谢冲,基于自己深耕IoT领域多年的经验,针对开发者在IoT 上经常“纸上谈兵”、缺乏落地实践的问题,全方位地“对症下药”。 

4、想用微服务架构,如何保证数据一致性?    

我们知道,微服务架构中的各个模块可以独立地开发,迭代;不同团队之间的技术栈分离可以根据团队的特点来使用更合适的技术解决问题;将系统切分为细粒度的服务,好处不言而喻,但问题是,如何保证数据的一致性?越来越多的企业开始向微服务架构转型,不幸的是,很多企业发现微服务实施起来并不像看上去那么轻松。各家公司提出的解决方案并不少,不过哪一种才最适合?

对此,华为云PaaS团队架构师王启军将在本次沙龙为大家分享华为在微服务架构中的实践,帮助企业和开发者清楚地了解为什么要做微服务,以及在过程中有哪些必须要避的坑。

干货满满的讲解与实操演练相结合,10月18日“DevRun · 选择不凡,华为云开发者沙龙 2019”北京站,将与开发者一道,深挖技术背后的细节,重新审视如何落地 AI 的问题。

5、北京站讲师和议题安排

温馨提示:因为现场设置实操环节,建议开发者携带笔记本电脑参会,与讲师一起在现场快速构建一套AI模型。

报名地址: https://e-campaign.huawei.com/cloud/CloudUniversalForm/register/199/phoneRegister.html?access_token=2d22ca77-2dbd-4cd3-afc9-15e92366779a (请在微信中打开)

拒绝炎热和潮湿 DIY智能换气扇

夏季的上海,烈日炎炎。

白天出门就是一种折磨。

在屋里一直开着空调吧,到了昼夜交替或者深夜的时候,可能又觉得冷。

暴雨的时候,外面空气清新,室内却很闷热……

如果给你两个换气扇,怎样才能让室内空气健康流通呢?

美国有一位名叫 Ishmael Vargas 的创客,给我们带来了他的方案。

在芝加哥地区,夏季的白天和夜晚都是炎热潮湿的。太阳下山的时候外面温度下降,但家里却未必。

这就是窗式换气扇用得着的地方,它可以把冷空气吹进房子里。

但一直这么开着也不行,因为温度在不停变化。

去年夏天,Ishmael Vargas 经常要在半夜起床把换气扇关掉,但他觉得可以用一个更好的方法来控制风扇,无需人工干预,于是他便启动了这个小项目。

Ishmael Vargas 用树莓派和DHT22温湿度传感器来监测室温,然后将其与外部温度进行比较。如果后者更凉爽,则通过智能Wi-Fi电源插头(TP-Link HS100)打开换气扇 —— 这比将风扇连接到继电器要简单得多。

传感器的三根线分别接在树莓派的电源、接地、GPIO 4(建议加上10K电阻)
Smart WiFi Plug 智能插座

室外温度感知

为了简单起见,Ishmael 选择使用 pywapi 库从 Weather Channel 获取室外温度,而不再连接外部传感器。

“Weather Channel 提供的温度和实际温度可能相差一两度。这对于这个项目来说已经足够了。”他解释道。

智能WiFi插座用于打开和关闭窗户风扇

在测试中,Ishmael 发现清晨的风扇可能会把温暖的空气吹进房子里。

他说:“根据风扇的大小、房间的大小和房屋材料的不同,室内的温度可能永远不会像室外那么低。”例如,如果外面的温度是65°F(18°C),那么里面的温度可能会是67°F(19.5°C)。当室外温度开始上升时,你可能需要关掉风扇。”

远程控制

Ishmael 没有让风扇程序在启动时自动运行,而是选择通过Android智能手机手动启动并控制它。后者运行VNC查看器应用程序,允许远程访问Raspberry Pi的桌面,在桌面有一个快捷方式可以启动风扇应用程序。然后显示一个Pygame窗口,其中包含温度信息和控制按钮。

树莓派的桌面

“风扇应用程序有两个按钮,可以向上或向下改变(所需的温度)设定值。”Ishmael说。

此外,右上角的按钮是关闭应用程序并返回桌面。他的目标是在他的树莓派上运行多个项目,并为每个应用程序提供桌面快捷方式。

在手机或PC上,可以通过VNC查看温度数据和控制按钮

虽然最初的项目只使用了一个换气扇,但他后来对其进行了修改,添加了另一个风扇。因为他意识到,要想取得最好的性能,需要两个换气扇。一个吹进来,另一个吹出去。

编者注:最近在上海转悠了几个老小区,发现多户人家的通风问题需要改善。有的是楼道和通风管道设计的问题,这个就不说了。有的纯粹是自己不重视,如果能做科学的改动,应该可以让生活更舒畅。

源码地址:

https://github.com/IoToutpost/Smart-Window-Fan

素材:MagPi,编译:IoT前哨站,转载请注明出处。

王文文,前51CTO安全频道主编,阿里巴巴资深安全工程师。Redhat认证工程师,华为IoT认证工程师。

创客姐姐告诉你,树莓派4B到底有多快

作者:长空无名

最近很多科技媒体都报道了树莓派4发布的消息。

虽然整个板子做了大幅升级,基础价格却依然是35美元,称的上是业界良心。

那号称史上性能最强的树莓派4,到底有哪些亮点呢?一起来看产品图。

USB-C供电口 
1.5GHz 四核64位 ARM Cortex-A72 CPU
1GB/2GB/4GB LPDDR4 SDRAM 内存(可选)
全吞吐量千兆以太网(真千兆)
双频 802.11ac 无线网络
蓝牙 5.0
两个 USB 3.0 和两个 USB 2.0 接口
同时支持两个显示器,分辨率高达 4K
VideoCore VI 显卡,支持 OpenGL ES 3.x
HEVC 视频 4Kp60 硬解码

当然,光看图例是不够的。让创客姐姐 Estefannie 来给你讲解一下。

视频地址:

https://v.qq.com/x/page/n0889tx4vsn.html

按小姐姐说的,树莓派4B的Cortex-A72要比树莓派3B的Cortex-A53快不少。

我们在树莓派3B上跑个测试脚本,看看耗时。

可以看到,树莓派3B花了7分55.68秒。

然后再看看 Estefannie 用树莓派4B测的结果。

同一脚本,树莓派4B花了3分41.882秒,耗时仅用了前者的一半不到。性能果然是提高了不少。

脚本内容:

time echo “scale=10000;4*a(1)” | bc -l

有兴趣的朋友可以自行测试。当然,你得先有一块树莓派4B哦。

来自:IoT前哨站

微软发布“VSCode Remote” 让远程开发更自在

近期有很多微软 VSCode 编译器的新闻,最搞笑的是这个:

不过我们这次讲的不是 VSCode 的八卦,而是要给经常做远程调试的开发者介绍一个强力插件:“Remote Development”。

在给树莓派、香橙派等各种开发板做调试的时候,很多人是先登录到板载系统上,然后再开始操作的。

这倒还不是慢的问题,而是原本咱们 PC 或 Macbook 上强大的IDE派不上用场了。

为了解决这个问题,微软推出了“VScode Remote Development”。以便大家直接远程调试,不用再登录后操作了。

目前,Visual Studio Code Remote Development Extension Pack支持SSH、容器、WSL 三种模式。

对应的三个扩展:

Remote – SSH – 通过使用 SSH 打开远程计算机或者VM。

Remote – Containers – 把 Docker 作为你的调试环境。

Remote – WSL – 在 Windows Subsystem for Linux 中,像 Linux 一样开发。

不管你做嵌入式开发还是服务器开发,都可以通过这个插件简化工作。

如图所示,一位在做机器学习的朋友正在用SSH模式远程调试Python代码。

该插件下载地址:

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

安装前先确保你电脑上已经有“Visual Studio Code Insiders”。

更多物联网开发资讯,请关注“IoT前哨站”。

用LAKKA和树莓派做复古游戏机

树莓派可以做复古游戏机和街机,想必大家都已经听说过了。

包括RetroPie、Recalbox和Lakka在内的几个游戏机系统,在业内都是小有名气。

我们这次就用 树莓派3b+ 和 Lakka 来做一台。

Lakka在树莓派3b+上的安装

在树莓派3b+上安装 Lakka 非常简单。安装过程与以前的 Lakka 版本完全相同。只需前往官方的 Lakka 网站,下载合适的镜像,并将其安装到 microSD 卡。然后用安装好的 microSD 卡插入树莓派3b+。

Lakka for 树莓派2/3版本下载地址:

http://le.builds.lakka.tv/RPi2.arm/Lakka-RPi2.arm-2.2.2.img.gz

Lakka启动后的界面:

如果你们在屏幕上看到如下画面,基本就算装成功了。第一件事,先进“设置区”把 Wi-Fi 连上。看到自己 SSID 边上有个“Online”就是连成功了。

注:如果想查看 IP 什么的可以进“System Information”菜单。

添加游戏

首先要进“Services”菜单把 Samba 启用,不然你没法往里面拷游戏。

生效之后就可以往里面拷游戏了,在 Windows 网上邻居里找到它的共享目录。

找到 ROMs 目录,然后把你能找到的游戏镜像拷贝进去。接着,你要回到游戏机操作界面,选择“Scan This Directory”。让 Lakka 知道你的游戏镜像对应的是哪些模拟器。屏幕底部会提示你扫描的进度。

然后你就可以“load content”加载游戏了,系统会自己调用相关模拟器解析。完成后,您将在菜单的右端看到一个新选项卡。

开始玩吧

转到刚刚创建的选项卡,你会在列表中看到装好的游戏。

选择并运行,看到画面出来的一刻。也就意味着你的游戏机已经做好了。

目前测下来是 红白机镜像 的识别和运行还不错,FB Alpha 类的稍差。

关于 Lakka 背景颜色和语言环境都可以自己调,比如我自己用的是一个蓝色背景的中文环境。

关于一般操作,键盘就够了。但如果想玩的开心,还是去买两个手柄吧, Xbox 和 PS 的都可以。

附注:

虽然树莓派3b+的速度比树莓派3快,但性能并没有特别大的增长,主要改进集中在网络方面。

有些游戏系统可能还没支持树莓派3b+,但 Lakka 很早就兼容了。也就是说,上面那个镜像同时支持树莓派2、3、3b+,大家可以放心刷。IoT前哨站已经帮你们挨个试过了。

相关视频讲解(英语):

http://v.qq.com/x/page/n0864t98yof.html

编译:IoT前哨站

素材:Lakka.tv

带摄像功能的树莓派水下潜航器

作者:长空无名

永远不要低估创客对树莓派的热情以及对其潜能的挖掘。

比如一位名叫 叶夫根尼·特卡琴科(Ievgenii Tkachenko)的朋友最近就完成了一个挑战,他做了一个带摄像功能的无人潜航器,并且在努力改进它的原型。

在 “Discovery 探索频道”发明家节目的启发下,Ievgenii 学到了很多。

“对我来说,这是一个很有意义的工程挑战。”他说。

“尽管陷入了反复试验的过程中,但迄今为止的结果令人印象深刻。”

能潜水的树莓派

在 Ievgenii 的印象中,这个项目是从零星的想法开始的。他解释说:“我知道我在这个项目中至少应该具备什么 —— 比如运动系统、灯光、摄像头和陀螺仪,以及外部的手机控制。”

“但我不知道该用什么东西来开发并驱动无人潜艇,而且我的预算也有限制。”

考虑到这一点,他的第一个举措是选择了Raspberry Pi 3B,这可以完美控制电机,二极管和陀螺仪,同时从摄像机采集视频流并且从终端接收命令。

壳中的 Raspberry Pi 3 用锂电池做电源,该电池也为 LED 和电机供电

“我真的很惊讶,这个小板子上能跑一个功能齐全的类 unix 操作系统,而且像 Node.js这样的软件可以很容易地在上面跑起来,”他告诉我们。

“它有控制输入和输出的针脚,还有很多配套软件库。有以太网端口、无线网卡和摄像头,即插即用。没有比它更好的解决方案了。”

LED连接到散热器以防止过热,脉冲驱动用于闪光灯控制

Ievgenii 与一位朋友合作,打算为这些组件做合适的外壳。其中包括一根能在水下传输数据的双绞线、一个电子速度控制装置、一个带有脉冲驱动器的LED和一块电池。四个 确保能在水中工作的马达。

把配件装入准备好的外壳之后,他们在浴缸和湖里进行了测试。

流媒体视频

岸上的路由器通过 RJ45 连接器和以太网电缆连接到Raspberry Pi,Ievgenii开发了一个 Android 应用程序,通过 IP 地址和端口连接到Raspberry Pi。

这允许通过触摸屏控制移动,或者使用支持 Android 系统的手柄。当它启动并运行时,Pi 将视频从摄像机传输到 Android 应用程序。

“实时视频流不简单,我花了很多时间在解决方案上”,但有线连接意味着潜航器目前在线缆长度允许的范围内活动。

相机放置在这个透明防水的盒子里,并附在防水外壳的前部

从这个意义上说,它并不完美。Ievgenii 承认:“操控无人潜航器很困难,它需要增加一个额外的控制板和几个电动机,以便保持平衡。”

但是,除了想把这个项目用可靠的 C++ 代码来写,并用USB连接4K摄像头探访水下世界之外,他还看到了这个项目的未来的潜力。

他指出:“类似的无人潜航器用于船只检查,也可以用于救援队或科学目的。”

“它们可以用来探索巨大的海洋世界,而不需要人类为其训练和冒险。事实上,现在我已了解树莓派,我可以用它创造几乎任何东西,从无线电玩具车到智能家居。”

来自:The MagPi 80

编译:IoT前哨站

用废旧物品和树莓派做个自动演奏机

一位名叫 Banjowise 的外国人用一堆废旧物品做了个自动的音乐演奏机。

从机械角度讲,这并不太复杂。只需一套由树莓派触发的电磁铁就能搞定。

真正的可取之处在于,他做了一个名为“PiBeat”的步进音序器,以此驱动电磁阀来演奏音乐。当然,我们要在树莓派上先安装它。

代码地址:https://github.com/IoToutpost/pibeat

简单的说,用手机或平板电脑操作浏览器,就可以让这个装置演奏设定的曲目。

很够意思的,他们已经把制作方法在 Instructables 上发布了。你可以照他的教程实现一个类似的演奏装置。

地址:
https://www.instructables.com/id/A-Raspberry-Pi-Powered-Junk-Drum-Machine/

这个链接将展示如何制作这个自动演奏机。

作者用到的演奏材料大致就是:在海滩上发现的渔网、捡来的木头勺子、小锤子、鳄鱼响板、空啤酒瓶、空罐头、桌铃、一些啤酒瓶盖子……

电子材料大致是:

1、八路继电器

2、一包杜邦线

3、两个接线端子

4、十二伏特十安培的电源

5、八个电磁阀

6、八个整流二极管

7、五十厘米长,口径0.5毫米的电线

8、树莓派

核心软件框架:

1、Angular

2、Python+Web Socket

代码地址:

https://github.com/IoToutpost/pibeat

相关视频地址(1)驱动电磁铁:

https://v.qq.com/x/page/t0854m6hxwx.html

相关视频地址(2)有趣的演奏:

http://v.qq.com/x/page/y0854qv53kl.html

这真是一个有趣又环保的项目,不但可以给我们提供“现场版”的音乐,更能提醒我们珍惜资源,保护环境。

线索:instructables.com

编译:王文文

英伟达推出平价开发者套件 Jetson Nano,用法类似树莓派

最近,在美国加利福尼亚州举办的英伟达 GPU 技术大会(GPU Technology Conference,GTC)上,英伟达宣布推出一款名为 Jetson Nano,售价99美元的人工智能开发者套件。据了解,Jetson Nano可以为机器人带来足够的AI算力。

Jetson Nano(左)及其开发板(右)

Jetson Nano是一款形状小巧的嵌入式主板,搭载了四核Cortex-A57处理器,128核英伟达Maxwell GPU以及4GB LPDDR 内存。

此外,Jetson Nano还支持一系列流行的AI框架,包括TensorFlow、PyTorch、Caffe、Keras和MXNet,因此大多数算法都属于即插即用型。另外还有一些常见的端口和接口,包括USB A接口和B接口、千兆以太网接口,并且支持microSD存储。

Jetson Nano与英伟达的开源机器人相连

英伟达希望 Jetson Nano 的价位能够让一些新用户接触人工智能硬件开发。英伟达自动化机器副总裁兼总经理Deepu Talla表示:“预计将会有许多制造商都想要进入人工智能领域,但是,这在过去一直无法实现,Jetson Nano将帮助他们做到这一点。

Jetson Nano的价格确实具有竞争力,但它并不是特例。例如,英特尔推出的售价为79美元的Neural Compute Stick(一款基于USB的深度学习推理套件和独立的人工智能加速器),谷歌最近也推出了两款类似的设备,分别是售价150美元的Coral Dev Board单板计算机,以及售价75美元可以为机器学习提供推理能力的Coral USB加速器。

相关视频地址:

http://v.qq.com/x/page/b0851yczufm.html

来自:天极网

让无人机听懂我们说话

大部分无人机都要靠手机或手持遥控器控制。

总而言之,不管是转向还是拍照……都离不开双手来控制。

如果能让无人机听懂我们的诉求,根据语音提示来行动,那就太棒了。

之前曾有一款名叫 XEagle 的语音控制无人机在 Kickstarter 上众筹。

有了它之后,运动爱好者和户外工作人员获得了极大的解放。因为 XEagle 无需双手就能操控,其语音控制、智能手表一键控制、智能避障等功能,不仅将无人机的操控极简化,还能进行自动跟踪拍摄。

不过我们今天的重点不 XEagle,而是要给大家介绍如何构建无人机语音模块。

先来看一段演示:

http://v.qq.com/x/page/h0850udk504.html

当然,不是所有无人机都提供了类似的 SDK。所以目前这个方案主要支持的是 Parrot minidrone 系列产品。

相关 Python 和 JS 代码:

https://github.com/IoToutpost/dronecontrol

硬件需求:

1、Cargo 或 Mambo 这类支持蓝牙遥控的 Parrot minidrone 无人机。

2、负责把 AWS 云服务连接到无人机的 树莓派 。

软件需求:

1、配置遥控用的 Alexa 框架。

2、配置 lambda 将 Alexa 语音命令连接到 AWS。

关于AWS的 lambda 请访问:

https://aws.amazon.com/lambda/

3、在树莓派上安装这个 kickass 库(由@amymcgovern创建):

https://github.com/amymcgovern/pyparrot

这个库提供了python-api 来通过蓝牙连接无人机。

主要流程:

1、调用 AWS lambda 函数,该函数接收操作请求并将事件发送到队列(AWS SQS)。

关于 AWS 的 SQS 消息队列服务请访问:

https://aws.amazon.com/cn/sqs/

2、树莓派上的 DroneService 轮询 SQS 并处理事件

3、DroneService 通过蓝牙向 Parrot 无人机发送移动指令。

DroneService:

无人机服务是一个做以下工作的微循环程序:

轮询AWS的SQS,如果消息可用,则提取有效信息并调用相应的方法。

例如:”TakeOffDroneIntent” -> takeOff()
该方法调用 pyparrot 库来执行无人机的动作,如“向上移动”、“向下移动”、“着陆”。

Alexa 技能:

这个技能包支持6种类型的语言表达:
TakeOffDroneIntent: 无人机起飞
LandDroneIntent: 无人机降落
RotateDroneIntent: 无人机旋转+90或-90度。
位置:RotationType(2个值:[+ 90,-90])
定位精度:“顺时针” -> 90,“逆时针” -> -90。
DroneMovementIntent: 无人机在6个可能的方向上移动。
位置:DirectionType(6个值:[“向上”,“向下”,“向左”,“向右”,“向前”,“向后”])
HoverDroneIntent: 徘徊一次。
FlightPlanIntent: 无人机在 flight_plan 中调用硬编码的飞行计划

构建模型将各种话语指向这个任务集合。

一些提示和计划:

队列应该只有一个执行者和一个发布者,它不适用于多个树莓派轮询相同的队列。

除了AWS,其他云计算提供商也有类似的语音识别、消息队列服务。

该项目未来计划在树莓派中添加面部识别以支持“请无人机来找我”类型的用例,以及支持无人机内部通信。

小结:

以上内容只是用语音代替了双手,遥控器依然需要。之前也有其他人用 Alexa 实现了类似功能,但 IoT前哨站 认为改进的空间依然很大,希望大家可以继续创新。让无人机变得更加人性化!

作者:长空无名

本文内容来自IoT前哨站,转载请注明作者和出处。

只要有想象力,打印机都能做游戏

不知道为什么,文本冒险游戏最近频频被人提及。这不,现在又出来一个基于实时打印的文本冒险游戏 —— Quest Smith。

这位脑洞较大的创客名叫 Bekir Dağ ,他用微型打印机和树莓派做出了这个手持游戏设备。

关于文本冒险游戏的背景知识:

1975年左右,程序员兼业余洞穴探险者 威尔·克劳瑟(Will Crowther)编写了第一个文本冒险游戏 —— Adventure。最初名为 ADVENT,因为在他使用的操作系统中,文件名不能超过六个字符,后来被命名为《巨大的洞穴冒险》 —— Giant Cave adventure。

玩家需要阅读周围环境的描述并从一组选项中进行选择,或者输入下一步并希望游戏能够理解玩家提及的内容。

Bekir Dağ 的创新之处是他把一个文本冒险游戏做成实时打印剧情了。玩家用 Yes 和No 两个按钮来决定游戏的走向 。

Quest Smith是个啥?

在柏林的一家游戏博物馆里,Bekir Dağ 看到了一个手持式游戏设备,于是他决定用树莓派 Zero W自己做一个。

他设计了Quest Smith 的躯壳,用3d绘图软件输出了 STL 文件并在
Thingiverse 网站上免费分享。

下载地址:

https://www.thingiverse.com/thing:3471217

树莓派 Zero W 与热敏打印机、电池和各种按钮紧密贴合在一起。由安装在外壳上的太阳能电池板供电,所有组件都连接到 TP4056 板,该板允许电池为树莓派供电。

硬件材料:

1、Raspberry Pi Zero Wireless 一个

2、GOOJPRT 热敏打印机一个

3、五伏电压升压模块 一个

4、 TP4056 板 一个

5、 18650电池 一个

6、瞬时触碰式开关

7、 Micro usb 转大口接头

8、螺钉 3.5 x 20毫米 四个

9、 滑动开关 一个

10、太阳能电池板60 x 60毫米 5.5V

另外要准备热熔枪、电烙铁和3D打印机。

相关的代码:

https://github.com/IoToutpost/quest_smith

1、系统需要安装的组件

sudo apt-get install libpython3-dev libpython3-stdlib libqt5printsupport5 php7.0-mbstring python3-rpi.gpio python-rpi.gpio python-setuptools python-dev build-essential

2、安装composer

步骤在此: https://getcomposer.org/download/

3、安装两个python库

pip install setuptools
pip install locustio

4、拉取代码

mkdir quest_smith
cd quest_smith
git clone git@github.com:bekirdag/quest_smith.git .
composer install

5、 在重新启动时,通过在crontab上添加一行来运行 Quest Smith 脚本

crontab -e
@reboot sudo /usr/bin/screen -dmS story-game /usr/bin/python3 /home/pi/thermal/push3.py

6、 再次向 crontab 添加另一行代码,以便在每次重启时更新软件,这样你的故事就会是最新的。

@reboot sudo cd /home/pi/quest_smith && sudo git pull origin master

Quest Smith 目前仍在开发中。虽然用户现在可以构建并开始玩这个游戏,但作者呼吁社区用户提交他们自己的故事(有好的分支剧情就发过去)。

Bekir Dağ 说:“每个关卡都需要两个版本的故事,这使得可能性呈指数级增长。所以一个人完成整个故事线对我来说是非常困难的。比如为了让玩家达到9级,我们需要编写1023个故事部分。如果你能帮我,那就太好了! ”

如果想看这个设备是怎么玩的点这里:

http://v.qq.com/x/page/y0846fbymnz.html

相关阅读:

Python写文本冒险游戏的要点

https://mp.weixin.qq.com/s/jtxOqDlYLt3VjdsnLXfdAg

新手可以在研究这篇文章的同时学会面向对象编程。

来自:Raspberrypi.org

编译:王文文