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下位机(自定义协议)

用C#语言开发上位机(来控制下位机比如了解下位机测量的温度湿度压力并控制下位机)要用到啥知识?

上位机 下位机

下位机可以使用python吗

什么是上位机和下位机

基于Arduino+LabVIEW的多路数据采集系统