Étape 5: Le codage
Tel que noté ci-dessus, nous avons construit notre extrait de code basé sur l' Auditeur d’État GPIO, exemple fourni par l’équipe de Pi4J. Cet exemple de programme est capable d’écouter les changements d’État broche GPIO et retourne ceux dans l’interface de ligne de commande.
Le programme se trouve dans /opt/pi4j/examples
Vous pouvez ouvrir le programme avec n’importe quel éditeur de votre choix et modifier vous-même ou il suffit de copier notre version dans le dossier. Nous avons ajouté une instruction si simple qui déclenche un tweet (n’oubliez pas de mettre en œuvre vos jetons API) dès que l’état passe à "HIGH" (relais de grève porte activé). Si vous souhaitez prendre la photo avec la caméra de Pi-R ainsi et l’enregistrer avec un timestamp, vous pouvez utiliser le code suivant :
Duree de java.lang.Runtime = java.lang.Runtime.getRuntime() ;
java.lang.Process pic = runtime.exec ("raspistill -o /home/pi /" + pic_time.format(cal.getTime()) + ".jpg") ;
Vérifiez que l’horodatage a obtenu un bon format. L’estampille « temps » que nous utilisons pour le marquage des messages CLI est défini comme :
SimpleDateFormat temps = new SimpleDateFormat ("JJ. MM.yyyy, HH") ;
Ce format ne fonctionne pas comme un nom de fichier pour les images étant donné que le processus ne peut pas être exécuté. C’est pourquoi introduire un autre format tel que :
SimpleDateFormat pic_time = new SimpleDateFormat ("JJMMAAAA-HHmmss") ;
Lorsque vous êtes prêt à gronder, compilez le programme Java :
javac - classpath .:classes:/opt/pi4j/lib /'* ' -d. Listener_Tweet.Java
et exécutez-le :
sudo java - classpath .:classes:/opt/pi4j/lib /'* ' Listener_Tweet