Satura rādītājs:

Raspberry Pi Saules laika stacija: 7 soļi (ar attēliem)
Raspberry Pi Saules laika stacija: 7 soļi (ar attēliem)

Video: Raspberry Pi Saules laika stacija: 7 soļi (ar attēliem)

Video: Raspberry Pi Saules laika stacija: 7 soļi (ar attēliem)
Video: Kā lietot Bixby 2024, Novembris
Anonim
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija
Raspberry Pi Saules laika stacija

Iedvesmojoties no divu iepriekšējo projektu - kompaktās kameras un pārnēsājamo spēļu konsoles - pabeigšanas, es vēlējos atrast jaunu izaicinājumu. Dabiskā attīstība bija āra tālvadības sistēma…

Es gribēju izveidot Raspberry Pi meteoroloģisko staciju, kas spētu noturēties no tīkla un nosūtīt man rezultātus, izmantojot bezvadu savienojumu, no jebkuras vietas! Šim projektam patiešām ir bijuši savi izaicinājumi, taču par laimi Raspberry Pi barošana ir viens no galvenajiem izaicinājumiem, kas ir kļuvis vienkāršs, izmantojot PiJuice kā barošanas avotu un tam pievienotu saules atbalstu (komplektā ar mūsu revolucionāro tehnoloģiju PiAnywhere - labākais veids, kā noņemiet savu Pi no režģa!).

Mana sākotnējā doma bija izmantot fantastisko AirPi moduli, lai iegūtu lasījumus. Tomēr tam bija divi galvenie trūkumi; lai augšupielādētu rezultātus, ir nepieciešams tiešs interneta savienojums, un tam jābūt savienotam tieši ar GP GPIO, kas nozīmē, ka to nevar pakļaut gaisam, neatklājot arī Raspberry Pi (nav ideāli, ja vēlamies, lai šī laika stacija ilgst jebkuru laiku).

Risinājums … izveidojiet savu sensoru moduli! Izmantojot lielu daļu AirPi iedvesmai, es varēju salikt ļoti vienkāršu prototipu, izmantojot dažus jau esošus sensorus; temperatūra, mitrums, gaismas līmenis un vispārējās gāzes. Un lieliskākais ir tas, ka jebkurā laikā ir patiešām viegli pievienot vairāk sensoru.

Es nolēmu izmantot Raspberry Pi a+ galvenokārt zemā enerģijas patēriņa dēļ. Lai nosūtītu man rezultātus, es izmantoju EFCom Pro GPRS/GSM moduli, kas ar rezultātiem var nosūtīt tekstu tieši uz manu mobilo tālruni! Diezgan glīti, vai ne?

Es priecājos, ka šeit jums ir idejas citiem lieliskiem saules vai pārnēsājamiem projektiem. Paziņojiet man komentāros, un es darīšu visu iespējamo, lai izveidotu pamācību!

1. darbība: detaļas

Daļas
Daļas

1 x PiJuice + saules panelis (komplektā ar mūsu revolucionāro PiAnywhere tehnoloģiju - labākais veids, kā noņemt savu Pi no tīkla!)

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM modulis

1 x Sim karte

1 x maizes dēlis

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (temperatūras sensors)

1 x DHT22 (mitruma sensors)

1 x TGS2600 vispārējais gaisa kvalitātes sensors

1 x 2,2 KΩ rezistors

1 x 22 KΩ rezistors

1 x 10 KΩ rezistors

10 x Female - Female Jumper vadi

Viena izmēra stieples sortiments

1 x viena āra sadales kārba

1 x dubultā āra sadales kārba

1 x ūdensnecaurlaidīgs kabeļa savienotājs

2 x 20 mm daļēji aklu kabeļu blīves

2. darbība: sensoru ķēde

Sensoru ķēde
Sensoru ķēde
Sensoru ķēde
Sensoru ķēde
Sensoru ķēde
Sensoru ķēde

Šim projektam ir diezgan daudz dažādu elementu, tāpēc vislabāk ir darīt visu pakāpeniski. Vispirms es izskatīšu, kā salikt sensoru ķēdi.

