Stap 8: Begrip van de Software
Hier zullen we kijken wat in de software gebeurt er. Het script is eenvoudig en zal ik de uitleg kort houden. In het bijgevoegde archief zijn er drie bestanden. De manier waarop die dit werkt is dat ongeveer elke 4,5 minuten de zender die XBee zal doorgeven en ADC lezen. Het script zal analyseren van de waarde en beslissen als het moet tweet. Het zal tweet elke 4,5 minuten totdat het water wordt vervangen. Het eerste script dat zullen we kijken is helper.py.helper.py
Dit script is eenvoudig voor u te gebruiken om aan te nemen van prejudiciële metingen. Ik ga niet uit te leggen wat er gaande is in dit script omdat het letterlijk gekopieerd en uit het tpb.py script geplakt. We zullen dit gebruiken in de volgende stap om te helpen ons onze laatste belangrijkste script configureren.
XBee.py
Dit stuk van code is een kleine set van functies die zijn ontworpen om te helpen omgaan met de binnenkomende pakketten van het XBee. Parseren van de gegevens maakt het echt simpel. Zal niet gaan we via dit per regel omdat inzicht in het functionaliteit is triviaal aan dit project.
tpb.py
Ten slotte komen we bij het hoofdscript voor dit project. Dit is eigenlijk wat krijgt van de XBee ADC lezen en Tweeting wanneer dat nodig is. Neem een dichtere blik.
We beginnen met het importeren van alle noodzakelijke externe afhankelijkheden: de seriële bibliotheek, de XBee-bibliotheek, en de Twitter-bibliotheek. Daarna definiëren we sommige aanvankelijke variabelen die we later gebruiken. Scripties zijn commentaar op het script wat elk is voor en hun namen moet zichzelf.
Vervolgens initialiseren we de twitter API. De twitter gesprek. API(...) neemt vier argumenten. De eerste twee zijn de sleutel van de consument en de consument geheim respectievelijk. De tweede twee zijn Access Token en Access Token Secret. Dit zijn de snaren van tekens we kregen wanneer we de toepassing van de Tjilpen instelt.
Dan hebben we te openen van de seriële aansluiting met de ontvanger XBee. We zetten een seriële-object met de seriële poort en de baud-rate en vervolgens openen we de verbinding.
Nu definieren we onze belangrijkste programma lus die roep ik enkel mainLoop. Eerste wat die wij doen in onze hoofdlus krijgt een pakje van de XBee of anders wij keert terug uit de functie. Dan zullen we het pakket door het aanroepen van een functie in de bibliotheek XBee ontleden. Nu we instellen en array bevatten de ADC lezen van alle monsters van het pakket met uitzondering van de eerste (ADC lezen kan soms worden krenterig op de eerste lezen). Vervolgens zullen we deze waarden gemiddelde. We controleren vervolgens, als het als de gemiddelde waarde is kleiner dan de waarde die we instellen als de drempelwaarde. Als er we tweet en verhogen de waarschuwing het nummer anders wij het nummer van de waarschuwing op nul gezet.
En, we eindelijk een tijdje lus met een voorwaarde om te houden van het script dat wordt uitgevoerd voor onbepaalde tijd en de mainLoop-functie aanroepen.