使用網路與搖桿、手機控制
一、利用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?