Stap 5: Graven dieper in de code
Wanneer u het script opent, zult u opmerken dat het bestaat uit drie functies samen met een codeblok dat deze functies implementeert wanneer het script wordt uitgevoerd. De functies maken gebruik van de API van Dropbox en en toegang tot de de DS18B20 temperatuur logboekbestand om te luisteren naar commando's van Dropbox en uploaden van de laatste lezing van de temperatuur. Hieronder is een overzicht van wat de functies doen, en hoe ze worden gebruikt voor het maken van het controlesysteem werkt:
- poll_parameter():
Deze functie toont het doel van de Dropbox parameter bestanden die we in stap 3 hebt gemaakt. Het zoekt in de map Dropbox app voor een bestand met de tekst ' param ='. Vervolgens wordt de tekst na het '=' en probeert om te zetten in een geheel getal. U kunt zien dat dit laat ons toe om het programma te besturen door relevante nummers aan het einde van de parameter-bestanden handmatig toe te voegen. De volgende stap zal een korte handleiding toont u hoe elk van de parameter-bestanden gebruiken om te bepalen van een aspect van het programma bevatten.
- set_parameter():
Deze functie kan het programma de naam van een parameter bestand vanuit Python wijzigen. Dit gebeurt bij een paar gelegenheden, vooral behoefte te verminderen de buitensporige handmatig hernoemen van bestanden.
- set_latest_temp():
Deze functie maakt gebruik van set_parameter() voor het uploaden van de nieuwste temperatuur naar de Dropbox app map door het toe te voegen aan de "temperatuur" parameter bestand. De functie leest de nieuwste temperatuur uit de de DS18B20 logboekbestand (die beschikbaar is op Linux in het pad aangegeven door de variabele THERMOMETER_FILE).
Het laatste gedeelte van het programma bevat de code die wordt uitgevoerd wanneer het script wordt uitgevoerd. Nadat sommige installatiestappen nodig zijn voor de DS18B20 sensor, het opent een Dropbox-sessie met uw Access Token en pygame gebruikt om te zoeken op uw webcam. Als een webcam is gevonden, zal het in een lus terecht waar het poll_parameter() gebruikt om informatie te extraheren uit Dropbox en wet inzake het.
Belangrijk: U ziet de volgende coderegel:
cam = pygame.camera.Camera(cam_list[0], (864, 480))
.. .dit pogingen om het maken van een bruikbare camera-interface van de eerste webcam die pygame detecteert. De resolutie moet mogelijk worden aangepast aan uw webcam. Experimenteer met een aantal waarden om te vinden wat het beste werkt.