"Informations pour contrôler les moteurs avec Python sur Raspberry Pi" A déjà été écrit.
Voici pourquoi je m'intéresse au contrôle moteur en Python. Augmentons le nombre de personnes capables d'écrire des programmes de contrôle moteur et amusons-nous à les intégrer. (Dans la description ci-dessous, l'auteur de cet article n'est pas familier avec la bibliothèque C ++ et peut être mal compris.)
En Python, les bibliothèques qui sont faciles à contrôler les ports série, les réseaux basés sur socket, les threads, etc. peuvent être utilisées en commun pour Windows et Linux / Unix, et le développement peut être avancé dans une certaine mesure sur une machine facile à développer. Après cela, il est facile de porter sur la machine cible.
"Les personnes qui peuvent écrire des programmes Linux (ou TRON, ou sans OS) en C / C ++" Et "une personne qui peut écrire un pilote de périphérique pour Linux IO" Et "une personne qui comprend le système électrique de contrôle moteur" Et "une personne qui comprend la force agissant sur l'objet à conduire et les mécanismes tels que la perturbation" La condition est requise.
Vous pouvez essayer d'exécuter un exemple de script pour imiter les personnes qui disent: "Je ne connais pas C / C ++. Je ne l'ai jamais compilé." Si vous exécutez le script sur l'interpréteur, le script peut être exécuté dans la mesure où il peut fonctionner normalement. Il peut être développé petit à petit même dans des situations où il n'est pas complètement terminé. Vous pouvez voir la valeur de la variable dans la portée d'exécution du programme dans Spyder (l'un des environnements intégrés Python) avec [Explorateur de variables]. Vous pouvez enregistrer les résultats et utiliser Spyder pour analyser les données et créer des graphiques à égalité avec MATLAB, quel que soit le type de Linux ou de Windows.
Il n'y avait pas de moyen standard de coder en commun entre Windows et Unix / Linux. Windows 3. Communication série sous Windows [3-5] Linux À propos de la programmation série sous Linux en général
Python: pyserial 3.0 Article "Python et matériel utilisant RS232C avec Python-"
Il y avait une grande différence dans les bibliothèques de base entre Linux et Windows, et il était difficile de créer un programme qui fonctionne en commun entre Linux et Windows. Les bibliothèques Unix et Linux Socket datent des temps anciens avant IPv6, avant l'ère du multithreading et avant l'unicode, et je comprends ce qui arrive aux bibliothèques Unix et Linux que j'utilise. Pas fini.
Unix [langage C] Echo de communication inter-socket Créer un serveur Windows Comment communiquer par TCP avec winsock
Python: La bibliothèque de sockets de Python se trouve dans la bibliothèque standard de Python, vous pouvez donc écrire des programmes courants quel que soit le type de système d'exploitation. La bibliothèque réseau de Python est suffisamment riche pour écrire un serveur Web. Bibliothèque standard Python 7.2. Socket - Interface réseau de bas niveau Article J'ai créé un serveur d'écho avec python
Il existe une bibliothèque appelée SocketServer, alors j'ai essayé de l'utiliser. Conseils aux débutants en Python pour utiliser eux-mêmes des exemples d'images Scikit 5 Incorporer dans des applications réseau
La bibliothèque Asio de Boost peut écrire du code source très commun à Windows et Linux. Boost.Asio Boost.Asio A collection of simple clients and servers SlideShare Utilisez Asio!
Le multithreading conventionnel C / C ++ n'a pas de méthode de description quel que soit le type de système d'exploitation. Lors de l'écriture d'un programme avec plusieurs threads, il n'est pas toujours facile de vérifier si la fonction utilisée dans cette fonction est thread-safe.
Python: Python inclut le multithreading dans sa bibliothèque standard.
Bibliothèque standard Python 16.2. Threading - interface de threading de haut niveau
Article "Multithreading avec Python" Article Essayez de charger des images dans un thread séparé (OpenCV-Python)
En C ++ 11, la bibliothèque multi-thread est standardisée, il semble donc qu'il soit plus facile d'écrire des programmes multi-thread qui ne dépendent pas du système d'exploitation. Article Essayez de charger des images dans un thread séparé (version C ++)
URL référencée 1: Traitement asynchrone facile avec C ++ (std :: thread, std :: async) http://qiita.com/termoshtt/items/d3cb7fe226cdd498d2ef 2: Introduction à C ++ std :: async http://kaworu.jpn.org/cpp/std::async
Il est lent en raison de la vérification dynamique du type et de la vérification en dehors de la plage de la baie.
Traduction japonaise de la documentation standard "Extension de Python avec C et C ++"
Article J'ai essayé d'utiliser Cython pour accélérer Python
Voir la documentation officielle pour l'utilisation de base de Cython http://docs.cython.org/ Version japonnaise http://docscythonja.zouri.jp/
Recommended Posts