Satura rādītājs:

Raspberry Pi interneta laika stacija: 5 soļi (ar attēliem)
Raspberry Pi interneta laika stacija: 5 soļi (ar attēliem)

Video: Raspberry Pi interneta laika stacija: 5 soļi (ar attēliem)

Video: Raspberry Pi interneta laika stacija: 5 soļi (ar attēliem)
Video: Mans darbs ir vērot mežu un te notiek kaut kas dīvains. 2024, Jūlijs
Anonim
Raspberry Pi interneta laika stacija
Raspberry Pi interneta laika stacija
Raspberry Pi interneta laika stacija
Raspberry Pi interneta laika stacija

*** Atjaunināt ***

Šī pamācība ir novecojusi. Šajā instrukcijā izmantotie laika apstākļu dienesti vairs nedarbojas. Tomēr ir alternatīvs projekts, kas būtībā dara to pašu (tikai labāk - šis Instructable vienmēr bija tikai uzlaušana). Tātad, šeit ir saite, kuru vēlaties sekot:

https://piweatherrock.technicalissues.us/

Liels paldies, ejiet pie Gene Liverman PiWeatherRock par šī projekta mantijas uzņemšanu.

Šī pamācība parādīs, kā izveidot patiešām foršu Raspberry Pi interneta laika staciju. Patiesībā, lai sauktu šo būvniecību par "meteoroloģisko staciju", tas ir nedaudz nepietiekams apgalvojums. Šo konstrukciju var viegli pagarināt, lai sniegtu daudz vairāk nekā vienkārši laika apstākļi. Tomēr tas ir labs sākums, un uz mana galda tas izskatās patiešām forši.

Mūsu ģimenei (labi, galvenokārt man) ir paticis, ka ģimenes iPad uz virtuves letes, kad to nelieto, mierīgi parāda pašreizējos ārējos laika apstākļus. Tomēr ir sāpīgi ielādēt un izkraut iPad arkādes šūpuļa korpusā. Turklāt, tieši ejot skatīties laika apstākļus, es atklāju, ka kāds ir paņēmis iPad / laika displeju. Nepieciešams pastāvīgs displejs, ko bērni nespiež, piemēram, iPad.

1. darbība: 1. paaudze - Lunchbox Pi meteoroloģiskā stacija

1. paaudze - meteoroloģiskā stacija Lunchbox Pi
1. paaudze - meteoroloģiskā stacija Lunchbox Pi
1. paaudze - meteoroloģiskā stacija Lunchbox Pi
1. paaudze - meteoroloģiskā stacija Lunchbox Pi

Mana pirmā doma bija izmantot nelielu saliktu video displeju. Es paņēmu attēlā redzamo Ebay par 22 dolāriem - vienkārši meklējiet "4,3 collu TFT LCD automašīnas aizmugures skata monitora automašīnas monitors". Displeja izšķirtspēja ir 656 x 416 pikseļi, kas izaicinoši padara daudz noderīgas informācijas parādīšanu par izaicinājumu! Displeja barošanas spriegumam ir nepieciešams 12Vdc. Raspberry Pi, protams, ir nepieciešams 5Vdc kā barošanas spriegums. Lai to atrisinātu, es nopirku lētu USB automašīnas lādētāju no Amazon. Par aptuveni 6 ASV dolāriem es atradu 5Vdc 2 Amp automašīnu mainītāju. Tāpēc pusdienu kārbai ir ārējs 12Vdc sienas kārpu barošanas avots. 12Vdc baro displeju tieši. 12Vdc arī iet uz USB automašīnas lādētāju, kas samazina spriegumu līdz regulētam 5Vdc. Kā pēdējo uzlaušanu es lodēju pāris vadus tieši starp automašīnas lādētāju un Raspberry Pi - tā nav mana labākā ideja.

Lai gan tas viss strādāja, es nebiju īsti apmierināts ar video kvalitāti saliktajā displejā. Mazais fonts displejā bija izplūdušāks, nekā es gribētu. Turklāt, lai gan pusdienu kastīte sākumā šķita gudra, tā šķita diezgan sievišķīga.

2. darbība: 2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis

2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis
2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis
2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis
2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis
2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis
2. paaudze - HDMI monitors + lāzera griezuma plexiglass arkādes futrālis

Atpakaļ uz eBay es atradu jauku izskatu par 54 ASV dolāru vērtu HDMI atvērtā rāmja monitoru ar izšķirtspēju 800x600. Pēc definīcijas atvērtam rāmim, lai to uzstādītu, ir nepieciešams rāmis. Tā kā pusdienu kastītes skaistums bija sen beidzies, bija pienācis laiks kādam lāzergrieztam akrilam. Manā vietējā hakeru telpā i3Detroit ir patiešām jauks 150 vatu griezējs, ar kuru var pagatavot malto gaļu no 4,5 mm akrila.

