标签:
现在如果想要实现物联网通信,需要解决的就是下位机与上位机的通信!
而通信协议上下位机通常就是Can协议或modbus等协议,而在实际组网过程中各种协议难免会出现扩展下位机个数的限制。
就像modbus协议,下位机最多能拖32个设备,特殊情况能拖256个设备,所以这就给实际的捂脸网设备的扩展带来的很大的局限。
所以,为了解决这样的问题有一种比较简单的方法。在不改变下位机的情况下,基本思路就是:
1、下位机正常使用不同的协议,如modbus—rtu,因为其使用的是串口进行通信,所以需要给下位机搭建串口通信的环境(达到不改变原有设备的基础!这一点比较重要)
2、通信协议:通信协议最好能够不进行变化,这就需要进行有A到B再到A。
3、上位机:如果实际当中连接串口也未尝不可,但是上位机串口资源是有限的,而且串口资源一旦断开,如果上位机程序单线程,容易直接卡死程序,需要重新释放串口资源,点不好的时候需要重新启动计算 机,很郁闷的。
4、通信转换:现在最成熟的通信协议非TCp/IP和UDP莫属了,一个面向有连接,一个面向无连接,各有千秋。将网络通信协议转化成串口形式的通信,多好!!这里在C# Winform编程中socket就给提供了很大 的方便。因为组网方便,通信稳定,在实验使用过程中可以测试丢包率看一下。
5、硬件解决:Ti公司的CC3200这款芯片还是很给力的,支持TCP server UDP Server等,重点是支持透传,什么意思呢?就是说你上位机和芯片通信是TCP等,而芯片将得到的数据转移到片上Uart上,所以,下位机只需要将通信线挂到Uart资源上就行了!
6、socket同时可以通信的资源足够组网,下位机通过485再挂32个设备,解决起来还是很爽的!给出了一种解决方案!
本人小菜鸟一枚,本文禁止转载!如要转载,标明出处!谢谢!
标签:
原文地址:http://www.cnblogs.com/xc2444/p/5561770.html