Ieteicams to vispirms izveidot uz maizes dēļa, tikai gadījumā, ja jūs pieļaujat kādas kļūdas, esmu iekļāvis shēmu un soli pa solim attēlus, uz kuriem atsaukties.

  1. Pirmais savienojuma elements ir šis MCP3008 analogo ciparu pārveidotājs. Tas var aizņemt līdz 8 analogām ieejām un sazināties ar Raspberry Pi, izmantojot SPI. Kad mikroshēma ir vērsta uz augšu un pusaplis ir nogriezts vistālāk no jums, tapas labajā pusē savienojas ar Raspberry Pi. Savienojiet tos, kā parādīts attēlā. Ja vēlaties uzzināt nedaudz vairāk par mikroshēmas darbību, šeit ir lielisks ceļvedis par MCP3008 un SPI protokolu.
  2. Piespraudes kreisajā pusē ir 8 analogās ieejas, no augšas uz leju numurētas no 0 līdz 7. Mēs izmantosim tikai pirmos 3 (CH0, CH1, CH2), LDR, vispārējo gāzes sensoru (TGS2600) un temperatūras sensoru (LM35). Vispirms pievienojiet LDR, kā parādīts diagrammā. Viena puse pret zemi un otra pie 3.3V, izmantojot 2.2KΩ rezistoru un CH0.
  3. Tālāk pievienojiet "vispārējo gāzes sensoru". Šo gāzes sensoru izmanto gaisa piesārņotāju, piemēram, ūdeņraža un oglekļa monoksīda, noteikšanai. Es vēl neesmu izstrādājis, kā iegūt konkrētas koncentrācijas, tāpēc pagaidām šī sensora rezultāts ir pamata procentuālais līmenis, kur 100% ir pilnībā piesātināti. Ja sensors ir vērsts uz augšu (tapas apakšpusē), tapa tieši pa labi no mazā atseguma ir 1. tapa, un tad skaitļi ap tapu palielinās pulksteņrādītāja virzienā. Tātad 1. un 2. tapas savienojas ar 5 V, 3. tapa savienojas ar CH1 un zemē, izmantojot 22KΩ rezistoru, un pin4 savieno tieši ar zemi.
  4. Pēdējais pievienojams analogais sensors ir LM35 temperatūras sensors. Tam ir 3 tapas. Paņemiet sensoru tā, lai plakanā puse būtu vistuvāk jums, kreisā lielākā tapa savienojas tieši ar 5 V (nav atzīmēta diagrammā, mans sliktais!), Centrālā tapa savienojas ar CH2 un labākā lielākā tapa savienojas tieši ar zemi. Viegli!
  5. Pēdējais savienojuma elements ir DHT22 mitruma sensors. Šis ir digitālais sensors, tāpēc to var savienot tieši ar Raspberry Pi. Paņemiet sensoru ar režģi pret sevi un četrām tapām apakšpusē. Piespraudes tiek pasūtītas no 1 kreisajā pusē. Pievienojiet 1 līdz 3.3V. 2. tapa iet uz GPIO4 un 3.3V, izmantojot 10KΩ rezistoru. Atstājiet 3. tapu atvienotu, un 4. tapa iet taisni pie zemes.

Tieši tā! Testa ķēde ir izveidota. Es ceru pievienot vairāk komponentu, kad man būs laiks. Es patiešām vēlētos pievienot spiediena sensoru, vēja ātruma sensoru un iegūt inteliģentākus datus par gāzu koncentrāciju.

3. solis: GSM modulis

GSM modulis
GSM modulis
GSM modulis
GSM modulis

Tagad, kad ir izveidotas sensoru shēmas, ir nepieciešams veids, kā iegūt rezultātus. Tas ir, ja nāk GSM modulis. Mēs to izmantosim, lai reizi dienā nosūtītu rezultātus pa mobilo tīklu īsziņā.

GSM modulis sazinās ar Raspberry Pi, izmantojot seriālu, izmantojot UART. Šeit ir lieliska informācija par sērijveida saziņu ar Raspberry Pi. Lai varētu kontrolēt Pi sērijas portu, mums vispirms ir jāveic konfigurācija.

