物联网采控系统【第二届立创商城电子制作节作品】
multisim吧
全部回复
仅看楼主
level 8
一、作品简介
现在的物联网设备品种太多,如果要把各类的协议标准起来也不可能,例如MODBUS也只是标准了协议,并没标准协议内的有效数据。这样就会使各个厂家有各自的软件。如果自家用了5家的设备,那么最终你想控制这些设备要来回切换,不麻烦吗?例如:为了使用更加方便,买同一个牌子的设备,实际上有些我并不是很喜欢,只是能凑合罢了。
用这个网关就是集成各种厂家的数据,最终给用户的只是一个界面,这样用户体验更加清爽,舒适。同时还可以把古老的设备,没有接入互联网功能的设备让它联网!成为一个互联网设备。让数据集中管理,用户单一管理,效率更高更实用。
需要详细资料下载的看原贴:http://club.szlcsc.com/article/details_6695_1.html
二、系统构架图
网关与服务器通信架构图:
网关与节点的通信架构图:
三、硬件部分的描述
网关原理图:
网关PCB实物图,手工焊接了2张,WIFI是预留了接口,ESP-08
PC远程控制软件
四、材料清单(BOM列表)
MCU:
STM32F205
存储:
W25Q64 & TF
无线通信:
RA-01/02 & NRF24L01P & ESP8266(预留接口)
有线通信:
RS232/485
RTC:
PCF8563T
传感器:
BH1750FVI
SHT211
DS18B20
MQ-135/MQ-2
DCDC:
MP2451
LDO:
ME6210
所有元器件都是常用你的,除了模块,其他的立创都有。模块想必每个人呢都见过了吧,都是行业大佬出的模块。
五、软件部分的描述
硬件介绍:
LORA(Aithink RA-01):
选取LORA的原因是,针对于物联网行业,越来越多的设备选择它是因为距离比较远,但是缺点也没见几个人说,那就是距离远,传输速率慢!传输时间长!(20dbm的功率,9600
bp
s的速率,空旷距离1km左右)。LORA应用,对于数据量小,使用环境复杂的情况使用还不错。对于智能家居这一块使用我个人觉得还不错,因为在家里面,几乎全是墙壁,如果用zigbee,会涉及到非常多的路由,如果链路断掉,很定位问题点。对于这种环境,看好LORAWAN,顺带吐槽下,目前LORAWAN的开发设备套件太JB贵了!!!!
选择理由:距离远,未来主流
NRF24L01P(PA+LNA):
这款搞这行电子的应该都知道了吧,现在很多无线通信设备、传感器都是用它做无线,甚至国内还有这款的SOC。所以可以挂载很多不同厂家的传感器,知道对方的协议即可。
NRF24L01P,传输速率比LORA快N倍,但说【入网】这个流程那是ms级别。LORA那是 百ms级别,但是缺点就是无线绕射性能不怎么好,传输直线距离还不错,但是曲线,有障碍物这种情况距离大大衰减。
W25Q64:
这款华邦的SPI FLASH,只要用过SPI FLASH 的工程师应该第一款就用的这类吧。
W5500:
对于以太网而言,要么跑协议栈,要么就用硬件,再要么上高逼格linux(自带)。我这里选取的是W5500,因为主办方要求用STM芯片,其次跑通协议栈很简单,搞稳定协议栈不简单!!所以,为了项目进度、稳定所以选取了W5500。
芯片支持8个socket,1个用于通信,1个用于UDP(本地配置参数用,广播),1个DNS,预留1个TCP SERVER做网页。
目前使用中还是很稳定,用W5500官方的栈分分钟钟搞定,比较稳定。
提示:在我使用中发现socket刚连接上就发送数据,会返回成功,但是服务器并没收到数据。解决方法:链接上socket后,延时300ms(随便延时的)再发送。
选择理由:开发简单,大大缩短了开发时间,芯片使用也很稳定。
ESP8622:
出货量相当惊人的WIFI模块,所以必须得兼容,现在很多智能家居都是用的它采集控制的。不过同是在一个局域网,依然可以通过W5500控制那些WIFI设备。暂时预留着,后续使用。不过有网线的地方还是建议用以太网,WIFI的稳定性受自身以及路由器的影响,会导致产品体验感不受控制,掉线了是设备问题还是路由器问题呢?
RS232/485:
古老且标准的通信方式,必须兼容。打印机、传感器啥的几乎都有这个东西,所以必须兼容。如果家里有一台传统的打印机,想要改造成互联网打印,所以这就派上用场了,拨接协议,直接远程通信打印就搞定了!
硬件设计采用了全隔离方式(信号+电源),保证主控不会受影响。毕竟外接什么设备是unknow的。
选择理由:地球标准,兼容新旧设备
USB:
采用USB HID方式进行通信,目前下位机已经完成,上位机还没写完.....。后续继续!
为什么采用HID方式? -->> 免驱!!!
打开上位机,插上设备即可完成通信多么好,虽然速率不高,但是满足配置以及读取信息足矣了!
如果虚拟串口,那么你打开的是串口几呢?还要去选择,很麻烦的。体验感太差劲了。
选择理由:仅需要一根USB Micro 数据线(大部分安卓手机标配)即可。
TF:
目前是预留了TF卡,是为了用做长期的大量历史数据存储。通信接口是SDIO方式,硬件已经完善,软件还没有调试。目前使用W25Q64来存储历史数据。
选择理由:地球标准大容量储存卡
RTC:
RTC选取的是一款比较常用的型号PCF8563T,同时配上了一颗充电电池作为RTC备用电源。这颗芯片通信方式采用常用的IIC,很方便操作。
选择理由:操作简单!稳定!
六、总结
由于时间关系,只做了PC端演示程序,但是协议都是零活的,后续会完善B端展示。无论是http,ws,socket,有效数据里面的数据协议均是一样,这样就让整套系统更加容易管理。
服务器用的linux + php + workerman + mosquito + mysql + nginx搭建。支持长连接,高并发!针对于嵌入式物联网设备。
服务器目前完成了:用户登陆+数据解析+数据存储+远程升级 + 远程控制等,后续继续完善B端,这样就方便于手机操控,同时绑定在微信里面就更易用了。
2018年01月15日 09点01分 1
1