Tweeting sällskapsdjur skål (8 / 10 steg)
Steg 8: Förstå programvaran
Här kommer vi att titta på vad som händer i programvaran. Skriptet är enkel och jag ska hålla förklaringen kort. I det bifogade arkivet finns tre filer. Hur detta fungerar är att omkring var 4,5 minuter sändare XBee sänder och ADC läsning. Skriptet kommer att analysera värdet och besluta om den behöver att tweet. Det kommer tweet var 4,5 minuter tills vattnet har bytts ut. Den första skriften ska vi titta på är helper.py.Helper.py
Detta skript är helt enkelt för dig att använda för att göra preliminära mätningar. Jag tänker inte förklara vad som händer i det här skriptet eftersom det är bokstavligen kopieras och klistras in av skriptet tpb.py. Vi använder detta i nästa steg för att hjälpa oss att konfigurera våra sista huvudsakliga skript.
XBee.py
Denna del av koden är en liten uppsättning funktioner för att hantera inkommande paketen från XBee. Analysera data gör verkligen enkelt. Vi kommer inte gå igenom denna rad för rad för att förstå det är funktionaliteten är trivialt att detta projekt.
TPB.py
Slutligen kommer vi till det huvudsakliga scriptet för detta projekt. Detta är faktiskt vad kommer att få den XBee ADC läsning och Tweeting vid behov. Låt oss ta en närmare titt.
Vi börjar genom att importera alla nödvändiga externa beroenden: den seriella, XBee biblioteket och Twitter biblioteket. Nästa definiera vi vissa inledande variabler som vi kommer att använda senare. Avhandlingar är kommenterade skriptet om vad var och är för och deras namn bör vara självförklarande.
Därefter ska vi initiera twitter API. Samtal twitter. API(...) tar fyra argument. Två första är konsumenten nyckel och konsumenten hemlighet respektive. De andra två är tillgång Token och tillgång Token hemlighet. Detta är teckensträngar vi fick när vi satt upp twitter ansökan.
Måste vi öppna seriell anslutning med mottagaren XBee. Vi satt upp ett seriellt objekt med den seriella porten och överföringshastigheten och vi öppna anslutningen.
Nu ska vi definiera våra huvudprogrammet ögla som jag kallar bara mainLoop. Första vi ska göra i vår huvudloop är få ett paket från XBee eller annat vi kommer tillbaka ur funktion. Sedan ska vi tolka paketet genom att anropa en funktion som ingår i XBee biblioteket. Nu ska vi ställa in och array innehåller ADC läsning från alla prover paketets utom den första (ADC läsning kan ibland vara knäpp på den första Läs). Sedan ska vi i genomsnitt dessa värden. Vi kontrollerar sedan om om genomsnitt värdet är mindre än det värde som vi satt som tröskelvärdet. Om det är vi tweet och öka varningen numret annars vi ange numret varning till noll.
Och slutligen vi lägger ett tag ögla med ett sant tillstånd att hålla skriptet körs på obestämd tid och anropa funktionen mainLoop.