Palaidiet savu Raspberry Pi ar standarta Raspbian attēlu. Tagad mainiet failu "/boot/cmdline.txt" no:

"dwc_otg.lpm_enable = 0 konsole = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konsole = tty1 sakne =/dev/mmcblk0p2 rootfstype = ext4 lifts = termiņš rootwait"

uz:

"dwc_otg.lpm_enable = 0 konsole = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = termiņš rootwait"

noņemot pasvītroto teksta sadaļu.

Otrkārt, jums ir jārediģē fails "/etc/inittab", komentējot otro rindiņu nākamajā sadaļā:

#Spawn a getty Raspberry Pi sērijas līnijāT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Tā, ka tas skan šādi:

#Spawn a getty on Raspberry Pi serial line#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100

un pārstartējiet Pi. Tagad seriālajam portam vajadzētu brīvi sazināties ar jums, kā vēlaties. Ir pienācis laiks pieslēgt GSM moduli. Apskatiet shēmas shēmu iepriekšējā solī un iepriekš redzamos attēlus, lai redzētu, kā tas tiek darīts. Būtībā TX ir savienots ar RX, un RX ir pievienots TX. Raspberry Pi TX un RX ir attiecīgi GPIO 14 un 15.

Tagad jūs, iespējams, vēlaties pārbaudīt, vai modulis darbojas, tāpēc mēģināsim nosūtīt tekstu! Lai to izdarītu, lejupielādējiet Minicom. Tā ir programma, kas ļauj rakstīt uz seriālo portu. Izmantot:

"sudo apt-get install minicom"

Kad minicom ir instalēts, to var atvērt ar šādu komandu:

"minicom -b 9600 -o -D /dev /ttyAMA0"

9600 ir pārraides ātrums un /dev /ttyAMA0 ir Pi sērijas porta nosaukums. Tiks atvērts termināļa emulators, kurā viss, ko rakstīsit, parādīsies seriālajā portā, ti, tiks nosūtīts uz GSM moduli.

Ievietojiet papildināto SIM karti GSM modulī un nospiediet barošanas pogu. Pēc tam vajadzētu iedegties zilai gaismas diodei. GSM modulis izmanto AT komandu kopu, šeit ir dokumentācija, ja jūs patiešām interesē. Tagad mēs pārbaudām, vai Raspberry Pi ir atklājis moduli ar šādu komandu:

"AT"

tad modulim jāatbild ar:

"LABI"

Lieliski! Tad mums ir jākonfigurē modulis, lai nosūtītu SMS kā tekstu, nevis bināru:

"AT+CMGF = 1"

atkal atbildei jābūt "OK". Tagad mēs rakstām komandu SMS nosūtīšanai:

"AT+CMGS =" 44 ************ "", aizstājiet zvaigznītes ar savu numuru.

Modems ar atbildi ar ">", pēc kura jūs varat uzrakstīt jums ziņojumu. Lai nosūtītu ziņu, nospiediet. Tieši tā, un ar jebkuru veiksmi jūs tikko saņēmāt tekstu tieši no sava Raspberry Pi.

Tagad, kad mēs zinām, ka GSM modulis darbojas, varat aizvērt minicom; mums tas nebūs vajadzīgs pārējā projekta laikā.

4. darbība: lejupielādējiet programmatūru un veiciet sauso palaišanu

Lejupielādējiet programmatūru un veiciet sauso palaišanu
Lejupielādējiet programmatūru un veiciet sauso palaišanu
Lejupielādējiet programmatūru un veiciet sauso palaišanu
Lejupielādējiet programmatūru un veiciet sauso palaišanu

Šajā posmā visam jābūt savienotam un gatavam pārbaudīt sausu darbību. Esmu uzrakstījis diezgan vienkāršu pitona programmu, kas ņems no katra sensora rādījumus un pēc tam nosūtīs rezultātus uz jūsu mobilo tālruni. Jūs varat lejupielādēt visu programmu no PiJuice Github lapas. Tagad varētu būt arī labs laiks testēšanai, izmantojot PiJuice moduli. Tas vienkārši tiek pievienots Raspberry Pi GPIO, visi ar Pi savienotie vadi tiek tieši pievienoti atbilstošajām PiJuice tapas izejām. Viegli kā Pi. Lai lejupielādētu kodu, izmantojiet komandu:

