要將nunchuk粘貼到Wifi,我們使用了Arduino。該代碼是針對Arduino Mega的,因此我們可以有兩個串行端口(Rx和Tx引腳),一個用于對Arduino編程,而另一個用于Wifi(ESP8266)。這是一種非常簡單的方法。
在最終產(chǎn)品中,您可以將ESP8266分別連接到任何Arduino上的Tx和Rx,例如UNO或低成本的Pro Mini(請確保正確地插入新產(chǎn)品中的針腳)碼)。但是,這樣做有點嚇人,因為您可能會使Arduino無法從USB端口訪問以進行重新編程,因為程序在運行時將接管編程端口。有一些軟件串行庫會使用其他數(shù)字引腳作為Tx和Rx,但它們可能無法以ESP8266的速度運行。有些人對ESP8266進行了重新編程,使其以較低的速度運行,但這對初學(xué)者來說是一個挑戰(zhàn)。使用MEGA或具有多個Hardware Tx Rx端口的任何Arduino都可以輕松做到這一點。
這種更復(fù)雜方法的一個很好的例子是:
https://www。 Instructionsables.com/id/ESP8266-Wifi-Temperature-Logger/
步驟2:連接ESP8266 Wifi模塊
有有很多網(wǎng)站向您展示如何連接ESP8266。我們選擇如下圖所示進行連接。顏色代碼如下:
紅色=電源3.3 V
黑色= GND 0V
棕色= 3.3V(啟用芯片)
白色=轉(zhuǎn)到MEGA上的RX1(是ESP8266 TX)
灰色=指向MEGA上的TX1(是ESP8266 RX)
Step 3:連接雙節(jié)棍
您可以購買可以在面包板上訪問雙節(jié)棍銷的插頭,但是如果您手邊沒有這些插頭,您可以通過將跨接線插入主插頭孔旁每個插針的插槽中,輕松地進行連接。雙節(jié)棍使用i2c通信,并且大多數(shù)Arduino都內(nèi)置有i2c總線。只需按圖所示連接電源即可。雙節(jié)棍可以在3.3v或5v電壓下工作,因此無論您使用哪個電壓都無關(guān)緊要。將SDA連接到模擬引腳4,將SCK連接到模擬引腳5,或者,如果您使用的是Arduino Mega,請將SDA和SCK連接到Mega的相應(yīng)端口。
請注意,只有Nintendo品牌雙節(jié)棍才有效。不要購買非品牌的雙節(jié)棍!
步驟4:設(shè)置服務(wù)器
我們在達勒姆(Durham)的朋友Shaw Terwilliger Splatspace Maker Space編寫了一個非常不錯的Python程序,該程序?qū)C變成ESP8266s或任何互聯(lián)網(wǎng)設(shè)備的中繼,可以相當(dāng)安全地相互通信。該程序的作用是讓兩個或多個ascii串行通信設(shè)備登錄到運行該代碼的PC。如果他們使用相同的端口,即192.168.1.132:54321,并從發(fā)送相同的字符串“例如,任何ascii字符串”開始。之后,任何發(fā)送到PC的內(nèi)容都將轉(zhuǎn)發(fā)給其他人。
Shaw已將代碼放置在Github網(wǎng)站上,并從此處的版本開始對其進行了更新。此指令中發(fā)布的代碼是我們使用的版本。您必須在計算機上安裝Python 2.7才能運行該程序。它在終端窗口中運行,并在建立和刪除鏈接時報告所有活動。
我們使用Windows上的Putty之類的telnet程序?qū)ζ溥M行了測試。該程序允許兩個telnet會話相互通信,就像ESP8266一樣。
https://github.com/splatspace/esprelay/
步驟5 :設(shè)置接收ESP8266
此處的圖和照片顯示了我們?nèi)绾芜B接接收ESP8266。此設(shè)置用于診斷ESP是否正確接收。我們使用FTD芯片模塊將串行數(shù)據(jù)連接到USB端口,以便可以使用計算機上的終端程序?qū)ζ溥M行檢查。
由于我們的FTDI模塊沒有非常強大的電源,因此無法始終運行ESP8266。由于ESP8266似乎可以正常工作,但仍會造成一些混亂,因此會不斷重置。添加電源,如圖所示的LiPo升壓電路,可以解決此問題并使接收器電池工作!
如果您希望使用控制器來控制某些東西,則可以用諸如Arduino,并解釋nunchuk數(shù)據(jù)以控制任何東西。如果您非常精明,可以對ESP8266重新編程以執(zhí)行所需的任務(wù)。它具有GPIO端口,可以通過Arduino IDE進行編程。
步驟6:在Windows上通過終端接收數(shù)據(jù)
在PC上,我們使用YAT終端程序查看了雙節(jié)棍的串行字符串已到達。
要設(shè)置ESP8266,請輸入以下命令:
AT + RST
AT + CWJAP =“您的Wifi的SSID”,“您的Wifi密碼”
AT + CIPCLOSE
要開始與nunchuk發(fā)送器通信,類型:
AT + CIPSTART =“ TCP”,“ esprelay服務(wù)器的IP地址,例如192.168.1.132” ,54321
AT + CIPSEND = n
無引號的ascii字符串 r n
AT + CIPCLOSE
如果需要幫助,ESP8266的AT命令的在線資源數(shù)量。引號“是必需的。AT + CIPSEND = n告訴ESP接下來是n個ascii字符。例如,如果您使用“ hi”,則n = 2,如果您使用“ hi there”,則n =8。
在顯示YAT屏幕的圖中,我們?yōu)槊織l串行線添加了時間戳,您可以看到我們大約每100毫秒或大約每秒10條獲得一個串行字符串,這是通過我們的家用路由器進行的,因此由于距離非常低。
第7步:控制事物
這足夠快,可以用于飛機無線電控制,但僅50毫秒就可以了最好是10毫秒(典型值),也許有人可以改善我們的結(jié)果!
-
遠程控制
+關(guān)注
關(guān)注
4文章
621瀏覽量
34903 -
WIFI
+關(guān)注
關(guān)注
81文章
5290瀏覽量
203310 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
44849
發(fā)布評論請先 登錄
相關(guān)推薦
評論