Mundarija:
- 1 -qadam: Uskuna sozlamalari
- 2 -qadam: dasturiy ta'minotni sozlash - elektron pochtani sozlash va qabul qiluvchilar
- 3 -qadam: Dasturiy ta'minotni sozlash - ketma -ket sozlash va ajratish
- 4 -qadam: Dasturiy ta'minotni sozlash - Gnuplot
- 5 -qadam: Dasturiy ta'minotni sozlash - chegarani sozlash va elektron pochta orqali yuborish
- 6 -qadam: dasturiy ta'minotni sozlash - HTML
- 7 -qadam: Men tirikman …
Video: Raspberry Pi nazorat qilinadigan xonadagi haroratni Gnuplot tasvirini chiqarish va elektron pochta orqali ogohlantirish qobiliyati: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Men ishlayotgan joyda juda ko'p kompyuterlar joylashgan juda muhim xona bor. Bu tizimlarning ishlashini optimallashtirish uchun bu xonadagi muhit harorati juda sovuq bo'lishi kerak. Menga bir nechta odamlarga bu xonadagi konditsionerda biror narsa noto'g'ri bo'lganligi to'g'risida xabar beradigan bir nechta ogohlantirish yuborish qobiliyatiga ega bo'lgan monitoring tizimini ishlab chiqish taklif qilindi. va USB harorat va namlik sensori. Kuzatuv uchun men Gnuplotdan uchta harorat grafigini tuzish va shu grafiklarning tasvirini yaratish uchun foydalanardim. Keyin men Raspberry pi -da joylashtiriladigan maxsus HTML -sahifani yaratdim, shuning uchun hozirgi sharoitni, gnuplot chiqish tasvirlarini tarmoqimizdagi veb -sahifadan kuzatib borish mumkin. Men Linux User jurnalida ba'zi misol kodlarini topdim. (Albatta, siz kerakli port topshiriqlarini bilganingizdan so'ng, har qanday pochta serveridan foydalanishingiz mumkin.) Buning uchun men bu ogohlantirishlar uchun maxsus Gmail elektron pochta hisobini yaratdim. Qo'shimcha xususiyat sifatida, ogohlantirish ishga tushirilganda, men elektron pochtaga bitta grafikni biriktiraman, shunda elektron pochtani olgan kishi ogohlantirishni keltirib chiqargani qanchalik keskin oshgani haqida tasavvurga ega bo'ladi.
1 -qadam: Uskuna sozlamalari
Uskunani sozlash uchun ko'p narsa yo'q. Raspberry pi Raspian bilan ishlaydi va USB harorat sensori to'g'ridan -to'g'ri USB portlaridan biriga ulanadi. Ushbu sensorning quvvat sarfi minimal va natijada men uni to'g'ridan -to'g'ri Raspberry pi -dan quvvatladim. Biroq, bir oz ko'proq quvvat sarflaydigan USB -quvvatlanadigan qurilmalar uchun, men ularni Raspberry pi -ning USB portidan emas, balki quvvatlanadigan USB -uyadan quvvatlantirishni tavsiya qilaman. Harorat sensori quvvat olgandan so'ng, harorat va hozirgi sharoitdagi namlik ko'rsatkichlari. harorat = 20,9 ° C namlik = 62,7% shudring nuqtasi = 13,0 ° CA python skript bu satrni tahlil qiladi va har besh daqiqada harorat va namlik qiymatlarini uchta matnli faylga saqlaydi; kundalik, 24 soat va 48 soatlik matnli fayllar (farqlar keyinchalik HTML bo'limida muhokama qilinadi). Bu fayllardan Gnuplot grafikalar va keyinchalik har bir fayldagi ma'lumotlar to'plamining rasmlarini yaratadi. Python skriptini muhokama qilishdan oldin men Raspberry pi tayyorlash haqida gaplashaman. Monitoring onlayn tarzda o'tkazilishi kerakligi sababli, veb -server o'rnatilishi kerak. Men o'z vaqtida Raspberry pi -da bir nechtasini sinab ko'rdim, lekin biroz kattaroq bo'lsa -da, men Apache -ni afzal ko'raman. Apache-ni Raspberry pi-ga o'rnatish uchun quyidagini yozing: sudo apt-get install apache2 Bu sizga o'rnatishdan oldin ko'rsatma beradi, ha uchun "y" tugmasini bosing va Apache Raspberry pi-ga qarab bir necha daqiqada o'rnatiladi. Bajarildi, siz ikkita python plaginini o'rnatishingiz kerak: python-serial va python-gnuplot vilkasi. (Garchi men yaqinda Raspian tuzilmalarida python-seriyali plagin standarti borligini bilsam-da, faqat xavfsiz bo'lishi uchun.) Siz yozganlarni o'rnatish uchun: sudo apt-get install python-serial python-gnuplotOnce ko'rsatmalarni tan olgandan keyin yana. -kirishlar o'rnatiladi. Va shu bilan jihozni sozlash tugallandi.
2 -qadam: dasturiy ta'minotni sozlash - elektron pochtani sozlash va qabul qiluvchilar
E -pochta manzilini yarating Biz dasturiy ta'minotga kirishdan oldin, elektron pochta xabarlarini yuborish uchun Gmail hisobini yaratish uchun yaxshi vaqt bo'ladi. (Bu misolda GMail ishlatiladi, lekin smtp port sozlamalarini bilganimizda har qanday pochta serveridan foydalanish mumkin) Python kodi juda aniq, lekin kerakli import juda muhim. Ularsiz hech narsa bo'lmaydi. Albatta, biz elektron pochta qabul qiluvchilarni qo'shishimiz kerak. Har bir elektron pochta manzili o'zgaruvchiga saqlanadi.
3 -qadam: Dasturiy ta'minotni sozlash - ketma -ket sozlash va ajratish
Endi biz ketma -ket sozlashni ko'rib chiqamiz, bu sensorning ketma -ket chiqishiga mos keladigan parametrlarni sozlash. Sensor ketma -ket ketma -ketlikni standart formatdagi 9600 8 N 1 da chiqaradi. Qator qabul qilingandan so'ng, bu satrni pythonda va, ehtimol, yanada ishonchli tarzda tahlil qilishning bir necha usullari mavjud. Buni qilish usuli ketma -ketlikdagi "temp" belgilarini izlashdir. Joylashgandan so'ng, keyingi 46 ta ketma -ket belgini satrga o'qish kifoya. Endi yig'ilgan satrni qator elementlari kabi hal qilish mumkin. Kerakli ma'lumotlar satrdan ajratiladi va tegishli vaqt markasi bilan birga uchta faylga saqlanadi.timestamp = strftime ("%d%b%Y%H:%M:%S", localtime ())
4 -qadam: Dasturiy ta'minotni sozlash - Gnuplot
Gnuplot - buyruq satrining grafik vositasi. Agar siz asoslarni bilib olsangiz, bu ma'lumotlar to'plamini grafik tarzda ko'rsatish uchun juda kuchli vosita bo'lishi mumkin. Gnuplot to'g'ridan -to'g'ri formatlangan matnli fayldan tuzishi mumkin, va bizda shunday bo'ladiki, avvalgi tahlil bosqichidan. Ma'lumot qaerda joylashganligini gnuplot -ga ko'rsatgandan so'ng, biz kerakli qiymatlarni chizishimiz mumkin. Men X o'qida vaqtni va Y o'qida haroratimizni ishlatmoqchiman. Gnuplot -dagi vaqt formatini matnli fayl formatiga moslashtirish kerak, chunki barcha grafik variantlari to'liq va sizning xohishingizga ko'ra, Gnuplot bu grafik tasvirini yaratishi mumkin. Bu tasvirni biz keyinroq veb -sahifamizda ishlatamiz. Men-p.webp
5 -qadam: Dasturiy ta'minotni sozlash - chegarani sozlash va elektron pochta orqali yuborish
Ogohlantirish chegarasi sozlash paytida sinov va xato bilan bajarilishi kerak. tizim joylashgan xonada derazalar yo'q, shuning uchun konditsioner to'xtaganda, u juda tez qizib ketishi mumkin. Dastlab, men bir necha kun davomida ma'lumotlar to'plamiga qaradim va 30 daraja S darajasidagi ogohlantirish qiymatini tanlashdan oldin haroratning o'zgarishini kuzatdim. Bu unchalik baland emasdek tuyulishi mumkin, lekin ogohlantirish ishga tushirilgach, siz haligacha muammoni hal qilish uchun vaqt berishni xohlaysiz.
Oddiylik uchun, men shaxsiy ro'yxatlar ro'yxatini elektron pochta orqali yuboraman. Yuborish ro'yxati qisqa bo'lgani uchun, men hech qachon bir nechta qabul qiluvchilarga bitta elektron pochta xabarini yuborish bilan ovora bo'lmaganman. Bu erda bir narsani ta'kidlash kerak, chunki men bu skriptni har 5 daqiqada cron ishi sifatida ishlayotganim uchun, chegara ishga tushirilgandan so'ng har 5 daqiqada elektron pochta xabarlarini yuborishni xohlamaysiz. Buning oldini olish uchun men ogohlantirish sanasi va vaqtini faylga yozaman va elektron pochta jo'natishdan oldin bu faylni tekshiraman, chunki tizim allaqachon ogohlantirish holatida. Ogohlantirish holatida, u tizim ishga tushgan va ogohlantirish holatida bo'lganida, elektron pochtani faqat birinchi tetiklagandan keyin har soatda yuboradi. Shunday qilib, Gmail sizning elektron pochtangizni qisqa vaqt ichida juda ko'p elektron pochta xabarlarini yuborishiga to'sqinlik qilmaydi.
6 -qadam: dasturiy ta'minotni sozlash - HTML
Butun tizimni kuzatish veb -sahifa orqali amalga oshiriladi va buning uchun juda oddiy HTML skript kerak. Gnuplot yaratgan tasvirlar men shunchaki tasvirning bir xil o'lchamlarini ishlataman. Men ishonamanki, men bu tasvirlar uchun taxminan 3 o'lchovni bosib o'tdim, bu mening ekranimga eng yaxshi moslikni berdi. HTML skriptini yaratishdan oldin, unga papka yarataylik. Odatiy bo'lib, veb -xosting papkasi/var/www/manzilida joylashgan. Garchi bu Raspberry pi -ning yagona maqsadi bu xonani kuzatib borish va elektron pochta orqali ogohlantirish berish bo'lsa -da, uyni yaxshi saqlash uchun men/var/www/papkasida alohida papka yaratdim. Bu papka asosiy foydalanuvchiga tegishli bo'lgani uchun, bu joyni jild yaratish uchun sudo -dan foydalanish kerak. sudo mkdir/var/www/temperatureBu misolda men haroratni papkaning nomi sifatida ishlatardim, lekin siz bu erda istalgan nomni ishlatishingiz mumkin, lekin esda tutingki, bu sahifani ko'rish uchun manzil satriga kiritish kerak bo'ladi. Bu yo'l python skriptidagi o'zgaruvchida saqlanadi. Xosting joyini o'zgartirish yoki boshqa tizim uchun skriptni o'zgartirish kerak bo'lsa ham, uni faqat shu joydan o'zgartirish mumkin, endi biz bu papkada html skriptini yaratishimiz mumkin. bu erda ijro etishni xohlayman. Men sizga html skriptini "index.html" deb nomlashni maslahat berardim, chunki bu sahifani topishga harakat qilganda, buni soddalashtiradi. Muhimi, tasvirning o'lchami Gnuplot -dan olingan rasm o'lchamiga mos kelishiga ishonch hosil qilishdir. Bu sahifani ko'rish uchun., siz shunchaki Raspberry Pi -ning IP -manzilini /haroratini (yoki sizning papkangizga nima deb nomlaganingizni) kiritishingiz kerak, menda har xil narsalarni kuzatadigan bir nechta tizimlar bor va ularning barchasi grafik natijalarini beradi. Shunday qilib, men ushbu sahifalarga havolalari bo'lgan sahifani yaratdim, shuning uchun har safar bu sahifalarga kirishni xohlaganimda manzilni kiritishdan xavotir olmang.
7 -qadam: Men tirikman …
Men buni kompyuter xonasidagi haroratni kuzatish uchun ishlatganman, lekin bu har qanday manbadan olingan ma'lumotlar bo'lishi mumkin. U matnli faylda saqlanishi mumkin va siz uning formatini bilsangiz, qolganini Gnuplot bajarishi mumkin. Men bu loyihaga yaqinda qo'shgan narsam - "yurak urishi" elektron pochta xabarlarini yuborish. Bu oyning birinchi kuni, ertalab soat 9 da menda skript bor, u elektron pochta ro'yxatini elektron pochta orqali yuboradi, ular tizim kerakli darajada ishlayotganini va xonada hamma narsa yaxshi ekanligini bildiradi.
Cronjob ro'yxatini quyidagicha ishlatish:
Tavsiya:
Yorqin nazorat qilinadigan quyosh chiqishi: 6 qadam
Yorqin quyosh chiqadigan chiroq: Siz har doim soat 7 da uyg'onganmisiz, ish uchun uyg'onishingiz kerak bo'lgan vaqt va o'zingizni zulmatda topdingizmi? Qish - bu dahshatli vaqt, to'g'rimi? Siz tunda uyg'onishingiz kerak (aks holda nima uchun qorong'i?), To'shagingizdan yirtib tashlang
ESP32-CAM suratga olish va SPIFF xotirasi yordamida elektron pochta orqali yuborish. -- SD karta kerak emas: 4 qadam
ESP32-CAM suratga olish va SPIFF xotirasi yordamida elektron pochta orqali yuborish. || SD-karta kerak emas: Salom odamlar, ESP32-CAM kartasi-bu ESP32-S chipi, OV2640 kamerasi, tashqi qurilmalarni ulash uchun bir nechta GPIO va microSD karta uyasini birlashtirgan, arzon narxlardagi ishlab chiqarish kartasi. U video oqim veb -serveridan tortib bir qator ilovalarga ega, bu
Kraken Jr. IoT ilovalari bo'yicha qo'llanma 1 -qism - Elektron pochta orqali ro'yxatdan o'tish va faollashtirish: 9 qadam
Kraken Jr. IoT ilovalari bo'yicha qo'llanma 1 -qism - Elektron pochtani ro'yxatdan o'tkazish va faollashtirish: 1 -dars (Elektron pochtani ro'yxatdan o'tkazish va faollashtirish) 2 -qism (Cid va autentifikatsiya kodini yozib olish) 3 -qism (Arduino -da ro'yxatdan o'tish) Internet. Arduino Uno + Ethernet Shield yordamida siz
Xavfsizlik kamerasi sifatida eng oson veb -kamera - harakatni aniqlash va elektron pochta orqali yuborish: 4 qadam
Xavfsizlik kamerasi sifatida eng oson veb -kamera - Harakatni aniqlash va elektron pochta orqali yuborish: Siz veb -kamerangizdan elektron pochtangizga aniqlangan rasmlarni olish uchun dasturiy ta'minotni yuklab olishingiz yoki sozlashingiz shart emas - shunchaki brauzerdan foydalaning. Rasmni olish uchun Windows, Mac yoki Android-da Firefox, Chrome, Edge yoki Opera-ning dolzarb brauzeridan foydalaning
BlogSpot-ga elektron pochta orqali xabar yuborish: 6 qadam
BlogSpot-ga elektron pochta orqali xabar yuborish: Siz BlogSpot blogingizga elektron pochta orqali xabar yuborishingiz mumkin. Afsuski, siz faqat matnli xabarlarni yuborishingiz mumkin, chunki u elektron pochta orqali rasmlarni qabul qilmaydi. Bu ma'lumotni Blogger yordam bo'limida ham topishingiz mumkin