Sök…


Syntax

  • Serial.begin(baudrate) // Set baud rate (bits per second) for serial data transmission
  • Serial.println(value) // Print data to serial port followed by Carriage Return \r and Newline character \n
  • serial.Serial((port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, write_timeout=None, dsrdtr=False, inter_byte_timeout=None) // Initialize serial port with all parameters
  • serial.readline() // Read serial data which contains Carriage Return \r and Newline character \n

parametrar

Parameter detaljer
serie- Python-paketet innehåller klasser och metoder för att komma åt seriell port
tid Python-paketet innehåller tidsrelaterade funktioner

Anmärkningar

Jag använder en Arduino Uno med Arduino IDE 1.6.9 och Python 2.7.12 som körs i Windows 10.

Första seriekommunikation mellan Arduino och Python

I detta allra första exempel startas en grundläggande seriell skrivoperation från en Arduino-enhet.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello World!");
  delay(100);
}

I setup() Serial.begin(9600) funktionen Serial.begin(9600) in baudhastigheten för seriell datakommunikation. I detta exempel används en baudhastighet av 9600. Andra värden kan läsas här: Arduino Serial.begin () -funktion

I loop() är det första meddelandet vi vill skicka "Hello World!". Det här meddelandet överförs med Serial.println("Hello World!") det kommer att skicka den här strängen till serieport i ASCII-format. I slutet av meddelandet finns det Carriage Return (CR, \r) och Newline-tecken (\n) . Dessutom används en fördröjning på 100 millisekunder varje gång programmet skriver ut till serieporten.

Ladda sedan upp denna Arduino-skiss via COM-porten (kom ihåg detta COM-portnummer eftersom det kommer att användas i Python-programmet).

Nedan visas Python-programmet som läser seriedata som skickats från Arduino-enheten:

import serial
import time

ser = serial.Serial('COM8', 9600)
while (1):
    print ser.readline()
    time.sleep(0.1)

Först ska pyserialpaket importeras. För mer information om installation av pyserial i Windows-miljö, se denna instruktion: Installera Python och pyserial . Sedan initierar vi den seriella porten med COM-portnummer och baud rate. Baudfrekvensen måste vara densamma som används i Arduino skiss.

Mottaget meddelande kommer att skrivas ut medan slingan används med readline() . En fördröjning på 100 millisekunder används också här samma som i Arduino skiss. Observera att funktionen pyserial readline() kräver en timeout när man öppnar en seriell port (pyserial dokumentation: PySerial ReadLine ).



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow