Python und Hardware-Verwenden von RS232C mit Python-

Es ist ein Memo, das ich für das Studium in Betracht ziehe, weil es notwendig wird. Bitte beachten Sie, dass es sich um ein Memo einer Person handelt, die den Inhalt der tatsächlichen Maschine selten bestätigt.

Bei der Steuerung der Hardware unterscheidet sich die verwendete Bibliothek in der Regel je nach CPU-Typ und Betriebssystemtyp.

#include <windows.h>


 Enthält oft die Zeile.
 So wie es ist, kann es nicht mit anderen Betriebssystemen verwendet werden.


### ** Hoch portabler Boost für die Bibliothek mit serieller Schnittstelle (C ++) **
 Boost, das eine gemeinsame, vom Betriebssystem unabhängige Bibliothek bereitstellt, bietet eine Bibliothek für serielle Schnittstellen.
[Boost.Asio](http://www.boost.org/doc/libs/1_59_0/doc/html/boost_asio.html)
[Serial Ports](http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/overview/serial_ports.html)
 Kommentarartikel [[Boost] serielle Kommunikation](http://blog.livedoor.jp/k_yon/archives/52145222.html)
 [Versuchen Sie die serielle Kommunikation mit Boost.Asio](https://blog.myon.info/blog/2015-04-19/boost-asio-serial/)

[Boost C++ libraries for Raspberry Pi](https://www.raspberrypi.org/forums/viewtopic.php?&t=8111)
 Es wird angegeben, dass Boost C ++ - Bibliotheken auf Raspberry Pi erstellt werden können.
 Nur Bibliotheken (statisch + dynamisch) sind öffentlich zugänglich.



### ** Serielles USB-Konvertierungskabel **
 In letzter Zeit haben sogar PCs keinen RS232C-Anschluss, sodass ein serielles USB-Konvertierungskabel und ein serieller USB-Konvertierungstreiber erforderlich sind.



 [Erläuterung der Installationsmethode für den IC CP2102-Treiber für die USB-serielle Konvertierung](http://www.cqpub.co.jp/INTERFACE/contents/special/CP2102install/index.htm)


 So ändern Sie die COM-Port-Nummer mit USB-Seriell in Windows
 [COM-Port des Geräte-Managers ändern](http://www.geocities.jp/bokunimowakaru/diy/com/com_port.html)

 [Unterscheiden mehrerer serieller Ports und Geräte unter Linux](http://tclip.blog.fc2.com/blog-entry-86.html)

 Unter Linux (einschließlich Raspberry Pi) ist IO für die USB-serielle Konvertierung
/dev/ttyUSB0
 Es wird mit dem Gerätenamen wie angezeigt.


 Zynq USB-UART-Treiber
 [ISE & Vivado Einstellungen unter Ubuntu]
(http://masahir0y.blogspot.jp/2013_12_01_archive.html)
 Sogar hier
/dev/ttyUSB0
 Der Gerätename wird angezeigt.


**PySerial**
 Was auch immer Sie mit Python tun können, ich möchte es zuerst mit Python tun, also habe ich beschlossen, die Bibliothek nach Python zu durchsuchen.

 [Python mit Slideshare / Hardware lernen](http://www.slideshare.net/yutakitagami/python-6744817)

 Diejenigen mit weniger Betriebssystemabhängigkeit
 ・ [PySerial-Distributor](https://github.com/pyserial/pyserial)
 - [Informationen zum pySerial-Modul Verwendung des seriellen Geräts durch Python](http://python.matrix.jp/pages/modules/pyserial.html) Beispiel für das Senden in Python (Windows)
 - [Ein serielles Python-Kommunikationsmodul, das auf Macs funktioniert, die pySerial verwenden. ](Https://sites.google.com/site/hananekosugan/manual-tips/python/pyserial) Es gibt Beispiele für das Senden und Empfangen
 ・ [Serielle Kommunikation von Mac zu Arduino mit Pyserial](https://dek1ymt2.wordpress.com/2014/05/03/pyserial%E3%82%92%E4%BD%BF%E3%81] % A3% E3% 81% A6-mac% E3% 81% 8B% E3% 82% 89arduino% E3% 81% AB% E3% 82% B7% E3% 83% AA% E3% 82% A2% E3% 83 % AB% E9% 80% 9A% E4% BF% A1% E3% 82% 92% E3% 81% 97% E3% 81% 9F /) Übertragung von Python (Mac), Empfangsbeispiel in Arduino C ++
 - [Serielle Kommunikation mit Python](http://qiita.com/kosystem/items/0023cfee941fdf099087) Installationsmethode, Übertragungsbeispiel, Empfangsbeispiel

 ・ [Serielle Kommunikation mit pySerial / pyWin32, aber Empfang ...](http://omoitsuki-teck.cocolog-nifty.com/blog/2009/10/pyserialpywin32.html) Beispiel zum Senden / Empfangen
 ・ [Serielle Kommunikation mit Python (2)](http://blog.livedoor.jp/baruth_/tag/pyserial) Beispiel zum Senden / Empfangen
 - [Serielle Kommunikation mit Python](http://qiita.com/kosystem/items/0023cfee941fdf099087)

 Die anzuschließende COM-Port-Nummer ist die USB-serielle Portnummer, wenn der COM-Port vor und nach dem Anschließen der USB-seriellen Schnittstelle im Geräte-Manager angezeigt wird.


 Auf Linux-Computern, einschließlich RaspberryPi, können Sie den Gerätenamen unter / dev anzeigen, indem Sie ihn mit ls anzeigen. Ich habe / dev / ttyUSB0 gesehen.
 Selbst wenn Sie mit PySerial schreiben, bleibt der Windows-COM-Port oder der Linux-Gerätename im Python-Skript. Aber das ist der einzige Unterschied, daher ist es sehr einfach zu beschreiben.
 Es ist leicht zu denken, da der Zugriff auf diesen Port genauso beschrieben werden kann wie der Zugriff auf ein Dateiobjekt.


 [Serielle Kommunikation mit Raspberry Pi (dasselbe gilt für Mac)](http://blog.livedoor.jp/hack_le/archives/44765804.html)
 > GPIO oder USB
 > Da RPi keine serielle Schnittstelle hat, erfolgt die serielle Kommunikation selbstverständlich über andere Schnittstellen. Ist es ein GPIO-Pin auf der Platine oder ein USB-Anschluss? Ich denke, es ist der GPIO-Pin, der kein Geld kostet.
 > USB-seriell
 > Wenn das Verbindungsziel des anderen Teilnehmers eine serielle Schnittstelle ist. Der IO-DATA-Konvertierungsadapter USB-RSAQ6 funktionierte.

[Install PySerial on Raspberry Pi (YouTube)](https://www.youtube.com/watch?v=I7fyFb7gNEQ)


 [Serielle Kommunikation mit Raspberry Pi 3](http://qiita.com/yamamotomanabu/items/33b6cf0d450051d33d41)



**PyUSB**
[PyUSB - Easy USB access on Python](https://walac.github.io/pyusb/) 
>PyUSB comes with builtin backends for libusb 0.1, libusb 1.0 and OpenUSB.

 [Quelle des Moduls, das die Massenübertragung durch Angabe der Pipe-Nummer mit PyUSB ausführt](http://vega.ence.kyushu-u.ac.jp/wiki/Python/PyUSB)

 Es spielt keine Rolle, wenn Sie USB-Serial verwenden.



### ** USB-Kamera **
 Wenn die Stromversorgung der USB-Kamera nicht ausreicht, wird die USB-Kamera nicht erkannt. Verwenden Sie einen aktiven USB-Hub.
 Wenn die USB-Kamera von Windows ohne speziellen Treiber erkannt wird, wird sie von Raspberry Pi so wie sie ist erkannt.

 - [Verwenden Sie eine USB-Kamera vom Typ UVC (USB Video Class) unter Linux]
(http://qiita.com/nonbiri15/items/9593d61a2be81f2b31a9)

 - [Überwachungskamera mit Himbeerkuchen](http://qiita.com/matyapiro31/items/6e3edcd3d7f7dfc2771f)

 - [Fehlerbehebung mit OpenCV auf Raspberry Pi installiert und Erfassung]
(http://qiita.com/sy_sft_/items/ddcad27f0ea13e2cd662)

 - [Versuchen Sie, das Infrarotkameramodul mit Raspberry Pi zu verwenden](http://qiita.com/kinpira/items/940f34e11d1f856c5880)


### ** Maschinenabhängigkeiten sind unvermeidlich **

GPIO
 ・ [Raspberry Pi] Blinkende LED mit GPIO (Python) http://make.bcde.jp/category/5/
 -Raspberry Pi GPIO Ein- / Ausgabebeispiel (Python, C-Sprache, Shell-Skript)
http://netlog.jpn.org/r271-635/2013/01/raspberry_pi_gpio_test.html

 ・ [[Raspberry Pi] Steuern Sie den Gleichstrommotor mit der Motortreiberplatine](http://denshi.blog.jp/Raspberry+Pi/DC%E3%83%A2%E3%83%BC%E3%82%BF % E3% 83% BC% E5% 88% B6% E5% BE% A1
)

 ・ [Kommunikation zwischen Seriell und Arduino auf GPIO von Raspberry PI]
(http://qiita.com/ryugyoku/items/bf5fd10512c84a55d030)

 ・ [Ich habe GPIO von Raspberry Pi (LED Pika-Version) ausprobiert](http://qiita.com/[email protected]/items/bd5f3e2cd0fabac9195e)


### Hinweise zu Python auf Boards mit FPGAs verfügbar
 [Installieren Sie OpenCV 2.4.10 unter Ubuntu 14.04 LTS von ARMhf von ZYBO](http://marsee101.blog19.fc2.com/blog-category-113.html)
 Da diese Seite OpenCV erstellt und Python zum Zeitpunkt von CMake angegeben ist, scheint es sicher zu sein, dass Python mit Zynq von Zilinx auf einem Board verwendet werden kann.


#### Eine Sammlung häufig verwendeter Bibliotheken für Raspberry Pi
 [Python-Module in Raspberry Pi importieren](http://okuzawats.com/python-20140917)
 Wird von scipy, numpy, PySerial auf Raspberry Pi verwendet

[Numpy/Scipy/Matplotlib on Raspberry Pi]
(http://wyolum.com/numpyscipymatplotlib-on-raspberry-pi/)
 Sie können Diagramme mit matplotlib anzeigen, wie in gezeigt.

[Upgrading skimage version on Raspberry pi](http://stackoverflow.com/questions/29950941/upgrading-skimage-version-on-raspberry-pi)
 Sie können aus dem Quellcode kompilieren, wie in beschrieben.


 Informationen zur Portnummer des COM-Ports
 > In den MS-DOS- und Windows-Umgebungen von Microsoft wird der serielle Anschluss als COM-Anschluss bezeichnet. Als COM1, COM2, .. etc. Ports mit höheren Nummern als COM9 müssen mit der Syntax \\. \ COM10 referenziert werden
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%9D%E3%83%BC%E3%83%88



**RS485**
 Es gibt eine Python-Bibliothek, die den seriellen Kommunikationsstandard RS485 unterstützt.

pyserial/serial/rs485.py

https://github.com/pyserial/pyserial/blob/master/serial/rs485.py


 Es ist interessant, wie es verwendet werden kann.



### Andere IO

 Raspberry Pi IO Informationen von Ryo
http://rest-term.com/technote/index.php/IoT


 Referenzartikel, die nicht auf Python beschränkt sind
 [Serielle Verbindung von Raspberry Pi](http://qiita.com/tamamius/items/c0bca839e1ec97125413)


Recommended Posts

Python und Hardware-Verwenden von RS232C mit Python-
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
Python mit Pyenv und Venv
Funktioniert mit Python und R.
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Leuchtendes Leben mit Python und OpenCV
Roboter läuft mit Arduino und Python
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
AM-Modulation und Demodulation mit Python
Scraping mit Node, Ruby und Python
Scraping mit Python, Selen und Chromedriver
Kratzen mit Python und schöner Suppe
JSON-Codierung und -Decodierung mit Python
Hadoop-Einführung und MapReduce mit Python
[GUI in Python] PyQt5-Drag & Drop-
Lesen und Schreiben von NetCDF mit Python
Ich habe mit PyQt5 und Python3 gespielt
Lesen und Schreiben von CSV mit Python
Mehrfachintegration mit Python und Sympy
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Sugoroku-Spiel und Zusatzspiel mit Python
FM-Modulation und Demodulation mit Python
Kommunizieren Sie mit gRPC zwischen Elixir und Python
Datenpipeline-Aufbau mit Python und Luigi
Überwachen Sie Mojo-Ausfälle mit Python und Skype
Statistik mit Python
FM-Modulation und Demodulation mit Python Part 3
[Automatisierung] Bearbeiten Sie Maus und Tastatur mit Python
Scraping mit Python
Passwortlose Authentifizierung mit RDS und IAM (Python)
Python mit Go
Python-Installation und Paketverwaltung mit pip
Verwenden von Python und MeCab mit Azure Databricks
POST verschieden mit Python und empfange mit Flask
Bilder mit Pupil, Python und OpenCV aufnehmen
Twilio mit Python
Fraktal zum Erstellen und Spielen mit Python
Ein Memo mit Python2.7 und Python3 in CentOS
In Python integrieren
Spielen Sie mit 2016-Python
Verwenden Sie PIL oder Pillow mit Cygwin Python
AES256 mit Python
Getestet mit Python
Erstellen und entschlüsseln Sie Caesar-Code mit Python
Python beginnt mit ()
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Lesen und Schreiben von JSON-Dateien mit Python
Umgang mit "Jahren und Monaten" in Python
mit Syntax (Python)
Ich habe Numba mit Python3.5 installiert und verwendet
Tweet-Analyse mit Python, Mecab und CaboCha
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
Verkehrsüberwachung mit Kibana, ElasticSearch und Python
FM-Modulation und Demodulation mit Python Part 2
Bingo mit Python
Zundokokiyoshi mit Python
Mit Ruby (Rails) verschlüsseln und mit Python entschlüsseln
Laden Sie einfach mp3 / mp4 mit Python und youtube-dl herunter!