物联网分为两方面环境监测和设备控制;环境监测方面主要通过传感器获得数据。 传感器大都会采用RS485通讯,可以通过转接头连接电脑上进行调试。
也可以连接DTU,通过TCP/UDP协议或者mqtt协议将数据连接到TCP服务器或者MQTT服务器上;
而设备控制也可以通过协议发送指令给控制设备,控制设备根据指令执行相应的操作。
1.选择环境
php+linux+Nginx+mysql+influxdb
php 是基础环境,可以选择框架开发,我采用的是laravel;
linux 是服务器环境,服务器由于面向的是传感器数据的采集,所以写入的量会比读出的量,在选择配置是针对业务量进行选择;
nginx 是一个高性能的HTTP和反向代理web服务器,并发量大时要比Apache要更合适;
influxdb是时序数据库,将传感器数据存放到influxdb(时序数据库)中;
mysql是关系型数据,将基础信息及其他非时序类的数据存放在mysql中;
emq是mqtt协议的服务器,用了进行数据的中转;
swoole 在mqtt中可以用swoole做客户端订阅者,在tcp协议中构建tcp服务器方便传感器的请求;
2.认清协议
mqtt协议