本文旨在介绍一种创新型的智能物联网科技来帮你管理园林。使用此系统能够消除园林管理的麻烦,并且操作起来十分便捷,它简单易懂,任何人都可以使用它去种植自己想要的植物果蔬。在这个系统的帮助下,主人只需要通过手机和网站接口在室内进行遥控,在它的帮助下,种植这件事是不是变得更加简单,有趣,且互动性强。系统会帮你给植物浇水,施肥,并且确保它们能享受24/7全天候最佳生长环境。你只需要坐回沙发,看着你的植物茁壮成长,相信它们会被好好照看。
系统运用一系列的传感器和执行器为植物创建良好的生长环境,在它们需要的准确时间为它们浇水、施肥。
设置将会和我们手机上的APP和网页应用相连接,因此你可以随时了解植物的生长动态。系统可以追踪监测植物的成长,分析它们的生长过程。你还可以借助系统在植物上做一些商业性的实验。
<strong>一、系统如何工作?</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1942-320714…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1943-647214…; alt=""></center>
此项目包含4个部分:
1、植物生长环境—植物上的一系列传感器和执行器,由英特尔爱迪生控制。爱迪生与云的连接由Node.js伺服器控制。
2、安卓APP和网页应用—控制、监测植物生长数据,进行系统设置。
3、实时云支持后端—爱迪生、手机应用程序和网页通过i.e. Firebase连接到云后端,我们的设计中没有任何中间层,它是一个双层的架构。
4、社交分享—你可以把你的种植经历再社交媒体上分享给你的好友。
<strong>二、特性</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1958-986114…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1959-595614…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1960-164614…; alt=""></center>
英特尔edison将被用来实现数据获取,将从植物及其周边获取的所有数据收集起来,进行处理,再实时地发送给服务器。系统将对环境温度、光照以及湿度等参数进行监测,使用的传感器有光敏传感器、温度传感器、湿度传感器。
我们为系统设置了一个简易的继电器,用它来控制植物周围的光照、水量和温度状况,一旦数据被服务器接收,它会被进一步处理,最后以图表的形式呈现所有参数。
基于浏览器的微型网站和安卓应用程序将包括以下几个部分:
1、监测功能;
2、预置控制;
3、手动设置;
4、分享功能;
5、通知功能;
6、快照。
<strong>你可以用以下两种方式控制系统:</strong>1)自主操作;2)预置
<strong>跟踪进度:</strong>监视植物当前的生长状况和生活条件,以图表形式呈现;
<strong>点击和成长:</strong>只要你告诉程序你希望植物长大,植物就会自动加载编程,为你的植物工厂进行设置。
<strong>分享:</strong>当你按下鸣叫按钮,你就可以把你家小园子的健康和生活状况发布到Twitter账户上去啦。
<strong>报警:</strong>当任何值不在最佳范围内的时候,系统将会报警。
<strong>三、物料准备</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1961-872145…; alt=""></center>
<strong>开发板:</strong>英特尔爱迪生板;
<strong>传感器:</strong>
1、湿度传感器;
2、LM 35温度传感器;
3、光敏传感器;
4、水流传感器;
<strong>执行器:</strong>
1、吹风机;
2、6W RGB LED;
3、马达;
4、USB摄像头;
5、12V 继电器板;
<strong>其他:</strong>
1、桶;
2、植物;
3、管子;
4、剪刀;
5、焊锡枪;
6、胶枪。
<strong>四、传感器和执行器</strong>
<strong>光传感器</strong>
此传感器被用来监测植物周围的光照是否在最佳值范围之内,更有甚者,它还能进行时钟同步,例如日出和日落。它会一直监控着光照情况,一旦发现问题,立刻报警。
<strong>温度传感器</strong>
温度传感器监测植物周围的温度,根据不同的模式,它会调节温度,来效仿植物生长的最佳条件。
<strong>湿度传感器</strong>
显示湿度等级,并触发土壤中的水泵,给植物浇水。
<strong>水流传感器</strong>
它测量水流,基于测量数据提供植物的水流消耗。
<strong>USB摄像头</strong>
我们可以用它来抓拍植物成长过程的照片,做一个记录。
<strong>五、硬件终端</strong>
<strong>英特尔爱迪生是整个系统的核心,它可以完成以下功能:</strong>
1) 收集数据;
2) 执行命令;
3) 拍照;
4) 将数据发送至云;
<strong>技术方面:</strong>
1) Node.js伺服器;
2) OpenCV代码;
3) Arduino草图;
4) MQTT。
注:
① Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
② OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库。本文中的“OpenCV”均指此含义。
<strong>六、软件流程</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1948-360414…; alt=""></center>
在我们的设置当中,客户端应用程序并不会直接与植物进行交流,每一步的处理工作都是通过云来完成,因为只若是将系统与WiFi连接起来,仅仅实现了物联网中的联网。
<strong>Arduino草图</strong>
Arduino的草图实现包含传感器的数据采集和指挥执行的逻辑。客户端使用说明由网站服务器接收,接着使用MQTT协议与Arduino交流。
<strong>什么是MQTT?</strong>
MQTT是MQ Telemetry Transport的缩写,表示MQ遥测传输。它是一种具有发布/提交功能的极轻便的信息协议,此协议专门针对受限设备而设计,适合低带宽、高延迟、网络状况差的情况。设计原则是尽量减少对网络带宽和设备资源的需求,同时试图确保可靠性,并且在一定程度上确保能够发送。这些协议规则在平时的使用中被证明能够使新兴的“机器对机器”的连接变得顺畅,针对移动端应用的带宽和电池电量都有改善作用。
<strong>Node.js伺服器</strong>
Node.js伺服器只能在英特尔爱迪生上运行,它能够实时得和云后端保持连接,设计亮点在于我们为GreenBit系统采取两层架构,而非传统的三层架构。
<strong>Node.js有四项主要职责:</strong>
1) 实现与云的实时连接:此连接使用FireBaseApi实现,Api基本上能让我们对某些参数进行一系列的监控,一旦这些值有任何的变化,系统将会立即发送到客户端;
2) 点击图片上的OpenCV:每当接收到植物“自拍”请求时,Node.js伺服器就执行OpenCV模块,这需要先拍一张照,然后将它以Base64编码格式储存在系统文件中。节点服务器将读取该文件,然后以编码的形式向伺服器传送图像;
3) 每一分钟收取一次记录:以一分钟为节点,系统要求Arduino读取并且将它传送到MQTT上的节点;
4) 调用执行器:从APP上获取请求,例如改变参数或参数值,照相等等,都传达给Arduino。
<strong>七、伺服器代码</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1954-weibia…; alt=""></center>
<strong>八、OpenCV伺服器</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1955-weibia…; alt=""></center>
<strong>九、Arduino草图</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1956-weibia…; alt=""></center>
<strong>十、OpenCV 模块</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1957-weibia…; alt=""></center>
<strong>十一、软件前端</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1949-983714…; alt=""></center>
<strong>技术堆栈</strong>
<strong>1)Ionic:( http://ionicframework.com/)</strong>
ionicionic是一个用来开发混合手机应用的,开源的,免费的代码库,专注于用WEB开发技术,是基于HTML5创建类似于手机平台原生应用的一个开发框架。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序,可以优化html、css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化。
<strong>2)AngularJS(https://angular.io/)</strong>
HTML是一门很好的为静态文本展示设计的声明式语言,但当我们试图用它来制作网络应用动态视图时,它是不能够实现的。AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。由此产生的环境是极富表现力的,可读性强,发展迅速。
<strong>3)Angular Material(https://material.angularjs.org/)</strong>
Angular Material项目是Angular.js中的材料设计,以实现相应功能。这个项目提供了一套基于材料设计系统的可重复使用的、经过严格测试可访问的UI组件。
<strong>十二、软件后端</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1950-402114…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1951-428914…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001364-1952-703514…; alt=""></center>
<strong>技术堆栈:</strong>
<strong>1)FireBase:(https://www.firebase.com/)</strong>
FireBase可以增强您的应用程序的后台,包括数据存储,用户认证,静态托管等。专注于创造非凡的用户体验。
<strong>2)Zapier(https://zapier.com/)</strong>
Zaps(快速切换)使用触发和行动来自动创建。你可以使用实现任何两个支持Zapier应用程序的连接。
<strong>3)数据库</strong>
数据库模式在附件中以照片形式被分享。
<strong>十三、连接</strong>
手机应用程序(https://github.com/shailesh17mar/GreenBit-IONIC)
网页(https://github.com/shailesh17mar/GreenBit)
手机端和网页端的资料和设置都在这两个网址中哦~~~
文章来源:<a href="http://www.iquark.com.cn/news/article/a/253">英特尔quark开发者俱乐部