Étape 5: Écrire du Code Python
J’ai écrit un petit programme à l’aide de python pour contrôler les caractéristiques de la HESA. Le programme principal est appelé hesa.py. J’ai aussi fait un module pour envoyer e-mail appelé rynokEmail.py. Le module de courrier électronique peut être utilisé dans d’autres programmes. Les liens vous mèneront au code source.
Il est important de mentionner que la broche d’entrée sur la facture pro forma de framboise est configuré comme un menu déroulant comme suit :
GPIO.setup (inPin, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
Voici le pseudo-code pour le programme qui montre les étapes de base :
1. Chargez les bibliothèques utilisées par le programme et de définir des variables globales
2. initialiser le GPIO sur la Pi framboise
3. Allumez le relais
4. Créez une nouvelle page web de statut
5. commencez à chercher de l’eau en envoyant des signaux sur une électrode et cherchez le courant sur l’autre électrode.
5 a. mettre à jour la page d’État toutes les 10 minutes
5 b. Si le courant se trouve sur l’électrode d’entrée
5 b 1. Coupez l’alimentation au relais et réinitialiser le GPIO sur la PI
5 b 2. Envoyer un email
5 b 3. mettre à jour la page d’État
Soit dit en passant, il y a quelques choses que j’aime faire lors du codage dans n’importe quelle langue. Tout d’abord, je fais une variable globale de débogage. Ensuite, j’ai mis instructions de débogage dans tous mes modules donc je peux dépanner le programme si cela ne fonctionne pas. Idéalement, le programme signalera lorsqu’il pénètre dans un module, l’état des variables clés dans le module, lorsque se produit un événement-clé, et lorsque vous quittez le module. Tous les messages peuvent être éteint tout simplement en changeant la valeur de la variable de débogage dans un seul endroit.
Deuxièmement, j’essaie de tout commentaire de fond. Cela aide quand je reviens un an plus tard et essayer de comprendre comment fonctionne un extrait de code. Je fais aussi le code aussi simple que possible. Cela peut signifier casser une ligne complexe en plusieurs lignes plus simples du code. J’essaie aussi explicitement en détail toutes les conditions If/Then et pas utiliser ELSE à moins que je ne sais pas que toutes les conditions IF ne seront pas atteint.
Troisièmement, j’ai des modules réutilisables lorsque c’est possible de faire et placez-les dans un dossier commun qui peuvent voir tous les programmes. De cette façon, je n’ai pas de réinventer la roue pour chaque programme que j’écris.
Suivant : Faire de l’enceinte