原來是打算用nrf24來做樹莓派和arduino的通訊,因為nrf24傳的資料量有點小,現在改為用藍芽來通訊
參考:
注意:1.藍芽的tx連線arduino的rx,rx連線tx
因為我的是3b+版本,所以可以直接從桌面來配對藍芽,但是這裡還是用終端來操作藍芽吧
(樹莓派自帶有藍芽)
參考:1.公升級安裝一下藍芽的庫
$sudo apt-get update
$sudo apt-get install bluetooth bluez python-bluez
2.開啟藍芽控制
3.掃瞄藍芽裝置,找到hc-05的藍芽id
[bluetooth]# scan on
discovery started
複製紅色方格中的id
4.配對藍芽
[bluetooth]# pair xx:xx:xx:xx
輸入pin碼(預設是1234)
最後會顯示配對成功
5.連線藍芽
我嘗試用connect命令去連線藍芽,但是會報錯
這個地方藍芽的連線是暫時不要著急的,可以先不連線,等到樹莓派要向藍芽傳送資訊或者藍芽發資訊過來給樹莓派的時候系統就會自動連上
6.生成rfcomm0檔案
//首先我們退出藍芽控制
exit
//生成rfcomm0檔案
sudo rfcomm bind 0 xx:xx:xx:xx(你的藍芽ip)
然後你會發現在/dev目錄下生成了乙個新的檔案
注意,這一步每次重啟都要輸入一次命令,因為重啟之後那份檔案自動被刪除了
以上我們在硬體方面的準備就完成了,下面是**
###樹莓派向arduino傳送資料
樹莓派要使用python檔案,我們可以開啟程式設計,然後編寫一段python**好,然後編譯什麼的自己可以去查(也可以直接開啟這份檔案)
#serial只能傳bytes了而不是string
sleep(.8)
#防止串列埠阻塞
)#初始清空一下串列埠
while(1
):
n = ser.inwaiting(
)#自己去查查
小技巧:hc-05連線之後閃爍變慢,未連線時候閃爍的很快
樹莓派和Arduino之間通過串列埠進行通訊
話不多說了,talk is cheap now,show the code step1 首先是arduino void setup void loop 通過arduinoide將上述 編譯並上傳給arduino step2 在樹莓派中編寫如下 並命名為connect arduino.py 1 imp...
樹莓派與Arduino藍芽通訊實踐
最近在做乙個農業機械人的專案,上位機採用的是樹莓派3b,下位機採用的是arduino mega,一開始用的udp協議進行資料交換,後來發現udp傳輸資料不是很穩定,就決定使用串列埠通訊,由於樹莓派3b整合了藍芽模組,所以一切變得簡單起來。首先,在樹莓派中進行環境搭建,依次執行下列命令 sudo ap...
樹莓派和Arduino用usb通訊總結
真的查閱了很多很多部落格 基本所有的部落格給的測試通訊 都一樣!所以在sudo python3 communication.py無輸出的時候,竟然忽略了 本身的錯誤!還一直在反覆找串列埠以及操作的原因,菜是原罪。下面貼上測試成功的 樹莓派 import serial import time ser ...