Es brīvi balstīju savu arkādes korpusu uz iPad arkādes lodziņu. Ja es kādreiz izveidotu Gen 3 dizainu, tas izaicinoši iekļautu noņemamu / izbīdāmu paplāti Pi. Izrādās, ka tas ir lielas sāpes kaklā, mēģinot pieslēgt lietas pie un no Pi, jo starp Pi un sānu sienām nav daudz vietas.

HDMI monitoram ir nepieciešama arī 12 V līdzstrāvas padeve. Tātad, es izmantoju to pašu triku, atkal izmantojot USB automašīnas lādētāju. Tomēr šoreiz es sasmalcināju veco USB kabeli, tāpēc Pi lodētie vadi nebija nepieciešami.

Ja kādu interesē arkādes lieta, ievietojiet komentāru zemāk, un es augšupielādēšu DXF failus. Vai arī faili atrodas manā tīmekļa vietnē ph-elec.com.

3. darbība: Pi iestatīšana

Pi iestatīšana
Pi iestatīšana

Lai izveidotu jaunu Raspberry Pi ar nepieciešamo programmatūru, nav tik grūti. Visa programmatūra ir rakstīta Python, pievienojot tikai vienu Python moduli. Papildu Python moduli sauc par "pywapi". Šeit ir saite, kurā varat lejupielādēt moduli. Šis modulis ļauj viegli iegūt reāllaika laika ziņas no Yahoo, Weather.com vai NOAA.

Pirmkārt, šeit ir kontrolsaraksts neapstrādāta Raspberry Pi iestatīšanai:

  1. Lejupielādējiet jaunāko Raspbian (Debian Wheezy). Izpakojiet, lai iegūtu.img failu.
  2. Ierakstiet SD kartē ar "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. Komanda dd aizņem apmēram piecas minūtes. Kad esat pabeidzis, palaidiet "sinhronizāciju", lai izskalotu caurules.
  4. Instalējiet SD karti Pi un restartējiet. Pārliecinieties, vai Pi ir Ethernet savienojums.
  5. Izmantojot maršrutētāja lapu "Pievienotās ierīces", atrodiet jaunā Pi IP adresi.
  6. Piesakieties Pi, izmantojot "ssh [email protected]. ???" kur ??? ir IP numurs no augšas. Parole būs "aveņu".
  7. Uz Pi, izmantojiet komandu "raspi-config", lai iestatītu noklusējuma iestatījumus.

    1. Ieslēdziet automātisko sāknēšanu GUI.
    2. Iestatiet saimniekdatora nosaukumu kā “MyPi”.
  8. Instalējiet VNC uz Pi ar "sudo apt-get install tightvncserver".

    Palaidiet "tightvncserver", kas nosaka paroli

  9. Atgriežoties lielajā Linux kastē, izmantojiet “Attālā darbvirsma”, lai apskatītu Pi GUI darbvirsmu.

    1. Iestatiet protokolu uz "VNC" un IP numuru uz "192.168.1.???:1". Ievērojiet ": 1" IP numura beigās.
    2. Nospiediet savienojuma pogu un ievadiet VNC paroli.
    3. Bingo, attālā GUI Pi darbvirsma!

      Tas ietaupa monitora, tastatūras un peles vilkšanu, lai izveidotu savienojumu ar jauno Pi

    4. Darbvirsmā palaidiet WiFi iestatīšanas ikonu. Iestatiet jauno Pi / USB WiFi, lai izveidotu savienojumu ar tīklu.
    5. Aizveriet VNC savienojumu - mēs esam pabeiguši darbu ar attālajiem galddatoriem.
  10. Atpakaļ ssh logā pārstartējiet Pi ar "sudo reboot". Atvienojiet Ethernet kabeli, jo tagad ir iestatīts WiFi.
  11. Atgriežoties mājas maršrutētājā, atrodiet jauno IP numuru, ko Pi izmanto ar WiFi.
  12. Izmantojot ssh, piesakieties atpakaļ, izmantojot jauno IP numuru. Šoreiz savienojums notiks, izmantojot WiFi.
  13. Izmantojot failu pārvaldnieku operētājsistēmā Linux, izveidojiet savienojumu ar Pi, izmantojot komandu "izveidot savienojumu ar serveri".

    Servera adrese ir "sftp: //192.168.1. ???/home/pi"

  14. Pamata iestatīšana ir pabeigta.

Pēc tam pywapi ir jālejupielādē un jāinstalē. Atkal, tas nav pārāk grūti, veicot šādas darbības:

  1. Lejupielādējiet jaunāko no šejienes. Izvelciet arhīvu jaunā direktorijā.
  2. Izmantojot failu pārvaldnieku, nokopējiet direktoriju Pi mājas direktorijā.
  3. Izmantojot ssh, Pi rīkojieties šādi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py instalēt
  4. Pabeigts

