前言:
在
上一篇講到基本的硬體通訊協定與遙控器製作,這篇要來講wifi通訊與馬達驅動。
回顧一下成品:
車車材料
- ESP8266
- L298N (Mini版)
- 9v電池
- 車子底座 (這邊是用2輪+1個萬向輪)
- GY-85 (非必要,因為本專題最終要透過wifi動態監控車子的行駛狀況)
- 繼電器 (非必要,管理馬達電源供應)
Wifi 通訊
Wifi主要可以分成兩種模式:AP與STA。簡單來說AP會自己形成一個WLAN(無線區域網路,Wireless LAN),允許其他設備加入;而STA設備只能加入網路,無法自己形成一個WLAN。
因此本系統溝通架構如下圖,由遙控手把擔任AP,車車則會依SSID自動連上去。由於STA在連上AP時是自動賦予子ip位置的,因此AP與STA的溝通是透過廣播來進行。
延伸閱讀[
1]:IEEE 802.11 infrastructure 模式。
設定為AP
詳細參數設定可見文獻[2]。程式參考[3]做修改,不太確定為什麼需要架設DNS就是了(我猜他是把DNS當gateway用)。
架設成功就可以在區域網路上搜索到該SSID:
下載UDP監控app就可以收發訊息:
設定為STA
語法差不多,簡化了一點。
傳遞結構化資料
將資料結構化會比較方便使用,然而wifi範例只教我們如何傳遞純文字資訊。我耗了一點時間終於嘗試出結構化的傳遞方式。
現在我們要傳遞上一篇的JoyStick的資訊給車車,首先定義結構與buffer大小:
傳送:
接收: