Étape 8: Comprendre le logiciel
Ici nous allons examiner ce qui se passe dans le logiciel. Le script est simple et je vais garder l’explication brève. Il y a trois fichiers dans l’archive ci-jointe. La façon dont cela fonctionne est qu’environ toutes les 4,5 minutes l’émetteur que transmettra XBee et l’ADC lire. Le script va analyser la valeur et décider si elle doit tweet. Il tweet chaque 4,5 minutes jusqu'à ce que l’eau est remplacée. Le premier script que nous allons étudier est helper.py.Helper.py
Ce script est tout simplement que vous pouvez utiliser afin de prendre des mesures préliminaires. Je ne vais pas expliquer ce qui se passe dans ce script car il est littéralement copié et collé sur le script tpb.py. Nous allons utiliser cela dans la prochaine étape pour nous aider à configurer notre script principal final.
XBee.py
Ce morceau de code est un petit ensemble de fonctions conçues pour aider à traiter les paquets entrants de le XBee. Il fait l’analyse de données très simple. Nous n’irons à travers cette ligne par ligne parce que la compréhension de ses fonctionnalités sont triviale à ce projet.
TPB.py
Enfin, nous arrivons au script principal pour ce projet. C’est effectivement ce qui obtiendront ADC de le XBee lire et Tweeting lorsque cela est nécessaire. Nous allons jeter un coup de œil.
Nous commençons par l’importation de toutes les dépendances externes nécessaires : la bibliothèque de série, la bibliothèque XBee et la bibliothèque de Twitter. Ensuite, nous définissons quelques variables initiales que nous utiliserons plus tard. Thèses sont a commenté sur le script quant à ce que chacun est pour et leurs noms devraient être explicites.
Ensuite, nous allons initialiser l’API twitter. Le twitter de l’appel. API(...) accepte quatre arguments. Les deux premiers sont la clé de la consommation et le Consumer Secret respectivement. Les deux sont le jeton d’accès et accès jeton Secret. Ce sont les chaînes de caractères, que nous avons eu quand nous avons mis en place l’application twitter.
Nous devons ouvrir la connexion en série avec le récepteur XBee. Nous avons mis en place un objet série avec le port série et le débit en bauds et ensuite nous ouvrir la connexion.
Maintenant nous allons définir notre boucle principale du programme que je viens d’appeler mainLoop. Première chose que nous ferons dans notre boucle principale est un paquet en retire le XBee, sinon nous allons rendre hors de la fonction. Nous allons, puis analysez le paquet en appelant une fonction contenue dans la bibliothèque de XBee. Maintenant, nous allons mettre en place et tableau pour contenir l’ADC lecture de tous les échantillons du paquet à l’exception de la première (ADC lecture peut parfois être tordu sur la première lecture). Nous allons ensuite ces valeurs moyennes. Ensuite, nous vérifions si la fi la valeur moyenne est inférieure à la valeur que nous avons définies comme valeur seuil. Si c’est nous tweet et incrémenter l’avertissement le nombre dans le cas contraire nous définir le numéro d’avertissement à zéro.
Et enfin, nous avons mis un certain temps boucle avec une véritable condition de garder le script s’exécute indéfiniment et appeler la fonction mainLoop.