git klons

Tas ir iestatīts datu nosūtīšanai reizi dienā. Pārbaudes nolūkos tas nav lieliski, tāpēc, iespējams, vēlēsities rediģēt programmu. To ir viegli izdarīt; vienkārši atveriet failu; "sudo nano weatherstation.py". Augšdaļā ir sadaļa “Iestatīt aizkavi”. Komentējiet rindiņu "kavēšanās = 86400" un noņemiet komentāru "kavēšanās = 5". Tagad rezultāti tiks nosūtīti reizi 5 sekundēs. Jūs arī vēlaties mainīt programmu tā, lai tajā būtu jūsu mobilā tālruņa numurs. Atrodiet vietu, kur rakstīts "+44 **********", un aizstājiet zvaigznītes ar savu numuru.

Pirms programmas palaišanas jums vienkārši jālejupielādē bibliotēka DHT22 mitruma sensora lasīšanai:

git klons

Un bibliotēka ir jāinstalē:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

"sudo apt-get install build-essential python-dev"

"sudo python setup.py install"

Forši, tagad varat pārbaudīt programmu.

"sudo python weatherstation.py"

Programmas darbības laikā rezultāti jānosūta uz jūsu mobilo tālruni, bet arī jāizdrukā terminālī ik pēc 5 sekundēm.

5. solis: izveidojiet ķēdi

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi

Tagad, kad viss darbojas praksē, ir pienācis laiks izveidot īsto. Attēli parāda vispārējo priekšstatu par to, kā visa iekārta sader kopā. Ir divi atsevišķi dzīvokļi; vienu sensoru ķēdei (kurai būs caurumi, lai ļautu gaisam cirkulēt iekšpusē), un otrai Raspberry Pi, GPRS blokam un PiJuice, (pilnīgi ūdensnecaurlaidīgs) saules panelis tiks pievienots skaitļošanas blokam ar ūdensnecaurlaidīgu savienojumu. Abas vienības pēc tam var viegli atvienot, lai varētu noņemt vai nu sensora korpusu, vai skaitļošanas korpusu, nenoņemot visu vienību. Tas ir lieliski, ja vēlaties pievienot vairāk sensoru vai ja jums ir nepieciešams Raspberry Pi vai PiJuice citam projektam.

Jums vajadzēs salauzt protobortu, lai tas ietilptu mazākajā no divām sadales kārbām. Šeit atrodas sensoru ķēde. Sensora ķēde tagad tiek pārnesta no maizes dēļa uz protobordu. Tagad jums būs jāveic lodēšana. Pārliecinieties, vai esat ērti lietojis lodāmuru. Ja neesat pārliecināts, lūdziet palīdzību kādam, kurš ir kompetents lodētājs.

Liels paldies šeit esošajam Patrikam, kurš mani izglāba no šīs shēmas īsta sajaukšanas. Viņam izdevās dažu minūšu laikā to salikt kopā! Ja, tāpat kā es, jūs neesat labākais celtniecības ķēde un jums nav tāds ģēnijs kā Patriks, kas jums varētu palīdzēt, tad jūs vienmēr varat atstāt ķēdi uz maizes dēļa, ja vien tas iekļaujas jūsu elektrības kastē.

6. darbība. Mājokļu sagatavošana

Mājokļu vienību sagatavošana
Mājokļu vienību sagatavošana
Mājokļu vienību sagatavošana
Mājokļu vienību sagatavošana
Mājokļu vienību sagatavošana
Mājokļu vienību sagatavošana

Šī daļa ir vieta, kur tas kļūst patiešām jautri. Jūs, iespējams, pamanījāt gredzenus uz katras kastes. Tās ir paredzētas izsist, lai kastes varētu kļūt par elektrības savienojumiem. Mēs tos izmantosim, lai izveidotu savienojumu starp sensoru un skaitļošanas bloku, lai izveidotu savienojumu ar saules paneli, kā arī kā sensoru ventilāciju, lai nodrošinātu gaisa cirkulāciju.

