Raspberry pi - Une version orientée objet de ce que j'ai pu trouver lorsque je voulais échanger des données entre Arduino et ainsi de suite.
Serial.ino
int n = 12;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(n);
Serial.write("Hello World!\n");
delay(1000);
}
SerialException
.)Serial.print
pour envoyer des nombres et la fonction Serial.write
pour envoyer des chaînes. (On ne peut pas en faire un?)Installez les bibliothèques requises pour la communication série avec Python.
pip install pyserial
Arduino_USB.py
import serial
import time
class Arduino_USB:
data = ""
#constructeur
def __init__(self, dev, bps):
#Paramètres de communication Nom de l'appareil Vitesse de communication
self.ser = serial.Serial(dev, bps)
time.sleep(2)
#Démarrer la communication série
def startUSB(self):
#Commande de démarrage. Caractère d'octet"a"Envoyer
self.ser.write(b"a")
#Déconnexion de la communication série
def closeUSB(self):
self.ser.close()
#Lire les données d'Arduino
def getUSB(self):
self.data = self.ser.readline()
return str(self.data, encoding = "utf-8")
a = Arduino_USB("/dev/ttyACM0", 9600)
a.startUSB()
print(a.getUSB())
print(a.getUSB())
a.closeUSB()
/ dev / ttyACM0
.time.sleep
.
-Peut-être que vous lisez le code de saut de ligne?12
Bonjour
--Je ne suis pas sûr de la synchronisation du temps de lecture des données et de la plage de lecture. (Il a été écrit en 1 octet, mais pourquoi puis-je lire le japonais?)
Serial.print
pour envoyer des nombres et la fonction Serial.write
pour envoyer des chaînes?
C'est un mystère, mais c'est un jeu personnel, donc si vous bougez, Yoshi!