首先树莓派得安装 python-serial ,Raspbian还需要在raspi-config中激活UART.
然后修改文件1:sudo nano /boot/cmdline.txt, 删除红色部分:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
最终变为: dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
然后修改文件2:sudo nano /etc/inittab, 注释最后一行内容:
#T0:23:respawn:/sbin/getty-L ttyAMA0 115200 vt100,
例子:
模块HM-10的配置方法:在蓝牙模块未连接蓝牙4.0设备的情况下,使用串口调试工具minicom,复制命令后,粘贴在工具里发送给模块。具体参见该模块的手册。蓝牙4.0设备如手机用app与模块相连,最后用该模块公司出的那个 BLE蓝牙串口调试助手 app。
写程序用uart与模块通信 BT_demo.py
import serial
import time
ser = serial.Serial('/dev/ttyAMA0', 115200, timeout=1)
#ser = serial.Serial('COM3', 115200, timeout=1)
print ser.isOpen()
words="abcd"
while 1:
getchr = ser.read()
#print getchr
if getchr == 'h':
ser.write(words)
time.sleep(5)
ser.close()
调试过程出现错误:
如果安卓app发送字符出现发送不成功,比如点一下发一大串:
1, 可能是树莓派上串口没打开,Raspbian在raspi-config 中打开,并确认串口文件修改配置正常。
2,由于先连接了模块后运行程序,正确的应该是先运行程序后连接模块。
如果收发没反应,或者是乱码,确认连接正确,速率是否匹配。