Raspberry Pi Internet väderstation (4 / 5 steg)
Steg 4: Source Code
All källkod för denna lilla väder display är baserad på Python, PyGame och Pywapi. Alla öppen källkod / fri programvara.
PyGame används för att göra alla GUI saker. Verkligen häpnadsväckande saker. Använda PyGame, byggs hela displayen en gång per sekund. Nära toppen av min källa koden hittar du en sektion som gör justeringar för olika visningsstorlekar. Det finns en för liten sammansatt en bildskärm och ett andra avsnitt för större HDMI displayen. Jag kommentera helt enkelt ut en av de två sektionerna baserat på display storlek jag behöver.
För att få min källa koden körs bara packa upp den bifogade filen och kopiera hela katalog på Pi använder filen hantera. När de har kopierats, starta det koden användandet följande ssh kommandon:
- CD väder
- sudo python weather.py
Sudo kommando behövs så att Python kan styra / läsa GPIO stiften. Det är förmodligen en bit runt denna begränsning men det undflyr mig.
När allt får arbeta med ssh är det dags för att få väder ska starta automatiskt vid en omstart. Detta är också jättelätt att göra.
- Med ssh, kör "sudo vi/etc/rc.local"
Precis innan den sista raden som säger "exit 0", lägger du till följande rader.
- CD /home/pi/Weather
- sudo python weather.py & > err.log
Detta startar automatiskt programmet väder på Pi efter en omstart. Om senare vill du stänga av detta, bara använda ssh att redigera filen och lägga till kommentar tecknet "#" framför båda linjerna och pånyttfödd.
Observera min källkod är en stor hacka och jag är inte mycket stolta över. Dock om jag väntade tills det var presentabel skulle det aldrig presenteras. Så, ta det eller lämna det bara inte gråta om jag har en mycket tunn hud.
Ett par andra saker att tänka på om min kod. Begravd ner där du kommer att märka några kod att prata med en X10 enhet. Detta var mitt försök att styra min pole utomhusbelysning som finns på adressen A3. Jag ville helt enkelt lyktorna på vid skymning och off i gryningen. Verkar enkelt nog, och jag trodde jag hade det att fungera. Med en USB till RS232 dongle på Pi hade I samband en CM11A X 10 modul. CM11A är en gammal X10 makromodul. CM11A har också en RS232-port som ger kontroll över X10 bussen. Verkar det finns fortfarande några buggar eftersom lampan pole lyser inte får meddelandet!
Notera, på större displayen finns det också en trevlig öppen lucka längs den högra sidan av displayen. Min plan är att lägga vissa status lampor i området. Jag spelar med några IEEE802.15.4 radioapparater och deras produktion en dag visas i den öppna platsen.
För de senaste och bästa uppdateringarna besök min webbplats på ph-elec.com.
Nåväl, låt mig veta i kommentarerna nedan alla frågor du har.
Tack, Jim.
Åh, och glöm inte att rösta på mig! Tack igen.
BTW: Det finns alltid mer information på