軟體:2016-05
Android 手機安裝 BlueTerm, 原始碼
修改 /etc/systemd/system/dbus-org.bluez.service, 將
ExecStart=/usr/lib/bluetooth/bluetoothd改為
ExecStart=/usr/lib/bluetooth/bluetoothd --compat重新載入設定檔
$ sudo systemctl daemon-reload
Pi 3 藍牙設定
$ sudo bluetoothctl
[bluetoothctl] power on
[bluetoothctl] scan on
[bluetoothctl] agent on
[bluetoothctl] pair MAC_ADDRESS
[bluetoothctl] trust MAC_ADDRESS
[bluetoothctl] exit
sudo rfcomm bind 0 MAC_ADDRESS
Pi 3 程式碼:
#!/usr/bin/python
import bluetooth
import thread
import time
server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
port = 1
server_sock.bind(("",port))
server_sock.listen(1)
client_sock,address = server_sock.accept()
print "Accepted connection from ", address
def receive_thread():
while True:
try:
data = client_sock.recv(1024)
print "received [%s]" % data
except:
print "SerialException: "
time.sleep(0.1)
thread.start_new_thread(receive_thread, ())
while True:
s = raw_input("RPi] ")
client_sock.send(s)
client_sock.close()
server_sock.close()
reference:
* An Introduction to Bluetooth Programming
* Using smart phone (Android) to control LED on Raspberry Pi 3 through Bluetooth connection
如果透過 App Inventor 寫 Android 端程式, 可以參考這篇文章
http://howtomechatronics.com/tutorials/arduino/how-to-build-custom-android-app-for-your-arduino-project-using-mit-app-inventor/
目前還沒搞定, 之後會再打通這邊...
列出有用到的 PORT
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
print p

沒有留言:
張貼留言