Satura rādītājs:
- 1. darbība: aparatūras iestatīšana
- 2. darbība. Programmatūras iestatīšana - e -pasta iestatīšana un adresāti
- 3. darbība: programmatūras iestatīšana - sērijas iestatīšana un parsēšana
- 4. solis: Programmatūras iestatīšana - Gnuplot
- 5. solis: programmatūras iestatīšana - sliekšņa iestatīšana un e -pasta nosūtīšana
- 6. darbība: programmatūras iestatīšana - HTML
- 7. solis: Es esmu dzīvs…
Video: Raspberry Pi kontrolēta istabas temperatūras kontrole ar Gnuplot attēla izvadi un e -pasta brīdinājuma iespēju: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Kur es strādāju, ir ļoti svarīga telpa, kurā ir daudz datoru. Šīs telpas apkārtējās vides temperatūrai jābūt ļoti vēsai, lai optimizētu šo sistēmu darbību. Man tika lūgts izstrādāt uzraudzības sistēmu, kas dažiem cilvēkiem var nosūtīt brīdinājumu, kas viņiem paziņos, ka kaut kas nav kārtībā ar gaisa kondicionētāju šajā telpā. Šīs būves aparatūra, es izmantoju Raspberry pi un USB temperatūras un mitruma sensors. Uzraudzībai es izmantoju Gnuplot, lai uzzīmētu trīs temperatūras grafikus un izveidotu šo grafiku attēlu. Pēc tam es izveidoju īpašu HTML lapu, kas tiks mitināta Raspberry pi, lai pašreizējos apstākļus, šos gnuplot izvades attēlus, varētu uzraudzīt no mūsu tīkla tīmekļa lapas. Brīdinājuma nolūkos es izvēlējos izmantot Gmail. Es biju atradis kādu koda paraugu žurnālā Linux User. (Protams, jūs varat izmantot jebkuru pasta serveri, tiklīdz zināt nepieciešamos portu uzdevumus.) Šim brīdinājumam es izveidoju īpašu Gmail e -pasta kontu. Tāpat kā papildu funkcija, kad brīdinājums ir aktivizēts, es e -pastam pievienoju vienu diagrammu, lai persona, kas saņem e -pastu, varētu gūt priekšstatu par to, cik krasi palielinājās brīdinājums.
1. darbība: aparatūras iestatīšana
Aparatūras iestatīšanai nav daudz. Raspberry pi darbojas Raspian, un USB temperatūras sensors vienkārši tiek pievienots tieši vienam no USB portiem. Šī sensora enerģijas patēriņš ir minimāls, un tāpēc es to darbināju tieši no Raspberry pi. Tomēr ar USB darbināmām ierīcēm ar nedaudz lielāku enerģijas patēriņu es ieteiktu tās darbināt, izmantojot USB centrmezglu, nevis tieši no Raspberry pi USB porta. Kad temperatūras sensors ir ieslēgts, tas nodrošina sērijas virkni, kas satur temperatūru un mitruma rādījumi pašreizējos apstākļos. temperatūra = 20,9 ° C mitrums = 62,7% rasas punkts = 13,0 ° CA python skripts parsē šo virkni un ik pēc piecām minūtēm saglabā temperatūras un mitruma vērtības trīs teksta failos; katru dienu, 24 stundas un 48 stundas teksta failos (Atšķirības tiks aplūkotas vēlāk HTML sadaļā). No šiem failiem Gnuplot ģenerēs diagrammas un pēc tam datu kopas attēlus katrā failā. Pirms es apspriedu pitona skriptu, es runāšu par Raspberry pi sagatavošanu. Tā kā uzraudzība jāveic tiešsaistē, ir jāinstalē tīmekļa serveris. Esmu izmēģinājis dažus no tiem savā laikā Raspberry pi, bet, lai gan tas ir mazliet liels, es dodu priekšroku Apache. Lai instalētu Apache savā Raspberry pi, vienkārši ierakstiet: sudo apt-get install apache2 Tas jums parādīs uzvedni pirms tā instalēšanas, nospiediet "y", lai apstiprinātu, un un Apache tiks instalēta dažas minūtes atkarībā no jūsu Raspberry pi. ir pabeigts, jums ir jāinstalē divi python spraudņi: python-serial un python-gnuplot spraudnis. (Lai gan esmu sapratis, ka jaunākajām Raspian būvēm ir python sērijas spraudņa standarts, bet tikai drošībai.) Lai instalētu ierakstītos ierakstus: sudo apt-get install python-serial python-gnuplot Vēlreiz pēc uzvedņu apstiprināšanas šie spraudņi -tiks uzstādītas. Un līdz ar to aparatūras iestatīšana ir pabeigta.
2. darbība. Programmatūras iestatīšana - e -pasta iestatīšana un adresāti
Pirms mēs pārāk tālu iepazīstamies ar programmatūru, būtu īstais laiks izveidot Gmail kontu, no kura sūtīt e -pasta brīdinājumus. (Šajā piemērā tiek izmantots GMail, bet var izmantot jebkuru pasta serveri, tiklīdz mēs zinām smtp porta iestatījumus.) Python kods ir diezgan vienkāršs, taču nepieciešamais imports ir kritisks. Bez tiem nekas nedarbotos. Protams, mums jāpievieno e -pasta adresāti. Katra e -pasta adrese tiek saglabāta mainīgajā.
3. darbība: programmatūras iestatīšana - sērijas iestatīšana un parsēšana
Tālāk mēs aplūkojam sērijas iestatījumus. Tas ir tikai jautājums par parametru iestatīšanu, kas atbilst sensora sērijas izvadei. Sensors izvada sērijas virkni pie 9600 8 N 1, kas ir standarta formāts. Pēc virknes saņemšanas ir vairāki veidi, kā parsēt šo virkni python un, iespējams, daudz ticamāk. Tas, kā es to daru, ir sērijveida virknē meklēt "temp" rakstzīmes. Kad tas ir atrasts, ir vienkārši jālasa nākamās 46 sērijas rakstzīmes virknē. Savākto virkni tagad var adresēt kā masīva elementus. Vēlamie dati tiek parsēti no virknes un saglabāti trīs failos kopā ar atbilstošo laika zīmogu. Timestamp = strftime ("%d%b%Y%H:%M:%S", lokālais laiks ())
4. solis: Programmatūras iestatīšana - Gnuplot
Gnuplot ir komandrindas grafiskais rīks. Kad esat sapratis pamatus, tas var būt diezgan spēcīgs rīks datu kopu grafiskai attēlošanai. Gnuplot var uzzīmēt tieši no formatēta teksta faila, un mums vienkārši ir viens no iepriekšējā parsēšanas soļa. Kad esam norādījuši gnuplot, kur failā atrodas dati, mēs varam uzzīmēt vēlamās vērtības. Es izmantošu laiku uz X ass un mūsu temperatūru uz Y ass. Laika zīmēšana no manas pieredzes ir visgrūtākā, jo jums ir jāiegūst laika formāts gnuplot, lai tas atbilstu teksta faila formātam. Kad visas grafikas opcijas ir pabeigtas un pēc jūsu izvēles, Gnuplot var izveidot šī grafika attēlu. Tas būs attēls, ko vēlāk izmantosim savā tīmekļa lapā. Es izvēlējos izmantot-p.webp
5. solis: programmatūras iestatīšana - sliekšņa iestatīšana un e -pasta nosūtīšana
Brīdinājuma slieksnis jūsu iestatīšanai ir jāveic izmēģinājumu un kļūdu veidā. telpai, kurā atrodas sistēmas, nav logu, tāpēc, tiklīdz gaisa kondicionieris apstājas, tas var ļoti ātri sakarst. Sākotnēji es dažas dienas skatījos datu kopu un vēroju temperatūras izmaiņas, pirms es nolēmu par brīdinājuma vērtību 30 grādi C. Tas ir iestatīts kā mainīgais python scipt. Tas var nešķist ļoti augsts, taču, tiklīdz brīdinājums ir aktivizēts, jūs joprojām vēlaties dot laiku, lai novērstu problēmu, pirms tā kļūst kritiska.
Vienkāršības labad es sūtu atsevišķus e -pastus uz adresātu sarakstu. Tā kā adresātu saraksts ir īss, es nekad neuztraucos ar viena e -pasta nosūtīšanu vairākiem adresātiem. Šeit jāpiebilst viena lieta: tā kā es šo skriptu izpildu kā cron darbu ik pēc 5 minūtēm, jūs nevēlaties sūtīt e -pastus ik pēc 5 minūtēm, kad slieksnis ir aktivizēts. Lai to novērstu, es uzrakstu failam brīdinājuma datumu un laiku un pirms e -pasta ziņojumu nosūtīšanas pārbaudu šo failu, lai noskaidrotu, vai sistēma jau ir brīdinājuma stāvoklī. Brīdinājuma stāvoklī tas sūtīs e -pastu tikai katru stundu pēc pirmā aktivizēšanas tik ilgi, kamēr sistēma ir ieslēgta un brīdinājuma stāvoklī. Tādā veidā Gmail neaizkavē jūsu e -pasta ziņojumu nosūtīšanu pārāk daudz e -pasta ziņojumu īsā laika periodā.
6. darbība: programmatūras iestatīšana - HTML
Visas sistēmas uzraudzība tiek veikta, izmantojot tīmekļa lapu, un tam ir nepieciešams ļoti vienkāršs html skripts. Gnuplot izveidotos attēlus es vienkārši izmantoju vienādos attēla izmēros. Es uzskatu, ka šiem attēliem es izmantoju aptuveni 3 izmērus, kas vislabāk iederējās manā ekrānā. Pirms mēs izveidojam html skriptu, izveidosim tam mapi. Pēc noklusējuma tīmekļa mitināšanas mape atrodas vietnē/var/www/. Lai gan šis Raspberry pi vienīgais mērķis ir uzraudzīt šo istabu un izsūtīt brīdinājumus pa e -pastu, lai labi uzturētu māju, mapē/var/www/izveidoju atsevišķu mapi. Tā kā šī mape pieder saknes lietotājam, šī vieta ir jāizmanto, lai izveidotu mapi. sudo mkdir/var/www/Temperature Šajā piemērā es kā mapes nosaukumu izmantoju temperatūru, taču šeit varat izmantot jebkuru nosaukumu, taču atcerieties, ka tas būs jāievada adreses joslā, lai skatītu šo lapu. Šis ceļš tiek saglabāts python skripta mainīgajā. Pat ja hostinga atrašanās vieta ir jāmaina vai skripts ir jāmaina citai sistēmai, to var vienkārši mainīt no šīs vienas vietas. Tagad mēs varam izveidot savu html skriptu šajā mapē, atceroties izmantot sudo visu komandu priekšā grib izpildīt šeit. Es ieteiktu nosaukt html skriptu "index.html", jo tas to vienkāršos, mēģinot atrast šo lapu. Galvenais ir pārliecināties, vai attēla izmērs ir tāds pats kā attēla izmērs no Gnuplot. Lai skatītu šo lapu, jums vienkārši jāievada Raspberry Pi IP adrese, kam seko /temperatūra (vai kā jūs nosaucāt savu mapi). Man ir vairākas sistēmas, kas pārrauga dažādas lietas, un tās visas rada rezultātu grafisku izvadi. Tāpēc es izveidoju lapu, kurā ir saites uz visām šīm lapām, tāpēc man nav jāuztraucas par adreses ievadīšanu katru reizi, kad vēlos piekļūt šīm lapām.
7. solis: Es esmu dzīvs…
Esmu to izmantojis, lai uzraudzītu temperatūru datortelpā, taču tas varēja būt diezgan daudz datu no jebkura avota. Kad to var saglabāt teksta failā un jūs zināt, ka tā formāts Gnuplot var paveikt pārējo. Viena lieta, ko nesen pievienoju šim projektam, ir nosūtīt sava veida "sirdsdarbības" e -pastu. Tas ir mēneša pirmajā dienā pulksten 9:00. Man ir skripts, kas darbojas un nosūta e -pastu uz adresātu sarakstu, lai informētu viņus, ka sistēma darbojas kā nākas, un telpā viss ir kārtībā.
Izmantojot cronjob sarakstu kā:
Ieteicams:
DIY temperatūras kontrolēta kameras kaste ar Peltier TEC moduli: 4 soļi (ar attēliem)
DIY ar temperatūru kontrolēta kameras kaste ar Peltier TEC moduli: Esmu samontējis temperatūras kontroles kameras kārbu mazu elektronisko paneļu pārbaudei. Šajā apmācībā esmu kopīgojis savu projektu, ieskaitot avota failus un saiti uz Gerbers failiem, lai izveidotu PCB. Esmu izmantojis tikai lētus, vispārpieejamus materiālus
Precīza Raspberry Pi temperatūras kontrole 4: 3 soļi
Precīza Raspberry Pi 4 temperatūras kontrole: Pimoroni ventilatoru pārsegs ir lielisks risinājums, lai samazinātu Pi temperatūru, kad tā darbojas karsti. Ražotāji pat nodrošina programmatūru, kas iedarbina ventilatoru, kad CPU temperatūra paaugstinās virs noteiktā sliekšņa (piemēram, 65 grādi). Temperatūra q
ESP8266 Nodemcu temperatūras uzraudzība, izmantojot DHT11 vietējā tīmekļa serverī - Pārlūkprogrammā iegūstiet istabas temperatūru un mitrumu: 6 soļi
ESP8266 Nodemcu temperatūras uzraudzība, izmantojot DHT11 vietējā tīmekļa serverī | Iegūstiet istabas temperatūru un mitrumu savā pārlūkprogrammā: Sveiki, puiši, šodien mēs izveidosim mitrumu & temperatūras uzraudzības sistēma, izmantojot ESP 8266 NODEMCU & DHT11 temperatūras sensors. Temperatūru un mitrumu noteiks DHT11 sensors & to var redzēt pārlūkprogrammā, kura tīmekļa lapa tiks pārvaldīta
Temperatūras kontrolēta vakcīna un insulīna dzesētājs: 9 soļi (ar attēliem)
Temperatūras kontrolēta vakcīna un insulīna dzesētājs: vēsuma saglabāšana glābj dzīvības Jaunattīstības valstīs vakcīnas ir pirmā aizsardzības līnija pret tādām bīstamām slimībām kā Ebola, gripa, holēra, tuberkuloze un tropu drudzis. Pārvadājot vakcīnas un citus dzīvību glābjošus materiālus
Mājas/biroja istabas temperatūras monitorēšana uz darbvirsmas: 4 soļi
Mājas/biroja istabas temperatūras monitorēšana uz darbvirsmas: lai uzraudzītu telpas vai birojus vai jebkuru citu vietu, kur mēs varam izmantot šo projektu, un tas tiek parādīts ar tik daudzām detaļām kā grafiks, reālā laika temperatūra un daudz kas cits. Mēs izmantojam: https://thingsio.ai/ Pirmkārt, mums ir jāizveido konts šajā IoT platformā