SFarm开源智慧农场:一个真实的 物联网技术实践场

2021-08-28 10:03谢作如夏青郑祥
中国信息技术教育 2021年15期
关键词:开源创客节点

谢作如 夏青 郑祥

智慧农场项目是玩转物联网的过程中值得全国普及的一个公共项目,谢作如老师找到了一个喜闻乐见的“花花草草”的应用场景,并且提供了相应的“教育公共品”资源,借助这些资源,不同的教师可以从场景的使用者和二次开发者的角度开展不同层次的教学——柔软地改变教育。

● 背景

物联网、人工智能等新技术的应用越来越成熟,并逐步成为中小学信息技术教材中的重要学习内容。但我们也发现,学生在利用各种开源硬件设计物联网应用时,往往停留在原型搭建的阶段,如设计一个智慧停车场或者智能家居的模型,用传感器感知外界的信息,用LED、舵机来演示对“物”的控制。而这些模型都仅仅称为“创客作品”,类似于玩具,不能真实应用于生活。

實际上,物联网应用在生活中已经随处可见,通过手机APP、语音都能够非常方便地控制一些常见的家电。另外,支持物联网的智能门锁、电饭煲、电冰箱等家用电器也越来越普遍。我们有没有办法让学生用物联网技术设计一些真实的应用,如做真实的智能门禁、真实的灯光控制、真实的智能浇花系统?从创客“作品”到创客“产品”的转变,是创客教育发展的下一个阶段。

2020年年底,温州中学的谢作如老师和福建连江五中的卢华军老师发起提议:基于现有的技术和开源硬件,设计一套低成本的、可以部署在学校或者家庭的智慧农场系统,让师生体验用技术去解决真实问题的过程。有了这套平台,可以将物联网技术在校园真实落地,实现精准灌溉、智能灌溉、植物生长数据监测等功能,让学生深刻体会在校园中学到的技术是“真实”的、“有用”的,能够解决生活中的“痛点”。

我们都认为这是一个很不错的建议,因为在很多学校都会有一块小小的植物园供师生开展科学研究或者劳动教育,有些城镇的学校甚至已经利用楼顶空间搭建出各种“都市农场”,开展各种相关课程。开源智慧农场项目是在这些“都市农场”的基础上进行部署,实现了数字监测和控制功能,让传统的农场“智慧”起来。为此,我们给这个项目命名为“SFarm”,其中“S”既指校园,也包含智慧、科学、简易等意思。

● 项目设计的难点及解决方案

SFarm项目首先是一个能够实现智能感知、自动浇灌等基本功能的物联网应用系统。既然定位在开源,那它的核心硬件和电子模块都应该是创客空间中常见的器件,配套的灌溉设备也应该是常见的生活消费品。这一项目的设计要灵活,可以由师生根据学校的具体情况进行DIY。

自动浇花或者智能灌溉,是一个非常经典的创客主题,按理说,在此基础上设计一个智慧农场项目是挺容易的。但经过分析我们发现,一个项目要从作品升级为“产品”,能够真实部署在生活中,其实并不容易。比如,开源智慧农场项目需要考虑并解决如下三大问题:①如何设计布线和施工方案,降低系统的硬件搭建和软件部署方面的技术门槛?②如何保障自主搭建的系统能够安全稳定运行,解决室外的防水、散热和漏电等问题?③如何在开放编程接口的基础上,保持稳定运行,执行最基础的自动浇水功能?对于这些问题,我们经过多次讨论,提出了如下解决方案。

1.采用分布式部署的设计理念

开源智慧农场和目前商用智能家居方案的最大区别在于,其既要关注系统的日常运行,又要开放编程接口,让学生能够参与到系统的每一个技术细节。因而,分布式接入成为最重要的设计理念,即:每一个物联网终端节点都是独立的;所有的终端节点通过物联网服务器建立相互之间的联系,彼此地位都是平等的;无论是数据观察还是设备管理,都要通过接入到物联网服务器,以发送或者订阅消息的方式来实现,如下图所示。

从图中可以看出,SFarm项目主要分解为服务器和终端节点两大类,采用分布式部署的设计理念,每一个节点都能以无线的方式接入智能终端节点。其中每一个终端节点都具有完整的感知和控制功能,因而在每一个节点的部署位置,都需要提供水和电的接口。这样的部署方式看似会造成功能冗余,其实灵活方便,扩展性强,只要有Wi-Fi信号都能部署终端。

2.采用安全电源和防水盒

