曾经接到一个项目,甲方是一所高等职业技术学校。学校有物联网专业,为了提高学生对物联网实际用途的认识,学校希望建立一套实验课程,学生通过操作自己的手机就可以远程启动和关闭家里的电器设备,例如电饭锅,电风扇等。电器设备放在学校的实验室里,等同于放在家里。甲方提出的项目完成时间只有1个月,这么短的时间如果没有相关经验一般的公司是不敢接的,最终我司顺利战胜其它竞争对手拿下了项目,并在1个月后完成了项目部署。
对项目需求进行分析:
1、要求手机端操作。有人会说要么写成Android app或IOS app,要么写成小程序。其实我们采用的方案比这些都简单,我们用的是H5页面。不仅可以手机上操作,还可以在PC上操作。
2、实时性要求。这就要求从服务器到终端到硬件,必须保持长链接。NBIOT、MQTT等都不适合。
3、安全性要求。能远程控制家里的电器,这肯定对安全性要求非常高,必须保证链路安全性,必须有身份验证。
4、硬件选型。肯定要用继电器,此前在项目中用到过WIFI继电器,它避免了有线的麻烦。其它硬件包括无线路由器。
5、终端要求。因为只是学校的实验室,随便找几台电脑然后安装Windows就可以了,如果是工业级或军用级才会选择Linux系统的电脑。
6、服务器。考虑到同一时间手机端访问系统不超过50个,随便一个云计算服务商,买个2核4GB4M带宽足够用了,其实配置还可以更低,但价格差不多没必要。
说到这该主角登场了,正因为有了它才能轻松实现整个项目的需求,它就是“物联网透传工具”。最近1年一直在项目中使用它,利用它使这个项目80%的工作量省掉了。以下是部署情况:
1、服务端(云计算):安装JDK,mysql,redis。上传并启动1个“负载均衡程序”和1个“业务请求处理程序”。
2、终端:每个实验室放置1台普通台式机,安装windows 10系统。安装“物联网透传工具”的windows客户端,配置license,设置自启动。
3、其它硬件:每个实验室放置1个无线路由器和10个WIFI继电器,每个继电器和1个电源插座相连接。实验时将电饭锅或电风扇的电源插到插座上就可以了。
4、手机端:从“物联网透传工具”官方网站下载基于HTML5+Javascript的demo程序文件。原本这些demo程序是要求用户自行填写控制终端的二进制指令,而本项目甲方只要求学生能通过手机开启和关闭电器,于是将控制WIFI继电器的指令写死在程序文件中。修改程序文件后将文件上传到服务器,安装一个nginx就可以了,作为http server。
实测结果:无论是在实验室里还是远在任何地方,只要拿出手机打开网页,启动和关闭家里的电器都是实时的,毫无延迟。对于学生来说能够亲身感受到物联网对生活的积极意义,也能够一定程度上学习到物联网的实现原理。相比较有些同样级别的学校搭建的物联网实验室,只是采购了市面上销售的家用电器,学生根本不了解内部实现原理。从这点来看甲方算是优秀的高等职业技术学校了。