Raspberry Pi övervakning av hemmet med Dropbox (5 / 7 steg)

Steg 5: Gräva djupare i koden

När du öppnar skriptet, kommer du att märka att det består av tre funktioner tillsammans med ett kodblock som implementerar dessa funktioner när skriptet körs. Funktioner använder Dropbox API och och åt den DS18B20 temperatur loggfilen för att lyssna på kommandon från Dropbox och ladda upp den senaste temperatur behandlingen. Nedan följer en översikt över vad funktioner gör, och hur de används för att övervaka systemet att fungera:

- poll_parameter():

Denna funktion visar syftet med Dropbox parametern filerna vi skapat i steg 3. Det söker efter en fil som innehåller texten i Dropbox app mappen "param =". Då extraheras texten efter '=' och försöker att omvandla det till ett heltal. Du kan se att detta ger oss möjlighet att kontrollera programmet genom att lägga till numren på de berörda i slutet av parametern filerna manuellt. Nästa steg kommer att innehålla en kort bruksanvisning visar hur du kan använda parametern filer för att styra en aspekt av programmet.

- set_parameter():

Denna funktion kan du byta namn på en parameterfilen i Python. Detta sker vid ett par tillfällen, främst för att minska behovet av överdriven manuell byta namn på filerna.

- set_latest_temp():

Denna funktion använder set_parameter() för att överföra de senaste temperaturen till Dropbox app mapp genom att filen "temperatur" parameter läggs. Funktionen läser senaste temperaturen från de DS18B20 loggfil (som finns på Linux på vägen av variabeln THERMOMETER_FILE).

Den sista delen av programmet innehåller koden som ska köras när skriptet körs. Efter några installationsstegen krävs för DS18B20 sensorn, det öppnar en Dropbox session med din tillgång Token och använder pygame för att söka reda på din webbkamera. Om en webbkamera finns, kommer det in en loop där den använder poll_parameter() för att extrahera information från Dropbox och agera på det.

Viktigt: du kommer att märka den följande lina av koden:

cam = pygame.camera.Camera (cam_list [0], (864, 480))

... detta försök att skapa en användbar kamera gränssnitt från första webbkameran att pygame upptäcker. I resolutionen kan behöva ändras för att matcha din webbkamera. Experimentera med ett antal värden att hitta vad som fungerar bäst.

Se Steg
Relaterade Ämnen

Industriella IoT program - hur gör din egen Remote miljömässiga övervakning låda med sensorer

** Uppdatering: Artikeln nedan är från vår äldre Android app! VALARM är industriella IoT. Vi hjälper dig, ditt team och ditt företag med industriell IoT program med hjälp av Valarm verktyg moln.Våra färdiga att gå kit-paket finns tillgängliga på shop...

Twitter övervakning leksak byggt med LEGO & Arduino

Detta är en animerad LEGO leksak som övervakar twitter och firar varje gång det söker en ny förekomst av hashtag #BLOCKSHELL av klingande en klocka, blinkar en ljus och skicka en liten minfigure aktivist dude upp en arktisk oljerigg överbyggnad.(Mini...

Raspberry Pi Cloud IP-kamera med POE

Jag blev inspirerad av scavix's arbete med instructable Raspberry Pi som låg-kostnad HD övervakningskamera så jag bestämde mig att göra min egen Raspberry PI-baserad IP-kamera som också har POE och stödjer integration med Google Drive.Den video ström...

Raspberry pi + Openenergymonitor + PLC Panasonic med Python via Ethernet

