創(chuàng)建一個(gè)能夠進(jìn)行現(xiàn)場(chǎng)操作的小型機(jī)器人
該項(xiàng)目的基本思路是創(chuàng)建一個(gè)能夠進(jìn)行現(xiàn)場(chǎng)操作的小型機(jī)器人,甚至是一個(gè)基于微控制器的非常簡(jiǎn)單的BBS(公告板系統(tǒng))。這個(gè)項(xiàng)目也在github上(跟蹤更新)
我們需要:
?meshtastic radio(我使用的是XIAO ESP32S3 & Wio-SX1262 meshtastic & LoRa套件)
?第二個(gè)發(fā)送數(shù)據(jù)的無(wú)線電(與手機(jī)配對(duì))我將使用Seeed的T1000E
?一個(gè)微控制器(我使用另一個(gè)小ESP32S3接收來(lái)自Meshtastic Radio的protobuf數(shù)據(jù)并做事情)
?電壓變換器
?一個(gè)開(kāi)關(guān)
軟件方面,我們使用:
?神奇的網(wǎng)頁(yè)閃光器
?meshtastic控制臺(tái)
?帶有ESP32內(nèi)核的Arduino IDE
?Meshtastic的Arduino Protobuf庫(kù)
1)閃爍無(wú)線電n°1
訪問(wèn)meshtastic web flash并按照說(shuō)明操作。
2)配置無(wú)線
雖然你可以繼續(xù)使用Android或iOS應(yīng)用程序,但我將堅(jiān)持使用meshtastic主機(jī)。我們將定義它的串行引腳(基于Xiao的引腳映射)并啟用protobuf通信。
由于我使用的是Xiao Grove Shields,我也分享了這個(gè)有用的引腳映射圖像。
重要提示:當(dāng)您參考Meshtastic設(shè)置中的引腳時(shí),請(qǐng)始終參考ESP32S3命名(GPIO01, GIPO02, GPIO44等…),當(dāng)使用Arduino IDE和seeds庫(kù)引用它們時(shí),請(qǐng)使用seeds命名)。
3)使用另一個(gè)小的Protobuf監(jiān)聽(tīng)串口
讓我們這樣把兩塊板連接起來(lái)。重要的是TX要轉(zhuǎn)到RX,反之亦然。暫時(shí)不要連接3V3。
為了有串行通信的電纜,我改變了一個(gè)grove連接器,使其可以將TX更改為RX,反之亦然。
在安裝了Meshtastic Protobuf庫(kù)之后,我們可以運(yùn)行這段代碼來(lái)讀取通過(guò)串行端口傳遞的數(shù)據(jù),并讀取串行端口中接收到的所有節(jié)點(diǎn)。不要擔(dān)心:我們將微調(diào)這段代碼,以便做更少的事情。
4) Meshbot基本任務(wù):機(jī)器人結(jié)構(gòu)。
假設(shè)我們想讓bot對(duì)4個(gè)命令做出反應(yīng):/help, /servo, /red, /temp
?“/help”會(huì)回復(fù)所有的信息
?“/servo”將觸發(fā)一些微伺服運(yùn)動(dòng)
?“/red”將觸發(fā)Chainable LED
?“/temp”將回答從Grove DHT20感知到的溫度和濕度
在這個(gè)場(chǎng)景中,您應(yīng)該能夠通過(guò)接收到的任何命令觸發(fā)這些狀態(tài)。顯然,我們可以通過(guò)指定要服從哪個(gè)通道或發(fā)送方來(lái)保護(hù)我們的系統(tǒng)。
請(qǐng)測(cè)試所有的傳感器和執(zhí)行器,現(xiàn)在讓我們總結(jié)代碼。
這是Meshbot v0.1的最終版本!
本文編譯自hackster.io