Stap 5: De codering
Zoals hierboven vermeld bouwden we onze codefragment gebaseerd op de GPIO staat luisteraar voorbeeld geboden door het Pi4J-team. Dit voorbeeldprogramma is in staat te luisteren naar GPIO pin staat wijzigingen en retourneert die in de command line interface.
Het programma is gelegen in /opt/pi4j/examples
U kunt open het programma met een editor van uw keuze en zelf wijzigen of onze versie gewoon kopiëren naar de map. Wij toegevoegd een eenvoudige-instructie als die triggers een tweet (Vergeet niet om uw API-penningen) zodra de status op "Hoog" (deur staking Relais geactiveerd verandert). Als u willen zou nemen van foto met de R-Pi camera zo goed en sla het met een tijdstempel, mag u de volgende code gebruiken:
java.lang.Runtime runtime = java.lang.Runtime.getRuntime();
java.lang.Process pic = runtime.exec ("raspistill -o /home/pi /" pic_time.format(cal.getTime()) + ".jpg");
Zorg ervoor dat de tijdstempel kreeg een goede indeling. De tijdstempel van de "tijd" die we gebruiken voor tagging de CLI-berichten wordt gedefinieerd als:
SimpleDateFormat tijd = nieuwe SimpleDateFormat ("dd. MM.yyyy, UU");
Dit formaat zal niet werken als een bestandsnaam voor de foto's, omdat het proces kan niet worden uitgevoerd. Daarom voeren in een andere indeling, zoals:
SimpleDateFormat pic_time = nieuwe SimpleDateFormat ("DDMMJJJJ-uummss");
Wanneer u klaar bent om de rumble compileert de Java-programma:
javac - classpath .:classes:/opt/pi4j/lib /'* ' -d. Listener_Tweet.java
en uit te voeren:
sudo java - classpath .:classes:/opt/pi4j/lib /'* ' Listener_Tweet