Étape 1: Inter Process Communication, mutex etc.
Si vous êtes intéressé de savoir comment Intel ça, vous pouvez consulter l’article suivant
https://Software.Intel.com/en-US/Blogs/2014/09/22/...
Dans ce document, l’auteur explique quelle IPC (Inter Process Communication) est sous linux, comment les mutex (mutuellement exclusifs) variables travail et fournit également un exemple de code, tant pour la partie de l’arduino et un code C++ natif du processus.
C’est un bon point de départ, si vous voulez regarder sous le capot d’Edison, mais, honnêtement, une grande partie de l’information fournie n’est pas facile à digérer. En dehors de la chose de digestibilité, je ne comprends pas pourquoi quelqu'un aurait envie d’écrire la moitié du code dans l’Arduino, une plus ou moins faciles, langage convivial débutant et l’autre partie en C++ invétérés, employant des mutex variables et fils et tous. Pourquoi ne pas tout écrire en C/C++ puis ?
En tout cas, une chose est importante de savoir quand faire arduino croquis communiquent avec d’autres processus linux : créer un fichier dans le répertoire /tmp/ et faire les croquis et les autres processus de lire et écrire dans ce fichier. /tmp/ est mappé en mémoire afin de lire et les opérations d’écriture sont rapides, et vous ne portez pas votre mémoire flash. Dans l’exemple d’Intel, le fichier créé est binaire (pas lisible par l’homme).
J’ai essayé de simplifier un peu les choses : il y a encore peu de code C impliqué, mais on peut facilement adapter la partie de code arduino à ses besoins. Quoi de plus, la communication réussit à travers un fichier lisible par l’homme (mots! pas zéros et uns!): /tmp/arduino.txt , l’avantage est que vous pouvez facilement utiliser tout langage de script vous préférez partir du côté de linux, que ce soit node.js, python, perl, php, etc. et être encore capable de vérifier (c'est-à-dire lire) ce que vos programmes envoient les uns aux autres. J’ai mis des mutex, trop : le sketch arduino lit le fichier /tmp/arduino.txt et on ignore si elle n’est pas complète (si elle n’est pas déposer une chaîne OK en fin de compte). Il s’agit d’un cas plus que suffisant pour la plupart de l’utilisation d’une esquisse de l’arduino.
Pour ce projet, le fichier /tmp/arduino.txt se compose de quatre lignes :
Ligne 1: les chaînes « true » ou « false ». Indique à arduino pour allumer la LED ou éteindre
Ligne 2: l’adresse IP de l’origine de la dernière commande de commutateur.
Ligne 3: « OK » si le sketch arduino ne rencontre pas ce OK, le fichier est ignoré jusqu'à la prochaine boucle.
Ligne 4: vide