通过python实现安卓手机与stm32串口通信

一、材料

(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

生成海报
点赞 0

zkmhy

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

定时器触发STM32 ADC的采样转换示例

开发板:STM32F446 Nucleo开发板IDE:  keil MDK初始化配置工具:stm32cubeMx例程内容:通过定时器触发ADC规则通道及注入通道的模数转换工作。下面基于STM32CubeMx进行些必要

串口调试助手 安卓版

平时工作中和硬件同事对接的比较多,软件和硬件的通讯,串口用的也比较多的。在网上找了很多串口调试工具,大都年代久远,没有继续更新维护的了。 于是,自己抽空写了一个&#xff1

Lin总线通信在STM32作为主机代码以及从机程序

距离上次做资料准备已经过去六天了。最近在学车,上周末就没有开电脑。这周开始进行了Lin通信的代码整理,目前是可以正常通信的了,采用的是增强型校验方式。后期再进一步跟进研究。。。更新一博,留

STM32串口接收数据处理方法

STM32串口接收数据处理方法 STM32串口接收定长数据处理方法 STM32串口接收定长数据的处理方法非常简单,我目前做项目都是用的这个,也可用做处理MODBUS协议,直接上代码。 void U