SFarm项目的安全问题主要可分为人身安全、设备安全和网络安全三个方面,其中人身安全是核心。SFarm项目所采用的开源硬件,都是通过弱电来完成感知和控制,所有的供电均为低于36V安全电压的直流低压电。另外,我们选择了防雨、防水的室外开关电源来供电,同时具有直流12V和直流5V的电流输出。12V电压满足大部分市售低压用电设备的供电要求,如电磁阀、水泵等设备,5V电压则满足给Arduino、掌控板等开源硬件供电的需求。

其次,SFarm项目必定会部署在室外场地,必须解决电路防水、设备防水等安全问题。为避免雨雪天气等环境因素的影响,整个系统需要安装在防水箱中。为了让师生能够直接观看系统的相关设备、体验交互,防水箱的外壳建议采用防水、防火、耐高温、透明材质,并做好外壳通线孔防水设计。设备安全问题中的另一个难点就是电路线路防水问题。因此在线路连接方面,尽量采用有效防水结构的航空防水插头进行连接,确保线路连接的可靠和防水。

网络安全问题虽然也很重要,但毕竟不是重点。一般来说,只要让SFarm项目各个节点连接一个独立的Wi-Fi信号,划分为一个独立的网段,就能确保安全运行。开源智慧农场项目的校内服务器选择SIoT,避免了外网的黑客攻击和木马攻击,因此在网络安全方面也是较为可靠的。

3.设计接口规范和通信协议并提供稳定固件

SFarm项目选择MQTT为物联网协议,我们定义了MQTT的各种技术细节。每一个物联网终端节点(智能终端)叫做“项目”,项目名称为“sf”加局域网IP地址的尾号;智能终端上的每一个传感器和执行器,叫做“设备”,设备名称为农场中常用的传感器或者控制器名称,如light(光照)、soil(土壤湿度)、relay(继电器或者电磁阀)等。每一个设备得到一个唯一的TopicID,即“项目名/设备名”,如“sf88/light”表示名称为“sf88”的项目上的光线传感器模块。SFarm还规定了智能终端上不同类型的模块,分别连接的引脚、接线规范和TopicID定义如下表所示。

按照接口和协议的规范,我们提供了虚谷号、树莓派、Arduino等常见开源硬件的固件(代码)。师生只要按照接口规范连接硬件,然后将烧录运行相应的固件或者代码,这套系统就能正常运行。

● 项目实施过程和反馈

SFarm项目从2021年1月开始设计。方案定型后,福建连江五中的卢华军老师率先在校园中实施部署。施工过程简述如下。

1.准备工作

首先,校园中准备部署物联网终端(智能浇灌设备)的地方,都预留好水电接口。其中水管提供4分的内牙接口,可接三角阀,电源则留防水插座即可。基于安全考虑,所有的水电都有独立的带漏电保护的电源开关和三角阀。

2.搭建步骤

(1)配置服務器

SFarm推荐SIoT为物联网服务器。SIoT支持多种操作系统,可以运行在Windows、Linux和MacOS等系统,几乎任何一台电脑都作为服务器。本项目则选择了拿铁熊猫作为服务器。

(2)配置智能终端

SFarm使用虚谷号作为物联网终端控制器,配置Wi-Fi信息,并且上传程序,配置为开机启动。当然,树莓派、香蕉派或者掌控板都可以作为终端控制器提供稳定的程序。

(3)连接硬件模块

将扩展板、光线传感器、土壤湿度传感器、继电器、电磁阀等模块按照规范连接在虚谷号上。其中光线传感器接A0,土壤湿度传感器接A1,继电器模块接D2。土壤湿度传感器则要插到泥土里,露出头部即可。

3.调试运行

(1)系统测试

虚谷号上电后,观察SIoT服务器的设备是否收到数据(设备名为“light”和“soil”),然后给“relay”设备(如“sf01/relay”)发送信息“1”,观察继电器模块是否闭合。我们选择的继电器模块上有LED指示灯,调试起来比较方便。

(2)电磁阀测试

系统测试正常后,电磁阀接上水管,然后打开三角阀,再次测试。重点检查连接处是否有漏水现象。然后给“继电器”设备(如“sf88/relay”)发送信息“1”,观察是否能够正常出水。

本项目实施后,运行状态良好。所有的传感器数据汇总到SIoT服务器,并实时存储;物联网终端能够实时响应“浇水”指令,也能在缺水的情况下自动浇水。谢作如老师还使用Remi库,写了一个基于Web的设备控制页面,操作非常方便。具体过程请参考本刊2021年第4、5期本栏目文章。

