Mündəricat:

Ev Aləti Raspberry PI Əsaslı Güc Monitoru: 14 Addım
Ev Aləti Raspberry PI Əsaslı Güc Monitoru: 14 Addım

Video: Ev Aləti Raspberry PI Əsaslı Güc Monitoru: 14 Addım

Video: Ev Aləti Raspberry PI Əsaslı Güc Monitoru: 14 Addım
Video: CS50 2015 - Week 5 2024, Dekabr
Anonim
Ev Aləti Raspberry PI Güc Monitoru
Ev Aləti Raspberry PI Güc Monitoru
Ev Aləti Raspberry PI Güc Monitoru
Ev Aləti Raspberry PI Güc Monitoru

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

Bəzi Ağıllı Fişlər Alın
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

İlk dəfə Firmware -yə qoşulmaq
İlk dəfə Firmware -yə qoşulmaq
İlk dəfə Firmware -yə qoşulmaq
İlk dəfə Firmware -yə qoşulmaq
İlk dəfə Firmware -yə qoşulmaq
İlk dəfə Firmware -yə qoşulmaq

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

Fiş konfiqurasiyası
Fiş konfiqurasiyası

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ərginliyi kalibr edin
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ı

Grafana quraşdırılır
Grafana quraşdırılır

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ə

Ağıllı Fişdən Ağcaqanadlara Məlumat Göndərilməsi
Ağıllı Fişdən Ağcaqanadlara Məlumat Göndərilməsi

İ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, Grafanada qrafiklər yaradın
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

Daha Bir neçə Məsləhət
Daha Bir neçə Məsləhət
Daha Bir neçə Məsləhət
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ə: