python制作上位机控制Arduino下位机(自定义协议)
Posted 王若依
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python制作上位机控制Arduino下位机(自定义协议)相关的知识,希望对你有一定的参考价值。
上位机控制Arduino(自定义协议)
一、python环境的搭建(Anacond 3 一步到位)
首先,由于博主之前搭建了太多的环境,以至于现在的环境的被污染的问题成为心里过不去的坎。所以,现在将之前的下载的Python和Pycharm全都给卸载了,然后一个Anacond 3直接一步到位。而且大大减少了环境污染冲突的可能性。以下是上传到百度网盘的安装程序,可以直接下载。
点击进入链接
Anacond3
提取码:9dgu
二、代码部分
1.Arduino代码
void setup()
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(8,OUTPUT);
digitalWrite(8,LOW);
pinMode(9,OUTPUT);
digitalWrite(9,LOW);
void loop()
if(Serial.available()>0)
char msg = Serial.read();
if(msg == '1')
digitalWrite(8,HIGH);
delay(500);
digitalWrite(8,LOW);
else
digitalWrite(9,HIGH);
delay(500);
digitalWrite(9,LOW);
delay(500);
2.Python代码
打开Python的环境之后在终端命令下载串口的包
输入 pip install serial
输入 Python,进入Python的交互式命令环境。
import serial //导入serial的串口的包
ser = serial.Serial('COM12',9600) //根据Arduino上的连接的端口和波特率来设定
ser.write('1'.encode('ascii')) //串口发送1,并强制转化成ASCII码的形式
//ser.write('1'.encode('ascii')) 、 //串口发送2,并强制转化为ASCII码值
逻辑分析
首先简单的来说,用的上位机是起到一个调用的作用。那么,说明了我们之前需要一个能够完整实现功能的下位机。这就说明了在此之前,我们应该将下位机实现完整的功能,然后通过串口来实现上位机对下位机的调配。也可以理解为是一种自定义通讯协议。以Python来发送命令,在在串口上输出ASCII编码值的符号,最终实现操控下位机的功能
以上是关于python制作上位机控制Arduino下位机(自定义协议)的主要内容,如果未能解决你的问题,请参考以下文章
python制作上位机控制Arduino下位机(自定义协议)