一、材料
(1)安卓终端1台,本文使用的魅蓝手机
(2)stm32微控制器(可以串口通信的)
二、通信内容
上位机发送AA,熄灭stm32上的LED灯
上位机发送BB,点亮stm32上的LED灯
上位机发送CC,读取电压反馈
在windows系统用串口助手确认stm32通讯正常
三、通讯方法步骤
1、安卓终端安装Pydroid3
2、将stm32连接安卓手机(本文为了用鼠标键盘,还使用了USB3.0HUB集线器)
3、打开 Pydroid3 软件的 Terminal
4、在终端的 /dev 中确认设备,可使用 ls 命令查看设备,本文中为 ttyACM0 (类似windows系统中的 COM8 )
/storage/emulated/0 $ ls /dev
5、安装pyserial:pip install pyserial
/storage/emulated/0 $ pip install pyserial
6、运行com_s.py,/storage/emulated/0/Download 为 com_s.py 文件的路径
python /storage/emulated/0/Download/com_s.py
通过python实现安卓手机与stm32串口通信
更多内容请关注:
钟博士LabVIEW工作室
附录:com_s.py 源码
import binascii
import serial
import time
def ser_com():
port = '/dev/ttyACM0' # 设备:/dev/ttyACM0
baudrate = 115200 # 波特率
ser = serial.Serial(port,baudrate,timeout=2)
if(ser.isOpen()==True):
print("串口打开成功!\n")
while True:
send_datas = input("请输入要发送的数据:")
ser.write(bytes.fromhex(send_datas))
print("已发送数据:",send_datas)
print("等待接收数据...")
data = ser.read(ser.in_waiting)
if data != b'':
v = str(binascii.b2a_hex(data))[2:-1]
print("已接受到数据:",data)
print("电压:",int(v,16)/100)
print("\n")
break
else:
print("未接受到数据\n")
#print("已接受到数据:",int(ddd, 16)/100)
ser.close()
if ser.isOpen():
print("串口未关闭!")
else:
print("串口已关闭!")
else:
print("串口打开异常",exc)
if __name__ == '__main__':
ser_com() # 串口
版权声明:本文为CSDN博主「zkmhy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41165245/article/details/121676504
暂无评论