Ich möchte die Effizienz mit Python auch in experimentellen Systemen verbessern (2) RS232C und pySerial

Motivation

-Siehe (1)

Umgebung

Ziel

Fügen Sie pySerial ein

Warum setzen

Wie zu setzen

conda install -c anaconda pyserial

Wie benutzt man

Es wird davon ausgegangen, dass es in Jupyter Notebook ausgeführt wird. (Dies sollte für Python-Skripte gleich sein.)

Beispiel

Importieren Sie zunächst das Paket. Bitte beachten Sie, dass es sich vom Paketnamen unterscheidet.

import serial
import time

Schließen Sie das Gerät an Ihren PC an, indem Sie DSub in USB konvertieren und eine Verbindung herstellen. Suchen Sie unter Windows im Geräte-Manager nach COM (Nummer). Wenn das mit COM3 bezeichnete Gerät das entsprechende Gerät ist

COM="COM3"
bitRate=9600
ser = serial.Serial(COM, bitRate, timeout=0.1)

bitRate ist deine Wahl. Nachdem Sie nun die serielle Kommunikation durchführen können, sehen Sie sich die Befehlssammlung der einzelnen Messgeräte an.

ser.write(b"H:2-\r\n")

Geben Sie beispielsweise Sigma Kouki SHOT102-Befehl auf der zweiten Achse ein. Andererseits ist es ein Befehl, zum Ursprung zurückzukehren.)

-- \ r \ n ist ein Zeilenvorschubzeichen. Weitere Informationen [hier](https://ja.stackoverflow.com/questions/12897/%E6%94%B9%E8%A1%8C%E3%81%AE-n%E3%81%A8-rn%E3 Siehe% 81% AE% E9% 81% 95% E3% 81% 84% E3% 81% AF% E4% BD% 95% E3% 81% A7% E3% 81% 99% E3% 81% 8B). ..

-B in () bedeutet, dass es sich um eine Zeichenfolge handelt. Wenn Sie nicht b schreiben, können Sie nur ein Zeichen senden.

# time.sleep(0.1)
print(ser.read_all())

Abhängig vom verwendeten Gerät kann "read ()" zurückgeben, ob der Befehl erfolgreich war.

--read () Ein Zeichen --read_line () Eine Zeile --read_all () Alle

Es scheint, dass die von zurückgegebene Zeichenfolge lesbar ist. Wenn Sie den vorherigen Code gleichzeitig ausführen, kann dies fehlschlagen, wenn Sie nicht einige Sekunden warten, z. B. time.sleep (0.1).

ser.close()

Vergessen Sie nicht, die serielle Kommunikation nach der Anweisung zu beenden.

das ist alles. Vielen Dank. Im nächsten Artikel werde ich den Code schreiben, der kontinuierlich ausgeführt, in eine Liste eingefügt, in einen Datenrahmen mit Pandas erstellt und an csv ausgespuckt wird.

Recommended Posts

Ich möchte die Effizienz mit Python auch in experimentellen Systemen verbessern (2) RS232C und pySerial
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (1) Installieren Sie Anaconda mit Chocolatey
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (3) Ich möchte mit Pandas so etwas wie Excel machen
Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (4) Verwenden Sie ser.close (), wenn ein Fehler mithilfe der try-Syntax ausgegeben wird.
Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (5) Ich möchte am Ende des Experiments eine Benachrichtigung mit der Slack-API senden
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich möchte die Optimierung mit Python und CPlex behandeln
Auch mit JavaScript möchte ich Python `range ()` sehen!
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte mit Python debuggen
Ich möchte Rails mit Rails auch in einer vagabundierenden Umgebung betreiben
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich möchte Dunnetts Test in Python machen
Ich möchte MATLAB feval mit Python verwenden
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich möchte OREMO mit setParam sein!
Ich möchte verschachtelte Dicts in Python zusammenführen
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte mit Python in eine Datei schreiben
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte Google Mail mit Python senden, kann dies jedoch aufgrund eines Fehlers nicht
Ich möchte ein Element mit numpy in eine Datei schreiben und es überprüfen.
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ich möchte ein Bild mit Lollipop in WebP konvertieren
Selbst Anfänger möchten sagen "Ich verstehe Python voll und ganz"
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte eine Datei mit Python zufällig testen
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte Lambda mit Python auf Mac AWS!
Ich möchte R-Datensatz mit Python verwenden
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte am Ende etwas mit Python machen
Ich möchte Strings in Kotlin wie Python manipulieren!
[Einführung in den Systemhandel] Ich habe einen Stochastic Oscillator mit Python gezeichnet und damit gespielt ♬
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
Ich möchte eine Fehlermeldung auf Japanisch mit dem Django-Passwortänderungsformular ausgeben
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Ich möchte Daten mit Python analysieren können (Teil 3)
Ich möchte eine andere Version von Python mit pyvenv angeben
Python und Hardware-Verwenden von RS232C mit Python-
So tauschen Sie Elemente in einem Array in Python aus und wie kehren Sie ein Array um.
Ich möchte Daten mit Python analysieren können (Teil 1)
Ich möchte so etwas wie Uniq in Python sortieren
Ich habe einen Fehler in vim oder zsh in der Python 3.7-Serie
Ich möchte Daten mit Python analysieren können (Teil 2)