回覆列表
  • 1 # 物聯創客

    一句話答案: 利用Socket協議來實現資料互通!

    這個問題想要講解清楚比較複雜, 我們來嘗試用盡量簡單的方式來闡述

    要弄懂這個問題, 我們需要具備一些基本知識:

    - Socket協議

    - 網路通訊知識

    - Arduino相關知識

    - Wifi工作原理

    先上一個原理圖

    準備材料:

    - 無線路由AP, 負責提供網路和Wifi訊號

    - 電腦一臺, 負責充當Socket服務

    - Arduino+Wifi模組

    第一步: 在電腦上建立Socket服務

    在電腦上建立Socket的方式有很多: 用程式自己寫一個 / 用現成的軟體模擬一個

    可以同時開2個軟體來測試, 一個建立Socket服務, 另一個建議Socket Client

    就可以相互通訊了, 確認Socket服務可用後, 可以關掉一個, 只留下負責Socket服務的那個, 等待Arduino的Wifi來連線

    第二步: 準備Arduino+Wifi模組硬體電路

    電路大概是這個樣子的

    一塊標準的Arduino板子, 透過數字口(模擬串列埠)與Wifi模組的串列埠連線

    電路就大搭建完成了

    第三步: Arduino程式設計實現

    - 流程實現

    初始化軟串列埠 > 根據Wifi的SSID和密碼連線上無線路由 > 透過Socket方式連線電腦(所在IP)的Socket服務 > 傳送資料 > 接收資料 > 完成

    - 程式碼參考

    小結: - 需要電腦提供Socket服務 - Arduino驅動Wifi模組 - 利用Socket協議建議Arduino與電腦的連線 - 電腦和Arduino要在同一個網路內(或可互相訪問的IP段內)

    達成以上條件, Arduino和電腦就可以利用Wifi資料互通了

  • 2 # 蟻哥愛科技

    最近在做一個專案用到了Esp8266模組,這是一個輕量級的wifi晶片,能夠實現wifi收發資料。

    令人興奮的是,Esp8266本身也能夠用Arduino ide來進行開發了。

    不管是哪種控制方式,Arduino和電腦透過wifi資料互通一共有三種方式,直連,區域網,因特網。

    第一種 直連

    這種方式需要電腦配有wifi模組,跟Arduino端的wifi模組直接進行資料通訓。這種方式類似於兩臺手機之間藍芽通訊。把Arduino端的wifi作為AP來使用。

    第二種 區域網

    這種方式要把電腦和Arduino連入同一個網段,常見的方式是接入同一個路由器,然後透過http協議交換資料。還有一種做法就是在區域網建立一個伺服器,電腦和Arduino都作為客戶端,透過這個伺服器進行資料交換。

    第三種 因特網

    透過因特網,就可以實現電腦和Arduino的遠端交換資料。沒有了地域的限制,只要有wifi路由器即可聯網工作。這種情況需要搭建一個連入因特網的伺服器,資料都要透過這個伺服器,實現遠端控制。很多智慧家居就是這樣工作的。

  • 中秋節和大豐收的關聯?
  • 為什麼如今沒有評分為10的電影?