Pourquoi vous êtes intéressé par le contrôle moteur en Python

"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.

Allégation: ** Pouvoir contrôler avec RaspberryPi et Python augmente le nombre de personnes qui peuvent contrôler les moteurs. ** **

Conventionnel:

"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.

Courant:

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.


Réclamation: ** Si vous écrivez un programme d'interface série en RaspberryPi ou Python, vous pouvez développer une programmation avec moins de différence entre Windows et Linux. ** **

C / C ++ traditionnel:

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-"

C ++ actuel:

Boost Serial Ports Article Essayez la communication série avec Boost.Asio

Réclamation: ** Si vous écrivez un programme socket en RaspberryPi et Python, vous pouvez développer une programmation avec moins de différence entre Windows et Linux. ** **

C / C ++ traditionnel:

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

Pour le C ++ actuel:

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!


Réclamation: ** Si vous écrivez un programme multi-thread en RaspberryPi et Python, vous pouvez développer une programmation avec moins de différence entre Windows et Linux. ** **

C / C ++ traditionnel:

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)

C ++ actuel:

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


Réclamation: ** L'écriture d'un programme en Python réduit l'utilisation de fonctions spécifiques à un système d'exploitation spécifique, ce qui facilite la création d'un programme qui fonctionne en commun sur Windows et Linux. ** **


Réclamation: ** Même en Python, selon la façon dont vous l'écrivez, cela fonctionne plus vite qu'auparavant. ** **

Python traditionnel:

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.

Extensions à Python traditionnel:

Traduction japonaise de la documentation standard "Extension de Python avec C et C ++"

Python actuel (Cython):

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

Pourquoi vous êtes intéressé par le contrôle moteur en Python
[ev3dev × Python] Commande de moteur unique
Pourquoi l'instruction main () -if de Python est-elle attachée?
[Version Python] Pourquoi ne pouvez-vous pas faire de développement orienté objet avec Java?
Jusqu'à ce que vous mettiez Python dans Docker
Les modules et packages en Python sont des "espaces de noms"
Contrôle exclusif avec fichier de verrouillage en Python
Pourquoi ne puis-je pas installer matplotlib avec python! !!
Vérifiez si les caractères sont similaires en Python
Jusqu'à ce que l'exemple de changefinder s'exécute sur python
Précautions lors du traitement des structures de contrôle dans Python 2.6
Que comparez-vous avec Python et ==?
Plusieurs graphiques sont affichés dans une seule fenêtre (python)
[python] ERREUR: les en-têtes Python sont manquants dans /usr/include/python3.X m.
Implémentez "Tout ce dont vous avez besoin, c'est tuer" en Python
Qu'utilisez-vous lorsque vous testez avec Python?
Quadtree en Python --2
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Discord en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
Sqlite en Python
Étape AIC en Python
Installer le contrôle Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Préparation au contrôle des objets rhino avec des scripts dans Grasshopper / Python
% Et str.format () en Python. Lequel utilisez-vous?
BigQuery - Si vous obtenez une erreur Reason: responseTooLarge en Python
Jusqu'à ce que vous insériez des données dans une feuille de calcul en Python