Atjauninājums, es aizmirsu divas pieminēt divas citas lietas:

  1. Pi izpildiet šādu komandu:

    1. sudo apt-get instalēt avahi-dēmonu

      Tas ļauj izveidot savienojumu ar Pi pēc nosaukuma. Tātad, savā galvenajā datorā varat izveidot savienojumu kā "ssh [email protected]", nevis izmantot IP numurus. Izmantojot vairākus Pi tīklus, tos ir viegli sajaukt, ja vien tos neizsauc vārdā

    2. sudo raspi-config

      1. Atrodiet un palaidiet ceturto opciju ar nosaukumu "Internacionalizācijas iespējas" un iestatiet savu laika joslu.
      2. Ja laika josla ir iestatīta un ntpd (tīkla laika protokola dēmons) darbojas, Pi vienmēr parādīs pareizo laiku pāris milisekundēs! Jāmīl.
  2. Labi, tagad mēs atkal esam pabeiguši.

4. solis: avota kods

Avota kods
Avota kods

Visa šī laika apstākļu displeja avota kods ir balstīts uz Python, PyGame un Pywapi. Visa atvērtā pirmkoda / bezmaksas programmatūra.

PyGame tiek izmantots, lai veiktu visas GUI lietas. Tiešām pārsteidzoša lieta. Izmantojot PyGame, viss displejs tiek pārbūvēts vienu reizi sekundē. Netālu no mana avota koda augšdaļas atradīsit sadaļu, kas ļauj pielāgot dažādus displeja izmērus. Ir viena sadaļa nelielam saliktam video displejam un otra sadaļa lielākam HDMI displejam. Es vienkārši komentēju vienu no divām sadaļām, pamatojoties uz vajadzīgo displeja izmēru.

Lai mans avota kods darbotos, vienkārši izpakojiet pielikumu un nokopējiet visu direktoriju uz Pi, izmantojot failu pārvaldību. Pēc nokopēšanas sāciet kodu, izmantojot šādas ssh komandas:

  1. cd Laiks
  2. sudo python weather.py

Komanda sudo ir nepieciešama, lai Python varētu kontrolēt / lasīt GPIO tapas. Droši vien ir kāds veids, kā apiet šo ierobežojumu, bet tas izvairās no manis.

Kad viss sāk darboties, izmantojot ssh, ir pienācis laiks automātiski iedarbināt laika apstākļus, restartējot ierīci. Tas ir arī patiešām viegli izdarāms.

  1. Izmantojot ssh, palaidiet "sudo vi /etc/rc.local"
  2. Tieši pirms pēdējās rindas, kurā teikts "izeja 0", rindām pievienojiet sekojošo.

    1. cd/mājas/pi/Laika ziņas
    2. sudo python weather.py &> err.log

Tas automātiski sāks laika apstākļu lietojumprogrammu Pi pēc pārstartēšanas. Ja vēlāk vēlaties to izslēgt, vienkārši izmantojiet ssh, lai rediģētu failu, un pievienojiet komentāra rakstzīmi "#" abu rindu priekšā un atsāknējiet.

Ņemiet vērā, ka mans avota kods ir liels uzlaušana, un es neesmu ļoti lepns par to. Tomēr, ja es gaidītu, kamēr tas būs reprezentabls, tas nekad netiktu prezentēts. Tātad, ņem to vai atstāj to, vienkārši neraudi, jo man ir ļoti plāna āda.

Pāris citas lietas, kas jāņem vērā saistībā ar manu kodu. Apglabāts tur, jūs pamanīsit kādu kodu, lai sarunātos ar X10 ierīci. Tas bija mans mēģinājums kontrolēt savus ārējos staba lukturus, kas atrodas adresē A3. Es vienkārši gribēju, lai lampas iedegas krēslā un izslēdzas rītausmā. Šķiet, ka tas ir pietiekami vienkārši, un es domāju, ka man tas ir izdevies. Izmantojot USB-RS232 dongle Pi, es biju pievienojis CM11A X10 moduli. CM11A ir vecs X10 makro modulis. CM11A ir arī RS232 ports, kas ļauj kontrolēt X10 kopni. Šķiet, ka joprojām ir dažas kļūdas, jo lampu staba gaismas nesaņem ziņojumu!

Jāatzīmē arī tas, ka lielākajā displejā displeja labajā pusē ir laba atvērta sprauga. Mans plāns ir pievienot dažas statusa lampas šajā apgabalā. Es spēlēju ar dažiem IEEE802.15.4 radioaparātiem, un to izejas kādreiz parādīsies šajā atklātajā vietā.

Lai iegūtu jaunākos un lielākos atjauninājumus, lūdzu, apmeklējiet manu tīmekļa vietni ph-elec.com.

Labi, dariet man zināmu komentāru sadaļā zemāk visus iespējamos jautājumus.

Paldies, Džim.

Ak, un neaizmirstiet balsot par mani! Vēlreiz paldies.

BTW: Manā vietnē vienmēr ir vairāk informācijas: www.ph-elec.com

5. darbība. Metrikas atjaunināšana

Pievienota jauna versija, kas ļauj attēlot metrisko vai imperatora formātu.

Ceru tas palīdzēs, Džims

Ieteicams: