Mündəricat:
- Təchizat
- Addım 1: Bəzi Ağıllı Fişlər alın
- Addım 2: Cihazın yanıb sönməsi
- Addım 3: İlk dəfə Firmware -yə qoşulun
- Addım 4: Fişi konfiqurasiya edin
- Addım 5: Gərginliyi kalibr edin
- Addım 6: PI -də proqram təminatının quraşdırılması
- Addım 7: Grafananın quraşdırılması
- Addım 8: InfluxDB -nin quraşdırılması
- Addım 9: Teleqrafı quraşdırın
- Addım 10: Mosquitto quraşdırın
- Addım 11: Ağıllı Fişdən Ağcaqanadlara Məlumat Göndərmə
- Addım 12: Məlumatları Ağcaqanaddan Axışa ötürmək üçün Telegrafdan istifadə edin
- Addım 13: Nəhayət, Grafanada qrafiklər yaradın
- Addım 14: Daha Bir neçə Məsləhət
Video: Ev Aləti Raspberry PI Əsaslı Güc Monitoru: 14 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu, evin ətrafındakı fərdi cihazların enerji istifadəsini izləmək və zamanla onların enerji istifadəsinin qrafiklərini göstərmək üçün etdiyim kiçik bir layihə idi. Əslində, Raspberry PI əsaslı ən asan layihələrdən biridir, lehimləmə və ya açıq məhsullara müdaxilə tələb olunmur. Raspberry PI layihəsi olmaq lazım deyil, asanlıqla Linux qutusunda və ya bəlkə də Windows -da edilə bilər.
Güc monitoru/ağıllı fişlərin 4 dəsti və Raspberry PI -nin qiyməti 50 AUD təşkil edir. Biraz yavaş olduğunu tapsam da bu bir Pi Zero və ya Original PI üzərində işləyə bilər. Sahib olduğum digər PI PI 3 -dir və onu çox sürətli tapdım, buna görə də bunu məsləhət görürəm. Daha köhnə bir PI -də işlətmək istəyirsinizsə, məlumat toplama tezliyini azalda bilərsiniz (10 saniyə istifadə edirdim).
Bu layihənin əlavə faydası var və ya ağıllı fişi istehsalçı firmware -dən azad edir, buna görə də onların xüsusi tətbiqlərindən və bulud xidmətlərindən istifadə etmək lazım deyil. Beləliklə, Home Assist ilə və ya yalnız öz python skriptlərinizlə istifadə edilə bilər.
Zəhmət olmasa OS -ni PI -də necə quracağınızı, ona qoşulacağınızı və bəzi əsas linux əmrlərini işlədiyinizi bildiyinizi güman edirəm. Wi -Fi -ya qoşulduqda ağıllı fişinizin IP ünvanını necə tapacağınızı da bilirəm.
Təchizat
Buradan 2 paket və ya 4 paket ağıllı fiş:
www.kogan.com/au/buy/kogan-smarterhome-sma…
1 Moruq PI
Bacarıqlar:
Moruq PI qurmaq bacarığı
Əsas linux əmr xətti
Vi və ya nano kimi mətn redaktoru (nano daha çox istifadəçi dostudur, tanış olanda vi daha sürətli olur)
Şəbəkənizdəki cihazların IP -ni tapmaq imkanı.
Addım 1: Bəzi Ağıllı Fişlər alın
İstifadə etdiyim ağıllı fiş buradan idi:
www.kogan.com/au/buy/kogan-smarterhome-sma…
Diqqət yetirin ki, uyğun olan bir çox ağıllı fiş var, əksəriyyəti (hamısı?) ESP8266 (WEMOS) əsaslı qurğulardır və flaş etmək çox asandır. Çoxlarının olmadığı kimi güc monitorinqi olan bir şey aldığınızdan əmin olun. Bu səhifə uyğun cihazların böyük bir siyahısını göstərir:
templates.blakadder.com/plug.html
Addım 2: Cihazın yanıb sönməsi
Bu hissə təəccüblü dərəcədə asan idi. Əsasən yalnız proqramı yüklədin, işə salın və sizi addımlayır.
Bunun üçün WiFi ilə bir Raspberry PI və ya Linux qutusuna ehtiyacınız olacaq. Əsas cihazınız WiFi deyil, bu cihazla əlaqəli olmalısınız. PI3 üçün Ethernet vasitəsilə bağlandığım üçün bu asan idi. Bir PI Zero varsa, klaviatura və monitor ilə köhnə üslubda əlaqə qurmalı olacaqsınız.
Bir PI qurmağı və ona SSH və ya klaviatura ilə necə qoşulacağınızı bildiyinizi güman edirəm ki, bundan keçməyim. Əmin deyilsinizsə, İnternetdə çoxlu dərslər var.
Başlamazdan əvvəl cihazlarda bir az arxa plan var. Çində fərqli müştərilər üçün ağıllı fişlər çıxaran Tuya adlı bir şirkət var. Fərqli müştərilər üçün fərdiləşdirmə edir və standart bir firmware təmin edir və şirkətlərə öz dəyişikliklərini etməyə imkan verir. Fərqli satıcılardan bir dəstə məhsulunuz varsa, onlardan bəziləri digərlərindən daha yaxşı işləyən bir çox tətbiqetməni işə salmaq məcburiyyətində qalırsınız. Açıq mənbə proqram təminatını yandıraraq özünüzü bütün bunlardan azad edirsiniz. Beləliklə, bu ümumi ev avtomatlaşdırılması üçün yaxşıdır.
Belə ki …. Əlavə etmədən, təlimatlar:
1) Bu əmrləri PI -də işlədin, bu lazım olan proqramı quraşdıracaq.
# git klonu https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh
2) Ağıllı fişi gücə qoşun
3) Düymə ilə işə salın
4) Mavi işıq yanıb -sönənə qədər güc düyməsini basıb saxlayın
5) 10 saniyə gözləyin. Bu vacib deyil, amma etsəniz daha yaxşı işlədiyini gördüm.
6) Bu əmri işlədin
./start_flash.sh
Buradan, yalnız "2. Tasmota" nı seçmək istisna olmaqla, istəkləri yerinə yetirirsiniz. Fərqli bir proqram təminatı üçün bir seçim var, amma sınamamışam, buna görə də bunun necə olduğuna əmin deyiləm.
Diqqət yetirin ki, bunu bir dəfədən çox etmək məcburiyyətində qaldım, əvvəlcə cihazı kərpiclə vurduğumu düşündüm, işığım, röleyim klikləri və həyat əlamətləri yox idi. Ancaq onu söndürdüm və son əmri yenidən işə saldım və işlədi. Bunu çırpdığım 4 cihazdan 3 -ü ilə etmək məcburiyyətində qaldım, yalnız biri düz keçdi, 5 -ci addıma görə düşünürəm.
Tam təlimat burada:
github.com/ct-Open-Source/tuya-convert
Addım 3: İlk dəfə Firmware -yə qoşulun
Cihaza təsmotanı yandırdıqdan sonra çox həyat əlamətləri göstərməyəcək. Bunun səbəbi, konfiqurasiya edilməsidir. Bunu etmək olduqca asandır, bunu telefonumla etməyi ən yaxşı hesab etdim. Adımlar bunlardır:
1) WiFi giriş nöqtələrini axtarın
2) tasmota_xxxx etiketli birinə qoşulun (burada x ədədlərdir)
3) Telefon sizi 192.168.4.1 -ə getməsə, sizi standart səhifəyə yönləndirməlidir
Bəzi telefonlarda "İnternet bağlantısı yoxdur, bağlı qalmaq istəyirsən" deyən bir mesaj verə bilər, bəli seçin.
4) Açılan səhifədə WiFi şəbəkənizin adını və ilk 2 qutuya şifrənizi daxil edin. Şifrəni göstərmək və doğru parol daxil etdiyinizi üç dəfə yoxlamaq üçün seçimə vurun. Səhv şifrə daxil etmisinizsə, bu konfiqurasiya ekranına qayıtmağın çətin olacağını düşünürəm. Qeyd edək ki, WiFi şəbəkələrini də axtara bilərsiniz, baxmayaraq ki, hələ də parol daxil etməlisiniz.
5) Fiş indi WiFi şəbəkənizə bağlı olmalıdır. Routerinizin konfiqurasiya səhifəsinə daxil olmalı və cihazınızın IP ünvanını tapmalısınız.
6) Kompüterinizdə bir veb brauzeri açın və https:// [device_ip] saytına daxil olun Tasmota'dan konfiqurasiya ekranını görməlisiniz.
Tebrik edirik, fişi uğurla çırpın.
Addım 4: Fişi konfiqurasiya edin
Bu cihazları istehsal edən şirkət, çox fərqli konfiqurasiyaya malik 10.000 cihaz hazırlayır. Yeni bir proqram təminatını yandırdıq və firmware hansı cihazların üstünə atıldığını bilmir. Buna görə bir şey işləməzdən əvvəl onu konfiqurasiya etməliyik. Bunu etmək üçün İnternetdə cihazımızın detallarını tapmalı və konfiqurasiyanı yükləməliyik.
Bunun üçün cihazınızı bu səhifədə tapın:
templates.blakadder.com/plug.html
İstifadə etdiyim cihaz üçün konfiqurasiya burada:
templates.blakadder.com/kogan-KASPEMHUSBA….
Konfiqurasiyanı təyin etmək üçün mətni Şablonun altına kopyalayırıq. Bu vəziyyətdə belədir:
Sonra
1) Cihazınızın konfiqurasiya səhifəsinə keçin https:// [smart plugin IP]
2) Konfiqurasiya et, digərini konfiqurasiya et
3) İçinizə şablon simini yapışdırın
4) "MQTT -ni aktiv et" işarəsini qoyun.
5) Aktivləşdir və Saxla düyməsini basın.
Bunun işlədiyini yoxlamaq üçün ana səhifəyə qayıtmaq üçün "Əsas menyu" düyməsini basın və indi güc istifadə rəqəmlərini görməlisiniz. Hamısı sıfır olacaq, hətta gərginlik, amma bu yaxşı bir işarədir. Keçid düyməsini basın və rölin tıklandığını eşitməlisiniz və gərginliyin qalxdığını görəcəksiniz.
Addım 5: Gərginliyi kalibr edin
Gərginliyin oxunmasının olduqca yüksək olduğunu gördüm. Evdə başqa bir gərginlik oxu mənbəyiniz varsa (məsələn, ağıllı sayğac?), Sonra fişi çox asanlıqla kalibr edə bilərsiniz. Bunu etmək
1) Doğru gərginlik oxunuşunu əldə edin
2) Röleyi ağıllı fişdə yandırın
3) Cihazın ana səhifəsində Konsol düyməsini basın
4) "VoltageSet 228" əmrini daxil edin və enter düyməsini basın (228 -ni gərginliyinizlə əvəz edin)
Gərginlik indi düzgün göstərilməlidir.
Addım 6: PI -də proqram təminatının quraşdırılması
PI -də quraşdırılması lazım olan bir neçə paket var. Bunları quraşdırmaq asandır və müxtəlif paketlərin təlimatlarına uyğun olaraq edilə bilər. Təlimatları burada verəcəyəm, ancaq zaman keçdikcə dəyişə biləcəyini unutmayın ki, göstərişlərim tarixə düşsün. Paketlər bunlardır:
Grafana (qrafikləri göstərmək üçün)
Influxdb (məlumatlarımızı saxlayacaq zaman seriyası verilənlər bazası)
Telegraf (məlumatları Influxdb -ə daxil etmək üçün istifadə olunur)
Mosquitto (məlumat ötürülməsi üçün istifadə olunan mesaj avtobusu, ağıllı fiş məlumatları bura köçürür)
Məlumat axını zənciri belədir:
Ağıllı Fiş -> Ağcaqanad -> Teleqraf -> InfluxDB -> Qrafana
Niyə Mosquitto və Telegrafı atlaya bilmədiyimizi soruşsanız, bu yaxşı bir sualdır. Teorik olaraq, Smart Plug Influx -ə gedə bilər. Bunun problemi, 100 -lərin müxtəlif son nöqtələri üçün konfiqurasiya edilə bilməsi və bizi bəzi seçimlərdən kənarlaşdırmasıdır. Ev avtomatlaşdırmasındakı çox şey mesajları ötürmək üçün Mosquitto -dan istifadə edir. Məsələn, Mosquitto'ya mesaj göndərərək fişi açıb söndürə bilərik və ağıllı fiş onları alacaq və cavab verəcək.
Addım 7: Grafananın quraşdırılması
Kimdən:
grafana.com/grafana/download?platform=arm
Və ya burada bir çox başqa seçim:
grafana.com/grafana/download
Pi 1 və Pi Zero üçün (ARMv6)
sudo apt-get install -y adduser libfontconfig1#ən son versiyanı səhifənin yuxarı hissəsində tapa bilərsiniz https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo /bin /systemctl daemon-reloadsudo /bin /systemctl imkan verir grafana-serversudo /bin /systemctl grafana-serverini işə salın
Daha yeni PI (ARMv7) üçün
sudo apt -get install -y adduser libfontconfig1#ən son versiyanı yuxarıdakı səhifədə tapa bilərsiniz https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo/ bin/systemctl daemon-reloadsudo/bin/systemctl grafana-serversudo/bin/systemctl grafana-serverini işə salın
Sınamaq:
Http: // [IP -nin IP]: 3000 -ə keçin
istifadəçi adı/şifrə admin/admindir, onu dəyişdirməyinizi xahiş edəcək, hələlik atlaya bilərsiniz
GUI əldə etsəniz, hər şey yaxşıdır, növbəti addıma keçin
Addım 8: InfluxDB -nin quraşdırılması
Bu əmrləri PI -də işlədin:
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source/etc/os-releasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian streç stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stabil" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influxdbsudo systemctl, influxdbsudo systemctl-in axını başlatmağa imkan verir
"Axın" yazaraq test edin. Bu sizi influxdb əmr satırına qoymalıdır. "Veritabanlarını göstər" yazın, hələ heç bir verilənlər bazası olmayacaq, ancaq səhvsiz boş bir siyahı alsanız, hər şey yaxşıdır.
Addım 9: Teleqrafı quraşdırın
Bu, çox asandır, çünki yaza biləcəyimiz influxdb repolarını əlavə etdik:
sudo apt-get yüklə telegrafsudo systemctl imkan teleqrafsudo systemctl teleqrafı başlat
Bu nöqtədə Telegraf, artıq sistem axınlarını infxdb -ə daxil edəcək. Bu əmrləri yazaraq onları görə bilərsiniz:
influxshow verilənlər bazası teleqrafşou seriyasını seçin * FROM cpu LIMIT 10;
Addım 10: Mosquitto quraşdırın
Bu hissə çox sadədir, çünki yalnız raspian dilində paketlənmiş standart versiyanı quraşdırırıq:
sudo apt -get -y mosquittosudo qur apt -get -y qurmaq mosquitto -clientssudo systemctl mosquittosudo systemctl start mosquitto imkan# mosquittosudo mosquitto_passwd üçün parol yaradın -c/etc/mosquitto/tasmota tasmota# parol daxil edin. Bunu ağıllı fişə verməliyik deyə bu şifrəni yazın
Sınamaq:
bunu bir SSH sessiyasında işlədin:
mosquitto_sub -t testi
Bunu başqa birində işlədin
mosquitto_pub -t testi -mesajım
Mesajınızı ilk SSH sessiyasında görməlisiniz
Addım 11: Ağıllı Fişdən Ağcaqanadlara Məlumat Göndərmə
İndi ağcaqanadlar işləyir, ağcaqanadlara məlumat göndərmək üçün konfiqurasiya etməliyik. Bunu etmək olduqca asandır. Əvvəlki addımdan ağcaqanad üçün daxil edilmiş şifrəyə ehtiyacımız olacaq.
1) Ağıllı fişlərin veb səhifəsinə daxil olun
2) Konfiqurasiya düyməsini vurun, sonra Qeydiyyatı Konfiqurasiya edin
3) Telemetriya müddətini 10 olaraq təyin edin və Saxla düyməsini basın.
4) Configure MQTT düyməsini basın
5) Ev sahibi üçün PI -nin IP ünvanını daxil edin
6) İstifadəçi adı üçün tasmota daxil edin
7) Şifrə üçün əvvəlki addımdakı şifrəni daxil edin
8) Mövzu üçün tasmota1 daxil edin
9) Saxla düyməsini vurun
Sınamaq:
PI -də aşağıdakı əmri yazın. 10 saniyə ərzində gələn məlumatları görməlisiniz.
mosquitto_sub -t tele/tasmota1/SENSOR
Məlumat belə görünməlidir:
Addım 12: Məlumatları Ağcaqanaddan Axışa ötürmək üçün Telegrafdan istifadə edin
İndi Telegraf -ı ağcaqanaddan gələn məlumatları oxumaq və fluxdb -ə keçmək üçün konfiqurasiya edəcəyik. PI -də:
1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak
2) sudo vi /etc/telegraf/telegraf.conf
Qeyd vi, yeni istifadəçilər üçün çox dost deyil, bunun əvəzinə nano istifadə edin.
sudo nano /etc/telegraf/telegraf.conf
3) Əlavə edilmiş fayldan konfiqurasiyaya yapışdırın
4) sudo systemctl teleqrafı yenidən başladın
Bunu PI -də sınamaq üçün:
axın
verilənlər bazasını göstərin
test verilənlər bazasını görməlisiniz. Ad testini sevmirsinizsə, telegraf.conf faylında dest_db faylını dəyişə bilərsiniz.
Addım 13: Nəhayət, Grafanada qrafiklər yaradın
Nəhayət bəzi məlumatları görürük:-):-)
Əvvəlcə verilənlər bazası ilə əlaqə qurmalıyıq. Grafana veb səhifəsinə keçin http: [ip of PI]: 3000
1) admin/admin ilə daxil olun
2) Sol sütunda dişli simgesini və məlumat mənbələrini vurun
3) Məlumat mənbəyi əlavə et düyməsini vurun
4) influxdb düyməsini basın
5) URL üçün https:// localhost: 8086 daxil edin
6) Verilənlər bazası üçün test daxil edin
7) HTTP üçün GET daxil edin
8) Minimum vaxt aralığı üçün 10 saniyə daxil edin
9) Saxla və Test et düyməsini vurun, "Datasource işləyir" yazmalıdır
Tamam, indi bir qrafik yarada biləcəyimiz verilənlər bazası ilə əlaqəmiz var … nəhayət.
1) Sol sütunda + və sonra İdarə Paneli və Yeni Panel Əlavə et vurun
2) Verilənlər bazası üçün InfluxDB düyməsini basın
3) Ölçmə düyməsini vurun və Koganı seçin
4) Sahə üçün Energy_Power seçin.
5) Takma ad üçün serialınıza bir ad verin (məsələn, Qabyuyan maşın)
6) Panel Başlığı üçün sağ tərəfdə bir ad verin, məsələn Güc.
7) Budur, məlumatları görməlisiniz. Redaktədən çıxmaq üçün sol ox düyməsini vurun və sonra saxla düyməsini vurun, tablosuna bir ad verin.
Ciddi şəkildə bu işin öhdəsindən gələ bilsəniz.
Addım 14: Daha Bir neçə Məsləhət
Təqdim etdiyim standart Telegraf konfiqurasiyası bir az baxımlı idi, çünki hər cihaz üçün yeni bir hissə əlavə edilməli və Telegrafın yenidən başladılması lazımdır. Aşağıdakı dəyişikliklərlə, cihazların Telegrafı dəyişdirmədən Tasmota konfiqurasiyasına əlavə oluna və ya adının dəyişdirilə biləcəyi işləri daha dinamik edir.
İlk dəyişiklik mövzunun adına + qoymaqdır, bu, əsasən jokerdir. Bu, Grafanada qrafik hazırladığınız zaman cihazların "tele/WashingMachine/SENSOR" kimi adlar çıxması istisna olmaqla kifayət edər. Aşağıdakı Telegraf konfiqurasiyasının ikinci hissəsi regex prosessorudur. "WashingMachine" mətnini mərkəzdən çıxarır və onu InfluxDB -ə sövq edən yeni bir etiketə çevirir.
Qeyd: hər bir cihaz üçün Tasmota konfiqurasiyasında fərqli bir mövzu adı qurduğunuzdan əmin olun
[inputs.mqtt_consumer.tags] dest_db = "test"
Bunu etdikdən sonra Grafana'yı bir qrafikdə birdən çox cihazı göstərmək üçün konfiqurasiya etmək çox asandır. Bu addıma əlavə edilmiş şəkil nə edilməli olduğunu göstərir. Sadəcə qrupdakı + işarəsini xətt üzrə vurun və etiket (cihaz) seçin. Alias By -ın aşağı hissəsinə $ tag_device daxil edin. İndi bir qrafikdə birdən çox seriya görməlisiniz. Açmaq və söndürmək üçün hər bir maddənin mətnini vura bilərsiniz (ctrl klik çoxları seçmək üçün işləyir)
Tövsiyə:
Arduino əsaslı təmassız infraqırmızı termometr - Arduino İstifadə edən İQ Əsaslı Termometr: 4 Addım
Arduino əsaslı təmassız infraqırmızı termometr | Arduino İstifadə edən İK Əsaslı Termometr: Salam uşaqlar bu təlimatlarda arduino istifadə edərək təmasda olmayan bir Termometr hazırlayacağıq. Bəzən mayenin/bərkin temperaturu çox yüksək və ya aşağıya enir, sonra onunla əlaqə qurmaq və oxumaq çətindir. o səhnədə temperatur
Hava əsaslı musiqi generatoru (ESP8266 əsaslı Midi Generator): 4 addım (şəkillərlə)
Hava əsaslı musiqi generatoru (ESP8266 əsaslı Midi Generator): Salam, bu gün öz kiçik hava əsaslı musiqi generatorunuzu necə düzəltəcəyinizi izah edəcəyəm, bir növ Arduino kimi bir ESP8266 -ya əsaslanır və temperatur, yağışa cavab verir. və bütün mahnıların və ya akkordların proqramlaşdırılmasını gözləməyin
SilverLight: Server Odaları üçün Arduino Əsaslı Ətraf Mühit Monitoru: 3 Addım (Şəkillərlə birlikdə)
SilverLight: Server Odaları üçün Arduino Əsaslı Ətraf Mühit Monitoru: Bir dəfə şirkətimin server otağında istiliyin monitorinqi üçün ekoloji bir zond axtarmağı tapşırdım. İlk fikrim belə idi: niyə yalnız bir Raspberry PI və DHT sensoru istifadə etmirsiniz, OS daxil olmaqla bir saatdan az bir müddətdə qurula bilər
CribSense: Kontaktsiz, Video əsaslı bir körpə monitoru: 9 addım (şəkillərlə)
CribSense: Kontaktsiz, Videoya əsaslanan Körpə Monitoru: CribSense, banka zərər vermədən özünüzü edə biləcəyiniz, video əsaslı, təmassız bir körpə monitorudur. Həftə sonu öz beşiyinizi qura bilərsiniz
Təmir: Apple MacBook MagSafe Şarj Aləti Güc Kabeli: 5 Adım (Şəkillərlə birlikdə)
Təmir: Apple MacBook MagSafe Şarj Aləti Güc Kabeli: Apple həqiqətən bu şarj cihazının dizaynına topu atdı. Dizaynda istifadə olunan hiyləgər tel, hər hansı bir əsl gərginliyi, qıvrımı və yanksı götürmək üçün sadəcə zəifdir. Nəhayət, rezin qabıq MagSafe bağlayıcısından və ya Power-kərpicdən ayrılır və