这个其实和其他串口通信应用类似,只是这里arduino是数据接收方,数据是由上位机python程序进行管理的,
这里关键其实是arduino和上位机要有一套合理的具体串口数据传输规范,最简单的当然就直接使用底层的串口基础协议进行数据传输,但这样可能不利于复杂数据传输使用,
比如最简单的数据传输例子是python通过串口发送1或者0数据,如果发送1,则arduino接收后开一个灯,否则就关1个灯,这样的功能可能直接串行传数据就好
再复杂点,因为串口实质是按byte传输的,则一个byte可以控制8个灯(1个位管理一个),这样的传输也可以不用复杂传输协议,直接利用串口传就好。
但如果数据更复杂啦,可能就需要有专门的协议来保证相应数据传输解析使用不发生问题啦,这方面就需要具体看应用啦。
具体在python中使用pyserial不复杂,主要就是下面几步
1. 安装pyserial的支持库(模块),比如pip install pyserial
2. 在程序中引入 pyserial支持库(模块),注意这个模块的导入名 没有py ,即应该写作 import serial
3. 使用ser=serial.Serial(<端口名><波特率>[timeout=超时时间]) 定义一个串口对象,其中超时时间那个部分可以省略,前两个必须定义
4. 就可以用ser.write(<通过串口发送的数据>)来发送数据啦。