Vispirms izsitiet vienu caurumu uz katras kastes savienošanai starp abām, kā redzams attēlos. Atveru izsitšana var būt sarežģīta, taču to rupjai malai nav nozīmes. Es atklāju, ka labākā metode ir izmantot skrūvgriezi, lai vispirms caurdurtu izgriezto gredzenu ap katru caurumu un pēc tam noņemtu to kā krāsas skārda vāku. Pēc tam divu kārbu savienošanai tiek izmantots ūdensnecaurlaidīgs kabeļa savienotājs.

Tad jums būs jāizveido vēl viens caurums skaitļošanas korpusā saules paneļa vadam. Šis caurums tiek aizbāzts ar vienu no daļēji aklajām kabeļu blīvēm. Pirms ievietojat blīvgredzenu, tajā ieduriet caurumu, lai kabelis varētu iet cauri. Tam jābūt pēc iespējas mazākam, lai tas būtu ūdensnecaurlaidīgs, pēc tam iespiediet mikro usb galu caur caurumu (tas ir gals, kas savienojas ar PiJuice).

Visbeidzot sensoru blokā ir jāizveido papildu caurums, lai ļautu ieplūst un izplūst gaiss. Esmu nolēmis doties uz visu tieši pretī krustojumam starp abām kastēm. Var būt nepieciešams pievienot otru caurumu. Es domāju, ka pēc kāda laika mēs to uzzināsim, izmantojot laika staciju.

7. solis: Laika stacijas pieslēgšana un pabeigšana

Laika stacijas pieslēgšana un apdare
Laika stacijas pieslēgšana un apdare
Laika stacijas pieslēgšana un apdare
Laika stacijas pieslēgšana un apdare
Laika stacijas pieslēgšana un apdare
Laika stacijas pieslēgšana un apdare

Pareizi, gandrīz tur. Pēdējais posms ir visu pieslēgt vadam.

Sākot ar skaitļošanas vienību. Šajā kastē mums ir Raspberry Pi, The PiJuice, kas savienojas ar Raspberry Pi GPIO, un GSM modulis, kas savienojas ar GPIO izlaušanos PiJuice, izmantojot sieviešu un sieviešu džemperu vadus. Jauki un cieši! šajā posmā es droši vien ieteiktu novietot kaut kādu blīvējumu ap saules paneļa USB kabeļa ieejas punktu. Iespējams, derētu kaut kādi sveķi vai superlīmes.

Pēc tam pārejiet uz sensoru. Fotoattēlā no augšas uz leju vadi ir; pelēks, balts, purpursarkans un zils ir SPI datu līnijas, melns ir slīpēts, oranžs ir 3.3 V, sarkans ir 5 V un zaļš ir GPIO 4. Jums būs jāatrod savienojuma vadi, lai izveidotu savienojumu ar tiem, un pēc tam tie jāpārvada caur ūdensnecaurlaidīgo kabeli savienotājs, kā redzams fotoattēlos. Tad katru vadu var savienot ar atbilstošo GPIO un savienotāju var pievilkt. Šajā posmā ir viegli saprast, kā dizainu varētu uzlabot; LDR netiks pakļauts lielam apgaismojumam (lai gan joprojām var būt noderīgi zināt relatīvās vērtības, un papildu cauruma izspiešana varētu palīdzēt), es domāju, ka būtu labāk izmantot tādu pašu izmēru kā skaitļošanas vienībai kaste arī sensoru blokam, tad būtu vieglāk ievietot shēmas plati kastē un būtu iespēja spēlēties ar dažādiem izkārtojumiem.

Tagad esmu to izlicis dārzā, kā redzams fotogrāfijās. Cerams, ka tuvākajās dienās varēšu publicēt arī dažus rezultātus! Un, kā jau teicu iepriekš, ja jums ir idejas dažiem foršiem projektiem, dariet man to zināmu!

Ieteicams: