Cuprins:

Stație meteo Internet Raspberry Pi: 5 pași (cu imagini)
Stație meteo Internet Raspberry Pi: 5 pași (cu imagini)

Video: Stație meteo Internet Raspberry Pi: 5 pași (cu imagini)

Video: Stație meteo Internet Raspberry Pi: 5 pași (cu imagini)
Video: High Density 2022 2024, Iulie
Anonim
Stație meteo Internet Raspberry Pi
Stație meteo Internet Raspberry Pi
Stație meteo Internet Raspberry Pi
Stație meteo Internet Raspberry Pi

*** Actualizați ***

Acest instructabil nu mai este actualizat. Serviciile meteo pentru datele meteo, utilizate în acest instructabil, nu mai funcționează. Oricum, există un proiect alternativ care face practic același lucru (doar mai bine - acest Instructable a fost întotdeauna doar un hack). Iată deci linkul pe care veți dori să îl urmați:

https://piweatherrock.technicalissues.us/

Vă mulțumesc foarte mult, mergeți la Gene Liverman la PiWeatherRock pentru că ați preluat mantaua acestui proiect.

Acest instructable vă va arăta cum să construiți o stație meteo Raspberry Pi foarte interesantă, bazată pe internet. De fapt, a numi această construcție „stație meteo” este un pic o declarație sub. Această construcție ar putea fi ușor extinsă pentru a oferi mult mai mult decât pur și simplu vremea. Cu toate acestea, este un început bun și arată foarte bine pe biroul meu.

Familia noastră (OK, mai ales eu) a plăcut să aibă iPad-ul familiei pe blatul bucătăriei, atunci când nu este utilizat, arătând în liniște condițiile meteorologice actuale din exterior. Cu toate acestea, este greu să încărcați și să descărcați iPad-ul în și în afara carcasei arcade. În plus, tocmai când mă duc să privesc vremea, descopăr că cineva a luat afișajul iPad / vreme. Ceea ce este necesar este un afișaj permanent de tip counter-top, pe care copiii să nu îl gliseze ca iPad-ul.

Pasul 1: Gen 1 - stația meteo Lunchbox Pi

Gen 1 - stația meteo Lunchbox Pi
Gen 1 - stația meteo Lunchbox Pi
Gen 1 - stația meteo Lunchbox Pi
Gen 1 - stația meteo Lunchbox Pi

Primul meu gând a fost să folosesc un mic display video compozit. Am luat-o pe cea din poză pe Ebay pentru 22 de dolari - căutați pur și simplu pe „Monitor TFT LCD de 4,3 inchi pentru monitor auto pentru monitorul auto”. Afișajul are o rezoluție raportată de 656 x 416 pixeli, ceea ce face provocator afișarea multor informații utile! Afișajul necesită 12Vdc ca tensiune de alimentare. Raspberry Pi, desigur, are nevoie de 5Vdc ca tensiune de alimentare. Pentru a rezolva acest lucru, am cumpărat un încărcător USB ieftin de la Amazon. Pentru aproximativ 6 dolari, am găsit un schimbător de mașini de 5Vcc cu 2 Amp. Prin urmare, cutia de prânz are o sursă de alimentare externă de 12Vdc. 12Vcc alimentează direct ecranul. 12Vdc merge, de asemenea, la încărcătorul auto USB, care reduce tensiunea la un 5Vdc reglementat. Ca ultim hack, am lipit o pereche de fire direct între încărcătorul auto și Raspberry Pi - nu cea mai bună idee a mea.

Deși totul a funcționat cam nu am fost foarte mulțumit de calitatea videoclipului de pe ecranul compozit. Fontul mic de pe ecran era mai neclar decât mi-aș dori. În plus, în timp ce cutia de prânz părea la început mai drăguță mai târziu, părea cam brânză.

Pasul 2: Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser

Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser
Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser
Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser
Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser
Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser
Gen 2 - Monitor HDMI + Carcasă arcade din plexiglas tăiat cu laser

Înapoi pe eBay am găsit un monitor HDMI cu cadru deschis de 54 de dolari, cu o rezoluție de 800x600. Prin definiție, un cadru deschis are nevoie de un cadru pentru a se monta. Deoarece drăguțul cutiei de prânz a trecut mult timp, a fost timpul pentru niște acrilice tăiate cu laser. Spațiul meu local de hacker i3Detroit are un dispozitiv de tăiere foarte frumos de 150 de wați care poate face carne tocată de acril 4.5mm.

Mi-am bazat în mod vag carcasa arcade pe cutia arcade iPad. Dacă aș face vreodată un design Gen 3, ar include în mod sfidător o tavă detașabilă / glisantă pentru Pi. Se pare că este o durere majoră în gât încercarea de a conecta și ieși din Pi, deoarece nu există prea mult spațiu între Pi și pereții laterali.

Monitorul HDMI necesită, de asemenea, o alimentare de 12Vcc. Așadar, am folosit același truc de a folosi din nou un încărcător USB pentru mașină. De data aceasta, totuși, am tăiat un vechi cablu USB, astfel încât firele lipite pe Pi nu erau necesare.

Dacă cineva este interesat de cazul arcade postează un comentariu mai jos și voi încărca fișierele DXF. Sau fișierele sunt pe site-ul meu web la ph-elec.com.

Pasul 3: Configurare Pi

Configurare Pi
Configurare Pi

Nu este atât de greu să configurați un nou Raspberry Pi cu software-ul necesar. Tot software-ul este scris în Python cu un singur modul Python adăugat. Modulul Python suplimentar se numește „pywapi”. Iată un link de unde puteți descărca modulul. Acest modul facilitează obținerea de vreme în timp real fie de pe Yahoo, Weather.com sau NOAA.

În primul rând, iată o listă de verificare pentru configurarea unui Raspberry Pi brut:

  1. Descărcați cel mai recent Raspbian (Debian Wheezy). Dezarhivați pentru a obține un fișier.img.
  2. Scrieți pe un card SD cu „dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of = / dev / sdb”
  3. Comanda dd durează aproximativ cinci minute. După finalizare, rulați „sincronizare” pentru a spăla conductele.
  4. Instalați cardul SD în Pi și reporniți. Asigurați-vă că există o conexiune Ethernet la Pi.
  5. Folosind pagina „Dispozitive atașate” de pe router, găsiți adresa IP a noului Pi.
  6. Conectați-vă la Pi utilizând „ssh [email protected]. ???” Unde ??? este numărul IP de mai sus. Parola va fi „zmeură”.
  7. Pe Pi, utilizați comanda „raspi-config” pentru a configura valorile implicite.

    1. Porniți pornirea automată în GUI.
    2. Setați numele gazdei la ceva de genul „MyPi”.
  8. Instalați VNC pe Pi cu „sudo apt-get install tightvncserver”.

    Rulați „tightvncserver” care setează parola

  9. Înapoi pe marea casetă Linux, utilizați „Remote Desktop” pentru a vizualiza desktopul GUI Pi.

    1. Setați Protocolul la „VNC” și numărul IP la „192.168.1.???:1”. Rețineți „: 1” la sfârșitul numărului IP.
    2. Apăsați butonul de conectare și furnizați parola VNC.
    3. Bingo, desktop GUI Pi la distanță!

      Acest lucru economisește scoaterea unui monitor, tastatură și mouse pentru a vă conecta la noul Pi

    4. Pe desktop, rulați pictograma de configurare WiFi. Configurați noul Pi / USB WiFi pentru a vă conecta la rețea.
    5. Închideți conexiunea VNC - acum am terminat cu desktopurile de la distanță.
  10. Înapoi în fereastra ssh, reporniți Pi cu „sudo reboot”. Deconectați cablul Ethernet, deoarece WiFi este acum configurat.
  11. Înapoi pe routerul de acasă, găsiți noul număr IP pe care Pi îl folosește cu WiFi.
  12. Folosind ssh, conectați-vă din nou utilizând noul număr IP. De data aceasta conectarea va fi prin WiFi.
  13. Folosind File Manger pe Linux, conectați-vă la Pi utilizând comanda „conectați-vă la server”.

    Adresa serverului este „sftp: //192.168.1. ??? / home / pi”

  14. Configurare de bază finalizată.

Apoi, pywapi trebuie descărcat și instalat. Din nou, acest lucru nu este prea greu cu următorii pași:

  1. Descărcați cele mai recente de aici. Extrageți arhiva într-un director nou.
  2. Folosind File Manger, copiați directorul în directorul principal Pi.
  3. Folosind ssh, faceți următoarele pe Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py instalare
  4. Terminat.