Du vill ansluta en Panasonic PLC med Openenergymonitor plattform för övervakning, i detta fall med python inbäddade i en Rasberry Pi som har en webbserver som publicerar Emoncms.PLC Panasonic FPX C14 RSpänning läsa med AFPX modul A21 (2 ingång och 1...

Allt-i-ett raspberry Pi komma igång med

Raspberry Pi, en av de mest geniala uppfinningen för beslutsfattare och hackare. Innan vi börjar i de praktiska och tråkiga detaljerna för att få det setup, vi först måste fundera över frågan att vad Raspberry Pi faktiskt är?Raspberry Pi är en linux-...

Ansluta Raspberry Pi att nätverka med UART

I denna tutorial kommer jag visa dig hur du ansluter din Raspberry Pi till Internet bara genom att använda dess seriell linje som är tillgänglig på GPIO. Detta kan vara mycket bra om det finns någon annan möjlighet av anslutning tillgänglig som ether...

Bygga din Android Apps för övervakning IoT enheter med REST API

För några veckor sedan, har jag genomfört resten web service bibliotek för WIZwiki-W7500ECO styrelse. Postat på Instructables Ive ', (med innehåll!)Jag bestämde mig att skapa mina egna Apps för att övervaka min bräda med resten API: er. Mina Apps ska...

IoT - kontrollera en Raspberry Pi Robot över internet med HTML och shell skript endast

(Om du gillar detta Instructables, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar om SAKERNAS INTERNET och AUTOMATION tävlingar. Tack så mycket! ;-)I detta instructable, vi lära dig att skapa en helt kontrollerad IoT Raspber...

Raspberry Pi allt-i-ett med pekskärm!

Efter min tidigare projekt, en bärbar dator baserad på en Raspberry Pi 2, som är denna: bestämde jag mig för att bygga inte klippte för mina dagliga syften. Och eftersom jag inte äger en tablett eller en laptop (jag använder alltid antingen pappas bä...

Övervakning av energi med INSTEON

Om du är som mig, kommer att du gå ut från ditt sätt att minimera din elräkningar. Medan du kan vidta åtgärder för att sänka vattenförbrukningen med lågt flöde toaletter och inventarier, inget kan jämföras med detaljnivå som möjligt som med per enhet...

Hur man bygger en Raspberry Pi noll Humanoid Robot med Java

Hej ska jag visa dig hur man gör en humanoid robot med pi nollSteg 1: delarden totala listan blir som följer för att driva sensorer och PI:* Raspberry PI noll + 16GB micro-SD kortMicro-usb hub + Wifi Dongle* AdaFruit Powerboost 1000 Basic* AdaFruit 1...

Lätt Raspberry Pi AirPlay Music Server med kluven-Daapd

Den nya Raspberry Pi 3 innehåller nu en wifi-chip som gör det enklare än någonsin att använda för hemautomation projekt. Jag har en stor musiksamling som inte får plats på en smartphone, men vill inte lämna en dedikerad dator igång hela tiden bara fö...

Synkronisera Pidgin loggar med Dropbox

jag använder två olika datorer, mitt skrivbord och min EeePC (Murray), och beroende på vad jag gör, jag använder Pidgin för IRC på dem båda. Min favorite huvudnummer om Pidgin är förmågan att logga allt och snabbt söka alla loggar, men det är knepigt...

Raspberry Pi Mobile Media Center med Smartphone kontroll

Våra viktigaste idéer för en perfekt mobil mediacenter är:-titta på video eller lyssna på musik var som helst (bara strömförsörjning och en monitor/projektor för videor krävs)-enkel kontroll med din smartphone-enkel installation för icke-programmerar...

Raspberry Pi som HiFi-spelare med RuneAudio

detta Instructable visar dig hur du slår din Raspberry Pi i en HiFi-musikspelare med överraskande ljud kvalitet i kombination med en USB DAC.Vi ska här presentera RuneAudio, en fri och öppen källkod som vi utvecklat för att ersätta den personliga dat...

Raspberry pi 2 vatten larm med t skomakare plus

Detta är vårt första försök med raspberry pi 2Vi ville skapa ett headless vatten larmDelar som används:Raspberry Pi 2Funduino vatten sensor1 k motståndRöd LedAdafruit T-skomakare PlusStor breadboard (för stor;-p)Steg 1: Inställning av PI 2 Vi hade ba...

Lätt Raspberry Pi säkerhet Cam med automatisk webböverföring

Detta är ett projekt som jag satte ihop super quick i under en vecka eller så. Anledningen till att jag behövde ställa in som jag gjorde det var att få en grundläggande trygghetssystem på plats så snart som möjligt att övervaka mitt garage via min mo...

Överföra MP3-låtar i Raspberry Pi till Android telefon med Bluetooth

IntroduktionChanserna är du har massor av mp3-filer som fastnat i en PC som jag gör. Jag ville lyssna på låtarna när jag är ute. Så det är min motivation för att göra detta instructable.RäckviddDetta instructable visar:Hur man installerar Bluetooth i...

Hur att dela digitala filer för alla med Dropbox

Dropbox är ett program som låter dig synkronisera dina filer (dokument bilder och videor) över alla elektroniska enheter (smartphones, tabletter, bärbara datorer, datorer) via internet. Detta gör du enkelt synkronisera alla dina data mellan alla dina...