物联网

这好像是今后一个影响我们日常生活的伟大东西。最近一直在想一个问题,如何低成本简单的实现物联网数据的采集及简易显示。

我的构思是这样的,首先,传感器的数据采集。最基本的数据节点。我考虑了工业上最广泛的协议,Modbus,但这是一个应答、回复的协议,数据之间的传输需要服务器去主动获取。适合小范围数据的采集。但如果有很多零散的设备时,数据都需要服务器主动获取效率可能不太好。这就需要传感器主动发送数据到服务器。就不是适用于modbus了。json是一个轻量级的交换协议,也许不错。

数据传输后,需要后台处理,当然很多不错的平台都可以做,可是我不会,又有什么办法呢?我一直在想,既然是互联网,为何不用web呢?PHP就是一个web开发的好语言,为什么不能用呢?所以,服务器上用php监听一个数据端口,然后根据设备的数据进行处理,再以适当的方式处理,呈现,不就可以了么?php做socks应该很容易,但并发怎么处理?swoole已经解决了这个问题,并行、异步、高性能。

数据的后台处理,用PHP完全是没有问题的。那么数据的呈现应该怎么做呢?这可是我最不擅长的部分。考虑了很多,有地图的方式显示数据的方法,如Open layers地图引擎、raphael.js引擎等都是很好的显示引擎,但是好像还是不太合适。又突然想到游戏是怎么做的?那么绚丽的特效技术如果只用其皮毛就可以显示我想要的效果了!果然很多这方面优秀的引擎非常多!如cocos2d、白鹭引擎等搞些绚丽的显示没有问题。

所以我目前的思路是,现场用单片机采集一些数据,用modbus协议传输给服务器后用php进行解析处理得到数据。或者是用scada软件采集modbus后经过软件转发数据到服务器,得到的数据可以全在web上处理。(使用wincc采集的数据使用socks发送的话,采用vbs的方式发送如何实现?ChilkatAx也许很方便。)

数据的呈现使用游戏引擎显示出HMI画面。

当然一些数据的处理可以使用微信等技术通知到一些人,使用的场景应该还是存在的。

现场单片机的方案。STC单片机为MCU、DS18B20为温度传感器、网络模块将数据发送。

服务器使用modbus解析,或者json解析。

从基础开始学习,让我实现它吧!

此条目发表在随手杂记分类目录。将固定链接加入收藏夹。