Actualizare, am uitat două menționează alte două lucruri:

  1. Pe Pi executați următoarea comandă:

    1. sudo apt-get install avahi-daemon

      Aceasta permite conectarea la Pi după nume. Deci, pe computerul dvs. principal vă puteți conecta ca „ssh [email protected]” în loc să utilizați numere IP. Cu mai multe Pi în rețea, este ușor să le confundați, cu excepția cazului în care sunteți chemat pe nume

    2. sudo raspi-config

      1. Căutați și rulați a 4-a opțiune numită „Opțiuni de internaționalizare” și setați fusul orar.
      2. Cu fusul orar setat și ntpd (daemon protocol de timp de rețea) care rulează, Pi va afișa întotdeauna ora corectă până la câteva milisecunde! Trebuie să-ți placă.
  2. OK, acum am terminat din nou.

Pasul 4: Cod sursă

Cod sursa
Cod sursa

Tot codul sursă pentru acest mic afișaj meteo se bazează pe Python, PyGame și Pywapi. Toate programele open source / gratuite.

PyGame este folosit pentru a face toate lucrurile GUI. Chestii cu adevărat uimitoare. Folosind PyGame, întregul ecran este reconstruit o dată pe secundă. Aproape de partea de sus a codului meu sursă veți găsi o secțiune care permite modificarea pentru diferite dimensiuni de afișare. Există o secțiune pentru afișajul video compozit mic și o a doua secțiune pentru afișajul HDMI mai mare. Pur și simplu comentez una dintre cele două secțiuni pe baza dimensiunii afișajului de care am nevoie.

Pentru a-mi rula codul sursă, doar dezarhivați atașamentul și copiați întregul director pe Pi folosind Gestionare fișiere. După copiere, porniți codul utilizând următoarele comenzi ssh:

  1. cd Vremea
  2. sudo python weather.py

Comanda sudo este necesară pentru ca Python să poată controla / citi pinii GPIO. Probabil că există o anumită cale în jurul acestei restricții, dar mă eludează.

Odată ce totul funcționează folosind ssh, este timpul ca vremea să înceapă automat la o repornire. Acest lucru este, de asemenea, foarte ușor de făcut.

  1. Folosind ssh, rulați „sudo vi /etc/rc.local”
  2. Chiar înainte de ultima linie, care spune „ieșire 0”, adăugați următoarele la linii.

    1. cd / home / pi / Weather
    2. sudo python weather.py &> err.log

Aceasta va porni automat aplicația meteo pe Pi după o repornire. Dacă mai târziu doriți să dezactivați acest lucru, utilizați doar ssh pentru a edita fișierul și adăugați caracterul de comentariu „#” în fața ambelor linii și reporniți.

Rețineți, codul meu sursă este un mare hack și nu sunt foarte mândru de el. Cu toate acestea, dacă aș aștepta până când va fi prezentabil, nu ar mai fi prezentat niciodată. Deci, ia-l sau lasă-l, pur și simplu nu plânge, deoarece am o piele foarte subțire.

Câteva alte lucruri de remarcat despre codul meu. Îngropat acolo veți observa un cod pentru a vorbi cu un dispozitiv X10. Aceasta a fost încercarea mea de a controla luminile exterioare ale stâlpului meu care sunt pe adresa A3. Am vrut pur și simplu să se aprindă lămpile la amurg și să se stingă în zori. Pare destul de ușor și am crezut că îl funcționez. Folosind un dongle USB-to-RS232 pe Pi, am conectat un modul CM11A X10. CM11A este un vechi modul macro X10. CM11A are și un port RS232 care permite controlul asupra magistralei X10. Se pare că există încă unele erori, deoarece luminile stâlpului lampii nu primesc mesajul!

De asemenea, de remarcat, pe ecranul mai mare există un spațiu deschis frumos de-a lungul părții din dreapta a ecranului. Planul meu este să adaug câteva lămpi de stare în acea zonă. Mă joc cu niște radiouri IEEE802.15.4 și ieșirile lor vor apărea într-o zi în acel loc deschis.

Pentru cele mai recente și mai bune actualizări, vă rugăm să vizitați site-ul meu web la ph-elec.com.

Ei bine, anunțați-mi în secțiunea de comentarii de mai jos orice întrebări pe care le aveți.

Mulțumesc, Jim.

A, și nu uitați să mă votați! Mulțumesc din nou.

BTW: Există întotdeauna mai multe informații pe site-ul meu web: www.ph-elec.com

Pasul 5: Actualizare metrică

Atașată este o nouă versiune care permite afișarea metrică sau imperială.

Sper că acest lucru vă ajută, Jim

Recomandat: