使用網路與搖桿、手機控制

一、利用socket傳送命令

利用Python的socket,建立自走車伺服器,接收來自前端的命令。

二、使用鍵盤按鍵

使用鍵盤按鍵,將車子行動指令透過網路傳到遙控車上。

遙控車使用自製的Motor以及Car類別來處理馬達運作事宜。

三、使用搖桿(遊戲手把)

可以先用evtest了解基本的搖桿事件訊號,為了程式設計方便,採用pygame套件模組的joystick模組來完成搖桿的訊號接收與判斷。同時為了使樹莓派開機就可以使用,本次採用systemd的方式來完成工作。

參考網站:樹莓派讓程式開機自動執行的五種方法:https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/

前端 /lib/systemd/system/client_car.service

後端 /lib/systemd/system/jscar.service

指令參考:

sudo systemctl daemon-reload

sudo systemctl enable XXXXX.service

sudo systemctl status XXXXX.service

四、前端connect例外處理

透過搖捍按鈕來進行連接動作,並且嘗試五次,可避免一定要先開好自走車伺服器的問題。

五、打造自走車無線基地台

在沒有網路的環境之下(如野外運動場),無法連接到自走車進行遙控,此時,將樹莓派打造成無線基地台,提供前端另一塊樹莓派彧是手機等行動裝置連接,就可以在「封閉式網路」遙控自走車了。

官方設定方式網站:https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md

六、使用手機控制

利用app inventor(AI2)來快速開發手機應用程式。

ClientSocket extension 下載位置:https://community.appinventor.mit.edu/t/tcp-ip-extension/7142

七、番外篇:藍芽

利用android手機的藍芽和樹莓派的藍芽連接,從而控制自走車的方向,也是重要課題。

AI2 手機程式下載:https://drive.google.com/file/d/1QNxFC-2z-FGC7GlmxEfjArjxbx4sd4Jt/view?usp=sharing

Last updated

Was this helpful?