● 项目的教育应用

SFarm项目是一个稳定、可靠、简单易用的物联网项目平台,从智能感知到自动控制,能够演示典型的物联网功能。它既是智慧校园中的一个重要组成部分,又是一个教学演示工具。除了用于物联网教学外,SFarm项目还可以结合其他教育理念,衍生出许多有趣的教育应用。

1.结合STEM教育

STEM教育鼓励多学科、跨学科的融合教学,旨在鼓励学生综合运用各学科知识,如中小学科学课中涉及的植物生长数据、环境温湿度、水的质量等探究活动,都需要通过数据的监测来进行深入研究,让学生直观地感受课程的魅力和趣味。中小学数学课则更加关注数据的统计、归纳等知识的应用。中小学劳动技术课程旨在注重学生的实践操作,强调学生的“做中学、玩中学”,在动手实践中学习新的知识技能形成新的知识联结。SFarm项目则刚好能够将中小学各个学科的知识技能巧妙地结合在一起,成为一个重要的纽带,将各种活动联接起来,实施STEM教育。尤其是SIoT收集的真实数据,可以用于各种数据探究活动,验证各种猜想。

2.结合人工智能教育

传统的人工智能课程往往忽视了人机交互,既不够有趣,也不能解决真实的问题。结合SFarm项目,很多人工智能的模式识别技术,就有了具体的实际意义,如学生可以利用语音识别技术,用语音控制SFarm项目中某个终端节点的浇水,甚至可以应用人脸识别技术,设置当某个特定的人(如农场管理员)出现并微笑时,就能自动浇水。当然,利用终端节点采集的数据,结合特定的植物生活习性,然后进行个性化的浇灌,不仅仅体现了人工智能,也涵盖了很多学科的知识。

● 项目展望

SFarm项目是以“智慧农场”为主题的物联网应用。一开始,我们并没有太多的想法,仅仅是觉得有必要让开源硬件和物联网技术结合去真实解决一些生活问题,设计出一些接近于消费级产品的作品。当方案设计出来并开始应用实施后,得到很多教育同行的反馈,并逐步有了更多的思考。

首先,SFarm项目是一个典型的物联网应用,以这一项目为模板,只要更换相应的传感器和执行器,就能改造出其他的物联网项目。例如,将终端节点的传感器换成气象传感器,如辐射、风向、风速等,这就成了一个气象监测项目,实现校园内的天气情况、空气温湿度、空气质量、风速风向等数据的监测。又如,将终端节点的电磁阀换成门禁系统的电磁锁,这就成了一个智能门禁系统。再如,终端节点的电磁阀换成门禁系统的道闸,加上一个摄像头,就能做出一个智能停车系统。

其次,我们希望能够设计一个数据分享的机制,让各地各校的农场数据共享起来。借助这个数据分享平台,不同地区的学生可以相互交流项目,了解不同地域的植物生长,进行长期的异地交流学习,增长学生的见识。那么,这一开源项目就能够通过互联网,形成一个巨大的学习空间。将来,我们甚至可以想象,有的学校安装智能机械臂进行采收,部署无人机进行巡视等科技胜景。那么,这个智慧农场就真正成为一个学生用来实践各种新技术的场所。

● 结语

目前,Sfarm项目已经在Github和Gitee上开源,智能终端的代码也提供了掌控板和虚谷号两种。通过这个项目的成功设计和运维,我们都觉得颇有收获,尤其是用事实证明了创客空间中的各种技术,是能够真正用来改造生活的。正如吴俊杰和谢作如两位老师所说:“消费者有能力用电脑设计自己想要的产品,用个性化的制造工具把物品制造出来反复测试达到优化,免费分享到网络上开源供他人修改,通过连续的创新打造个人的生活圈子来回馈个性化的生产和生活。”

我们期望通过开源的方式,吸引更多的学校参与到开源智慧农场项目的建设中来。创客空间中的各种工具和器材,是能够创造万物的,不是用来参观的。在创客教师的带领下,每一个学生都能用造物的方式改变生活,让这个世界更加美好。

猜你喜欢
开源创客节点
校园武术“学、练、赛”一体化实践探索
基于移动汇聚节点和分簇的改进节能路由算法
CAE软件操作小百科(48)
五毛钱能买多少头牛
2019(第十四届)开源中国开源世界
2019开源杰出贡献奖
基于点权的混合K-shell关键节点识别方法
校园创客交流平台的设计与实现
创客,你是什么段位?
创客时代