Étape 3: Journal touch événements de déposer
Pour l'instant ça va. Il est maintenant temps d’interagir avec le linux qui se cache sous le processus de l’Arduino Edison.
La façon la plus simple de le faire est en composant un système de commande ou un script avec la fonction system() de Arduino Edison.
Ainsi, la mis à jour le schéma ci-dessous, chaque fois que le détecteur de touche est activé, ajoute une ligne avec la date et l’heure ainsi que le message « touch! » et nom d’hôte du Conseil d’administration Edison avec le fichier /tmp/arduino.log
Établissez une connexion terminale à votre Conseil d’administration, et vous verrez la ligne ajoutée chaque fois que vous appuyez sur le bouton : il suffit de donner ce qui suit dans votre terminal :
racinequeue /tmp/arduino.log
La mis à jour le croquis (seule la ligne avec l’appel système ajouté) :
#include #include "rgb_lcd.h" rgb_lcd lcd; const int colorR = 0; const int colorG = 0; const int colorB = 255; const int pinButton = 7; // pin of button define here boolean touchStarted = false; void setup() { pinMode(pinButton, INPUT); // set button INPUT // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(0,0,0); // Print a message to the LCD. lcd.print("Status:"); delay(1000); } void loop() { lcd.setCursor(0, 1); if(digitalRead(pinButton)) // when button is pressed { if (!touchStarted) // act only on start of touch event { touchStarted = true; lcd.print ("touch!"); lcd.setRGB(colorR, colorG, colorB); system("echo $(date '+%Y %b %d %H:%M:%S') Touch! $(hostname) >> /tmp/arduino.log"); } } else { touchStarted = false; lcd.setRGB(0,0,0); lcd.print (" "); } delay(10); }