物联网操作系统Ruff 开发无人机项目体验分享

物联网

765人已加入

描述

  现在人人都在谈论物联网,物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。在上个世纪末1999年由美国人提出物联网的概念,现在物联网最大的机遇可以已经到来。

  要知道物联网的核心和基础仍然是互联网,操作系统是底层的核心部分,说到物联网不得不提就是物联网操作系统,这里我们主要分享一下一些物联网开发者的开发历程和体验。

  创客谈Ruff 开发体验

  跟Ruff的初识,是在2016年10月的复旦大学HACKxFDU创客马拉松,当时Ruff是其中一个硬件赞助,本来活动开始之前,我们队打算做点大疆无人机方面的开发,所以在考虑用Arduino加WiFi模块。不过HACKxFDU没那么给力,问来问去没有WiFi模块。

  但是要实时的数据反馈的话,总不能用数据线连着Arduino装在无人机上面飞来飞去吧……本来都放弃做无人机相关的开发了,不过队长发现Ruff可以很好替代Arduino。板载WiFi热点可以说是相当合我们意。

  除了板载WiFi,它的开发优势也很明显,那时候我属于Arduino刚刚入门,硬件懂一点点,接线这些完全不行,没有教程怎么都搞不懂……当时我和队友两个高中生,有一点懵逼。不过正因为这个原因,我拿到Ruff的时候就觉得,这个命令简直拯救沧桑:

    rap layout --visual

  说到这还是简单介绍下Ruff吧,这是一个支持 JavaScript 开发应用的物联网操作系统。也有一款基于JavaScript的物联网开发套件。我来评价的话,就觉得Ruff对新手小白很友好。它对硬件进行了抽象,使用了基于事件驱动、异步 I/O 的模型,使硬件开发变得轻量而且高效。

  而现在新版的官网,比之前的感觉更加简洁,UI也有明显提升

 

  这是当时拿到的颜值相当高的Ruff的盒子。作为半吊子设计师来说,我还是相当喜欢的。

  

  这就是Ruff的板子了,大概是Arduino的两倍那么大,比树莓派也还稍微大一点,但还是相当方便的,不虚。

  

  认识了Ruff就开始正经地玩起来了,首先从它的开发过程开始吧。

  跟着官方教程走的话,所有步骤都还是蛮简单的,官方教程的话可以在官网的起步走找到,跟着它一步一步走,就像小孩子学走路一样,开发也变得很简单。

  不过首先要下载Ruff的SDK。 Ruff SDK 根据自己电脑的版本和OS来选就行了,很方便,官网上就可以下载。

  然后在命令行里面输入一下这个命令,确保该装的都搞定了:

   rap --version

  准备工作做好,开始项目。我当时没跟着官方教程做“Hello Ruff”的项目。我当时用到的是温湿度,光亮,大按钮,和蜂鸣器几个设备,所以最先做的是把几个设备的模块从命令行中加入到自己在做的项目(文件夹)中:

 物联网操作系统

  rap是Ruff软件包的一个管理器,所有关于上面用到的几个模块的具体信息都可以在Ruff官网的软件包仓库里面找到。

  选了这些模块的最新版本就可以接着走了。当然也可以跟着官方发布的示例走。

  物联网操作系统

  这就是通过这个命令打开的页面:

  

  照着这个图来接线就差不多可以了,不过也可以自定义接线,在页面上拖拽板子上线条连接的小白点到其他地方连接上就可以了。总之对于当时的我来说真的就是拯救沧桑,不过现在好多了,又打了四场创客马拉松之后现在也有第二名的小成就了,接线姑且还算是过关了吧。

  以上差不多就是硬件这边所有的内容了,下面就是代码部分。

 物联网操作系统

物联网操作系统

物联网操作系统

物联网操作系统

物联网操作系统
 

  硬件和软件部分都说完了,就来说说到底是怎么玩Ruff板子的。

物联网操作系统

物联网操作系统
 

  这就是terminal里面一些当时我的传感器的回馈,无视日期就行了,当时我电脑时间有点问题,没有在时间旅行……

  不过,如果你会更喜欢一些颜值比较高的用户平台的话,可以试试这个,Ruff另一个用起来我很喜欢的特点,就是这个用户平台。连接到板子的热点之后在浏览器里面输入这个IP就行了738.702.12.7,然后你就会看到这样一个界面:

  经过上面过程,最终给大家展示了无人机项目成果:

 

  这里是我们最后创客马拉松产品的样子。整个项目其实是一个用了无人机来检测并预防早期的森林山火的系统。它用了大疆无人机的摄像头每隔十秒传回一张图片,并用Clarifai的API去识别图内任何和火相关词汇的匹配度。

  和其他我们装在无人机上面的传感器和在一起,我们可以比较好地区估计一块区域有火苗/火焰出现的可能性,有的话程序会去通知人类,那么由我们去人工确认山火是否阳性,是的话就借助无人机的机动性四处通知周围人员,如此一来就不用人力监控森林山火,耗时耗力,总体来说是一个便宜不少的解决方案。

  无人机也比其他的监测系统来得要灵活的多,比如说卫星,所以在通知周围人员这个例子上,无人机可以很好地在火源周围做广播。而因为森林火灾如果扩大,会在财产以及人员上会造成极大的损失,所以总体我们还是对自己的提出的解决方案挺满意的,而Ruff在我们快速制作产品原型的过程中则是帮了大忙。这个项目最后进了决赛成了前九,六十个大学队伍里面唯一的只有两个人的高中队伍,作为第一次创客马拉松,还是不错的成绩,同时我们还获得了大疆企业创新奖,拿了个Osmo,总体还是相当开心的。

  说到这,已经把我的Ruff 开发过程回顾了一遍,中间也遇到了一些问题,但是最后的结果还是不错的。这里也总结几小点来供新的开发者来参考

  1.Ruff不是所有设备都有驱动的,但是驱动是可以自己写的,Ruff官方网站也有教程。

  2.上手相当简单,像起步走这种完全是小白的福音

  3.容易上瘾,当有了第一次就想一直开发新的应用

  4.就这次创客马拉松来说我觉得比树莓派方便一点,感觉有一点点像Arduino和树莓派的结合,当然树莓派有其它好处

  5.颜值很高,这是个人的喜好

  6.有两个设备的ID印刷的和软件包仓库里面的不一样,温湿度是“DHT77”,但是设备上印刷的是“DH77”。大按钮是“CK448”,但是设备上印刷的是“CK-448”,所以当时花了点时间去确定。

  小贴士:以上这个问题可以通过查询官网软件包仓库来解决。如果你想了解更多或是有疑问的话,也可以去Ruff官网或者是电子发烧友网论坛与其他创客一起探讨。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分