Python et matériel - Utilisation de RS232C avec Python -

C'est un mémo que je cherche à étudier car cela devient nécessaire. Veuillez noter qu'il s'agit d'un mémo d'une personne qui confirme rarement le contenu de la machine réelle.

Lors du contrôle du matériel, la bibliothèque à utiliser a tendance à différer selon le type de CPU et le type de système d'exploitation.

#include <windows.h>


 Contient souvent la ligne.
 En l'état, il ne peut pas être utilisé avec d'autres OS.


### ** Bibliothèque de port série hautement portable (C ++) Boost **
 Boost, qui fournit une bibliothèque commune indépendante du système d'exploitation, fournit une bibliothèque pour les ports série.
[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)
 Article de commentaire [[Boost] serial communication](http://blog.livedoor.jp/k_yon/archives/52145222.html)
 [Essayez la communication série avec 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)
 Il est indiqué que les bibliothèques Boost C ++ peuvent être construites sur Raspberry Pi.
 Seules les bibliothèques (statiques + dynamiques) sont ouvertes au public.



### ** Câble de conversion série USB **
 Récemment, même les PC n'ont pas de port RS232C, donc un câble de conversion série USB et un pilote de conversion série USB sont nécessaires.



 [Explication de la méthode d'installation du pilote IC CP2102 de conversion USB-série](http://www.cqpub.co.jp/INTERFACE/contents/special/CP2102install/index.htm)


 Comment changer le numéro de port COM avec USB-série sous Windows
 [Changer le port COM du gestionnaire de périphériques](http://www.geocities.jp/bokunimowakaru/diy/com/com_port.html)

 [Distinguer plusieurs ports série et périphériques sous Linux](http://tclip.blog.fc2.com/blog-entry-86.html)

 Sous Linux (y compris Raspberry Pi), IO pour la conversion USB-série est
/dev/ttyUSB0
 Il s'affiche avec le nom de l'appareil tel que.


 Pilote Zynq USB-UART
 [Paramètres ISE et Vivado sur Ubuntu]
(http://masahir0y.blogspot.jp/2013_12_01_archive.html)
 même ici
/dev/ttyUSB0
 Le nom de l'appareil s'affiche.


**PySerial**
 Quoi que vous puissiez faire avec Python, je veux d'abord le faire avec Python, j'ai donc décidé de regarder dans la bibliothèque pour Python.

 [Apprendre Python avec slideshare / hardware](http://www.slideshare.net/yutakitagami/python-6744817)

 Ceux qui dépendent moins du système d'exploitation
 ・ [Distributeur PySerial](https://github.com/pyserial/pyserial)
 - [À propos du module pySerial Comment utiliser un périphérique série par Python](http://python.matrix.jp/pages/modules/pyserial.html) Exemple d'envoi en Python (windows)
 - [Un module de communication série python qui fonctionne sur les Mac qui utilisent pySerial. ](Https://sites.google.com/site/hananekosugan/manual-tips/python/pyserial) Il existe des exemples d'envoi et de réception
 ・ [Communication série de mac à arduino en utilisant 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 /) Transmission depuis Python (Mac), exemple de réception dans arduino C ++
 - [Communication série avec Python](http://qiita.com/kosystem/items/0023cfee941fdf099087) Méthode d'installation, exemple de transmission, exemple de réception

 ・ [Communication série avec pySerial / pyWin32, mais réception ...](http://omoitsuki-teck.cocolog-nifty.com/blog/2009/10/pyserialpywin32.html) Exemple d'envoi / réception
 ・ [Communication série avec Python (2)](http://blog.livedoor.jp/baruth_/tag/pyserial) Exemple d'envoi / réception
 - [Communication série avec Python](http://qiita.com/kosystem/items/0023cfee941fdf099087)

 Le numéro de port COM à connecter est le numéro de port série USB lorsque le port COM est affiché dans le Gestionnaire de périphériques avant et après la connexion USB série.


 Sur les machines Linux, y compris le RaspberryPi, vous pouvez voir le nom du périphérique sous / dev par ls. J'ai vu / dev / ttyUSB0.
 Même si vous écrivez à l'aide de PySerial, le port com Windows ou le nom du périphérique Linux reste dans le script python. Mais c'est la seule différence, c'est donc très facile à décrire.
 C'est facile à penser car l'accès à ce port peut être décrit de la même manière que l'accès à un objet fichier.


 [Communication série avec Raspberry Pi (idem pour Mac)](http://blog.livedoor.jp/hack_le/archives/44765804.html)
 > GPIO ou USB
 > Le RPi ne disposant pas de port série, il va sans dire que la communication série sera effectuée à partir d'autres interfaces. Est-ce une broche GPIO sur la carte ou une borne USB? Je pense que c'est la broche GPIO qui ne coûte pas d'argent.
 > USB-série
 > Lorsque la destination de connexion de l'autre partie est un port série. L'adaptateur de conversion IO-DATA USB-RSAQ6 a fonctionné.

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


 [Communication série avec 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.

 [Source du module qui exécute le transfert en masse en spécifiant le numéro de canal à l'aide de PyUSB](http://vega.ence.kyushu-u.ac.jp/wiki/Python/PyUSB)

 Cela n'a pas d'importance lors de l'utilisation de USB-Serial.



### ** Caméra USB **
 Si l'alimentation fournie à la caméra USB est insuffisante, la caméra USB ne sera pas reconnue. Utilisez un concentrateur USB alimenté.
 Si la caméra USB est reconnue par Windows sans pilote spécial, elle sera reconnue par Raspberry Pi telle quelle.

 - [Utiliser une caméra USB de type UVC (USB Video Class) sous Linux]
(http://qiita.com/nonbiri15/items/9593d61a2be81f2b31a9)

 - [Caméra de surveillance avec tarte aux framboises](http://qiita.com/matyapiro31/items/6e3edcd3d7f7dfc2771f)

 - [Dépannage avec OpenCV installé sur Raspberry Pi et capture]
(http://qiita.com/sy_sft_/items/ddcad27f0ea13e2cd662)

 - [Essayez d'utiliser le module de caméra infrarouge avec Raspberry Pi](http://qiita.com/kinpira/items/940f34e11d1f856c5880)


### ** Les dépendances des machines sont inévitables **

GPIO
 ・ [Raspberry Pi] LED clignotante avec GPIO (Python) http://make.bcde.jp/category/5/
 -Exemple d'entrée / sortie GPIO Raspberry Pi (Python, langage C, script shell)
http://netlog.jpn.org/r271-635/2013/01/raspberry_pi_gpio_test.html

 ・ [[Raspberry Pi] Contrôlez le moteur CC avec la carte de commande du moteur](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
)

 ・ [Communication entre série et Arduino sur GPIO de Raspberry PI]
(http://qiita.com/ryugyoku/items/bf5fd10512c84a55d030)

 ・ [J'ai essayé GPIO de Raspberry Pi (version LED Pika)](http://qiita.com/thuydg@github/items/bd5f3e2cd0fabac9195e)


### Remarques sur Python sur les cartes avec FPGA disponibles
 [Installez OpenCV 2.4.10 sur Ubuntu 14.04 LTS de ARMhf de ZYBO](http://marsee101.blog19.fc2.com/blog-category-113.html)
 Puisque cette page construit OpenCV et que python est spécifié au moment de CMake, il semble certain que python puisse être utilisé sur la carte en utilisant Zynq de Zilinx.


#### Une collection de bibliothèques fréquemment utilisées pour Raspberry Pi
 [Importer des modules Python dans Raspberry Pi](http://okuzawats.com/python-20140917)
 Utilisé par scipy, numpy, PySerial sur Raspberry Pi

[Numpy/Scipy/Matplotlib on Raspberry Pi]
(http://wyolum.com/numpyscipymatplotlib-on-raspberry-pi/)
 Vous pouvez afficher des graphiques en utilisant matplotlib comme indiqué dans.

[Upgrading skimage version on Raspberry pi](http://stackoverflow.com/questions/29950941/upgrading-skimage-version-on-raspberry-pi)
 Vous pouvez compiler à partir du code source comme décrit dans.


 À propos du numéro de port du port COM
 > Dans les environnements MS-DOS et Windows de Microsoft, faites référence au port série en tant que port COM. Comme COM1, COM2, .. etc. Les ports dont le numéro est supérieur à COM9 doivent être référencés à l’aide de la syntaxe \\. \ COM10
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**
 Il existe une bibliothèque Python qui prend en charge la norme de communication série appelée RS485.

pyserial/serial/rs485.py

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


 Il est intéressant de savoir comment cela peut être utilisé.



### Autre IO

 Raspberry Pi IO information par ryo
http://rest-term.com/technote/index.php/IoT


 Articles de référence non limités à Python
 [Connexion série de Raspberry Pi](http://qiita.com/tamamius/items/c0bca839e1ec97125413)


Recommended Posts

Python et matériel - Utilisation de RS232C avec Python -
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
python avec pyenv et venv
Fonctionne avec Python et R
Communiquez avec FX-5204PS avec Python et PyUSB
Briller la vie avec Python et OpenCV
Robot fonctionnant avec Arduino et python
Installez Python 2.7.9 et Python 3.4.x avec pip.
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
Grattage avec Python, Selenium et Chromedriver
Grattage avec Python et belle soupe
Encodage et décodage JSON avec python
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Lire et écrire NetCDF avec Python
J'ai joué avec PyQt5 et Python3
Lire et écrire du CSV avec Python
Intégration multiple avec Python et Sympy
Coexistence de Python2 et 3 avec CircleCI (1.0)
Jeu Sugoroku et jeu d'addition avec Python
Modulation et démodulation FM avec Python
Communiquez entre Elixir et Python avec gRPC
Construction de pipeline de données avec Python et Luigi
Surveiller les pannes de Mojo avec Python et Skype
Statistiques avec python
Modulation et démodulation FM avec Python Partie 3
[Automation] Manipulez la souris et le clavier avec Python
Grattage avec Python
Authentification sans mot de passe avec RDS et IAM (Python)
Python avec Go
Installation de Python et gestion des packages avec pip
Utilisation de Python et MeCab avec Azure Databricks
POSTER diversement avec Python et recevoir avec Flask
Capturer des images avec Pupil, python et OpenCV
Twilio avec Python
Fractal pour faire et jouer avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Intégrer avec Python
Jouez avec 2016-Python
Utilisez PIL ou Pillow avec Cygwin Python
AES256 avec python
Testé avec Python
Créer et décrypter du code César avec python
python commence par ()
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Lire et écrire des fichiers JSON avec Python
Gérer les "années et mois" en Python
avec syntaxe (Python)
J'ai installé et utilisé Numba avec Python3.5
Analyse des tweets avec Python, Mecab et CaboCha
Lier Python et JavaScript avec le notebook Jupyter
Surveillance du trafic avec Kibana, ElasticSearch et Python
Modulation et démodulation FM avec Python Partie 2
Bingo avec python
Zundokokiyoshi avec python
Crypter avec Ruby (Rails) et décrypter avec Python
Téléchargez facilement des mp3 / mp4 avec python et youtube-dl!