如今若是想要實現物聯網通訊,須要解決的就是下位機與上位機的通訊!編程
而通訊協議上下位機一般就是Can協議或modbus等協議,而在實際組網過程當中各類協議不免會出現擴展下位機個數的限制。網絡
就像modbus協議,下位機最多能拖32個設備,特殊狀況能拖256個設備,因此這就給實際的捂臉網設備的擴展帶來的很大的侷限。socket
因此,爲了解決這樣的問題有一種比較簡單的方法。在不改變下位機的狀況下,基本思路就是:測試
一、下位機正常使用不一樣的協議,如modbus—rtu,由於其使用的是串口進行通訊,因此須要給下位機搭建串口通訊的環境(達到不改變原有設備的基礎!這一點比較重要)線程
二、通訊協議:通訊協議最好可以不進行變化,這就須要進行有A到B再到A。orm
三、上位機:若是實際當中鏈接串口也何嘗不可,可是上位機串口資源是有限的,並且串口資源一旦斷開,若是上位機程序單線程,容易直接卡死程序,須要從新釋放串口資源,點很差的時候須要從新啓動計算 機,很鬱悶的。server
四、通訊轉換:如今最成熟的通訊協議非TCp/IP和UDP莫屬了,一個面向有鏈接,一個面向無鏈接,各有千秋。將網絡通訊協議轉化成串口形式的通訊,多好!!這裏在C# Winform編程中socket就給提供了很大 的方便。由於組網方便,通訊穩定,在實驗使用過程當中能夠測試丟包率看一下。資源
五、硬件解決:Ti公司的CC3200這款芯片仍是很給力的,支持TCP server UDP Server等,重點是支持透傳,什麼意思呢?就是說你上位機和芯片通訊是TCP等,而芯片將獲得的數據轉移到片上Uart上,因此,下位機只須要將通訊線掛到Uart資源上就好了!form
六、socket同時能夠通訊的資源足夠組網,下位機經過485再掛32個設備,解決起來仍是很爽的!給出了一種解決方案!基礎
本人小菜鳥一枚,本文禁止轉載!如要轉載,標明出處!謝謝!