Stap 3: Logboekgebeurtenissen van de aanraking tot het dossier
Tot dusverre goed. Het is nu tijd om te interageren met de linux die verstopt onder de Arduino Edison-proces.
De eenvoudigste manier om dat te doen is door te bellen naar een systeem commando of script met Arduino Edisons system() functie.
Dus, de gemodificeerde schets hieronder, elke keer als de touch sensor wordt geactiveerd, voegt een regel met de datum en tijd, samen met het bericht "touch!" en van de Edison-board hostname aan het bestand /tmp/arduino.log
Terminal verbinding maken met uw bord, en je ziet de lijn toegevoegd telkens wanneer u op de knop drukt: Geef enkel het volgende in je terminal:
wortelstaart /tmp/arduino.log
De gewijzigde schets (alleen de regel met de system call toegevoegd):
#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); }