İçindekiler:
- Gereçler
- Adım 1: Bazı Akıllı Fişler Satın Alın
- 2. Adım: Cihazı Yanıp Sönme
- Adım 3: Firmware'e İlk Kez Bağlanma
- Adım 4: Fişi Yapılandırma
- Adım 5: Gerilimi Kalibre Et
- Adım 6: Yazılımı PI'ye Yükleme
- 7. Adım: Grafana'yı Yükleme
- Adım 8: InfluxDB'yi Kurma
- 9. Adım: Telegraf'ı Kurma
- Adım 10: Mosquitto'yu yükleyin
- Adım 11: Akıllı Fişten Sivrisinek'e Veri Gönderme
- 12. Adım: Verileri Sivrisinek'ten Akına Aktarmak için Telegraf'ı Kullanın
- Adım 13: Son olarak, Grafana'da Grafikler Oluşturun
- Adım 14: Birkaç İpucu
Video: Ev Aletleri Raspberry PI Tabanlı Güç Monitörü: 14 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu, evdeki bireysel cihazların güç kullanımını izlemek ve zaman içindeki güç kullanımlarının grafiklerini görüntülemek için yaptığım küçük bir projeydi. Aslında yaptığım daha kolay Raspberry PI tabanlı projelerden biri, lehimleme veya açık ürünlere gerek yok. Raspberry PI projesi olmak zorunda değil, bir Linux kutusunda veya belki Windows'ta kolayca yapılabilir.
4'lü güç monitörü/akıllı fiş seti ve bir Raspberry PI'nin maliyeti 50 AUD'dir. Bu, biraz yavaş olduğunu bulmama rağmen, bir Pi Zero veya Orijinal PI üzerinde çalışabilir. Sahip olduğum diğer tek PI bir PI 3 ve bunu çok çabuk buldum, bu yüzden tavsiye edeceğim şey bu. Daha eski bir PI üzerinde çalıştırmak istiyorsanız, veri toplama sıklığını azaltabileceğinizi unutmayın (10 saniye kullanıyordum).
Bu proje aynı zamanda ek bir avantaja sahiptir veya akıllı fişi üreticilerin belleniminden kurtarır, böylece onların özel uygulamalarını ve bulut hizmetlerini kullanmak zorunda kalmazsınız. Böylece Home Assist ile veya sadece kendi python betiklerinizle kullanılabilirler.
Lütfen işletim sistemini PI'ye nasıl kuracağınızı, ona bağlanacağınızı ve bazı temel linux komutlarını çalıştıracağınızı bildiğinizi varsaydığımı unutmayın. Ayrıca, WiFi'nize bağlandığında akıllı fişinizin IP adresini nasıl bulacağınızı bildiğinizi varsayıyorum.
Gereçler
Buradan 2 paket veya 4 paket akıllı fiş:
www.kogan.com/au/buy/kogan-smarterhome-sma…
1 Ahududu PI
Yetenekler:
Ahududu PI kurma yeteneği
Temel linux komut satırı
vi veya nano gibi metin düzenleyici (nano daha kullanıcı dostudur, bir kez öğrendikten sonra vi daha hızlıdır)
Ağınızdaki cihazların IP'sini bulma yeteneği.
Adım 1: Bazı Akıllı Fişler Satın Alın
Kullandığım akıllı fiş buradan:
www.kogan.com/au/buy/kogan-smarterhome-sma…
Uyumlu, çoğu (tümü?) ESP8266 (WEMOS) tabanlı cihazlar olan ve yanıp sönmesi çok kolay olan çok çeşitli akıllı fişler olduğunu unutmayın. Birçoğunun yapmadığı gibi güç izleme özelliğine sahip bir şey aldığınızdan emin olun. Bu sayfa, uyumlu cihazların geniş bir listesini gösterir:
templates.blakadder.com/plug.html
2. Adım: Cihazı Yanıp Sönme
Bu kısım şaşırtıcı derecede kolaydı. Temel olarak yazılımı indirir, çalıştırırsınız ve size adım adım ilerler.
Bunun için WiFi'li bir Raspberry PI veya Linux kutusuna ihtiyacınız olacak. Bu cihazla birincil bağlantınızın WiFi DEĞİL olması gerekir. PI3'üm için Ethernet üzerinden bağlı olduğum için bu kolaydı. Bir PI Zero'nuz varsa, klavye ve monitör ile eski moda bir şekilde bağlanmanız gerekir.
Bir PI'yi nasıl kuracağınızı ve ona SSH veya klavye ile nasıl bağlanacağınızı bildiğinizi varsayıyorum, bu yüzden bundan geçmeyeceğim. Web'de çok sayıda öğretici olduğundan emin değilseniz.
Başlamadan önce, cihazlarda biraz arka plan. Çin'de farklı müşteriler için akıllı fişler üreten Tuya adında bir şirket var. Farklı müşteriler için özelleştirme yaparlar ve varsayılan bir ürün yazılımı sağlarlar ve şirketlerin kendi değişikliklerini yapmalarına olanak tanır. Bununla ilgili sorun, farklı satıcılardan bir sürü ürününüz varsa, bazıları diğerlerinden daha iyi çalışan bir sürü uygulama çalıştırmak zorunda kalırsınız. Açık kaynaklı bir bellenimi yanıp sönerek, kendinizi tüm bunlardan kurtarırsınız. Yani bu genel ev otomasyonu için iyidir.
Yani …. daha fazla uzatmadan, işte talimatlar:
1) Bu komutları PI üzerinde çalıştırın, bu gerekli yazılımı yükleyecektir.
# git klon https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh
2) Akıllı fişi prize takın
3) Düğmeyle açın
4) Mavi ışık yanıp sönmeye başlayana kadar güç düğmesini basılı tutun
5) 10 saniye bekleyin. Bu şart değil ama yaparsan daha iyi çalıştığını gördüm.
6) Bu komutu çalıştırın
./start_flash.sh
Buradan, sonunda "2. Tasmota"yı seçmeniz dışında, komutları takip edin. Farklı bir bellenim seçeneği var ama bunu denemedim, bu yüzden nasıl olduğundan emin değilim.
Bunu bir kereden fazla yapmak zorunda kaldığımı unutmayın, ilk başta cihazı tuğlaladığımı düşündüm, ışığım yoktu, röle tıklaması yok, yaşam belirtisi yoktu. Ama kapattım ve son komutu tekrar çalıştırdım ve işe yaradı. Bunu, flaş yaptığım 4 cihazdan 3'ü ile yapmak zorunda kaldım, sadece bir tanesi dümdüz geçti, sanırım 5. adımdan dolayı.
Tam talimatlar burada:
github.com/ct-Open-Source/tuya-convert
Adım 3: Firmware'e İlk Kez Bağlanma
Cihaza tasmota yükledikten sonra fazla yaşam belirtisi göstermeyecek. Bunun nedeni, yapılandırılması gerektiğidir. Bunu yapmak oldukça kolay, telefonumla yapmayı en iyi buldum. Adımlar:
1) WiFi erişim noktalarını arayın
2) tasmota_xxxx etiketli olana bağlanın (burada x sayılardır)
3) Telefon, 192.168.4.1'e gitmediyse sizi varsayılan sayfaya yönlendirmelidir.
Bazı telefonlarda "internet erişimi yok, bağlı kalmak istiyor musunuz" diye bir mesaj verebileceğini unutmayın, evet'i seçin.
4) Açılan sayfada WiFi ağınızın adını ve ilk 2 kutucuğa şifreyi girin. Şifreyi gösterme seçeneğine tıklayın ve doğru şifreyi girdiğinizi üç kez kontrol edin. Yanlış şifreyi girdiyseniz, bu yapılandırma ekranına geri dönmenin zor olabileceğini düşünüyorum. Yine de şifreyi girmeniz gerekmesine rağmen, WiFi ağlarını da tarayabileceğinizi unutmayın.
5) Fiş şimdi WiFi ağınıza bağlı olmalıdır. Yönlendiricinizin yapılandırma sayfasına gitmeniz ve cihazınızın IP'sini bulmanız gerekecektir.
6) Bilgisayarınızda bir web tarayıcısı açın ve https://[device_ip] adresine gidin Tasmota'dan yapılandırma ekranını görmelisiniz.
Tebrikler, fişi başarıyla açtınız.
Adım 4: Fişi Yapılandırma
Görünüşe göre bu cihazları yapan şirket, birçok farklı konfigürasyona sahip 10.000 cihaz yapıyor. Az önce yeni bir bellenimi flaşladık ve bellenim hangi cihazlara yüklendiğini bilmiyor. Yani herhangi bir şey işe yaramadan önce onu yapılandırmamız gerekecek. Bunu yapmak için, cihazımızın ayrıntılarını web'de bulmamız ve o belirli yapılandırmayı yüklememiz gerekiyor.
Bunun için cihazınızı bu sayfada bulun:
templates.blakadder.com/plug.html
Kullandığım cihaz için yapılandırma burada:
templates.blakadder.com/kogan-KASPEMHUSBA….
Yapılandırmayı ayarlamak için Şablon altındaki metni kopyalamamız yeterlidir. Bu durumda:
Sonra
1) Cihaz yapılandırma sayfanıza gidin https://[IP of smart plug]
2) Yapılandır'a tıklayın, diğerini yapılandırın
3) Şablon dizenize yapıştırın
4) "MQTT'yi Etkinleştir" seçeneğini işaretleyin
5) Etkinleştir ve Kaydet'e tıklayın.
Bunun işe yaradığını test etmek için, ana sayfaya geri dönmek için "Ana menü"ye tıklayın ve şimdi güç kullanım rakamlarını görmelisiniz. Hepsi sıfır olacak, voltaj bile ama bu iyi bir işaret. Geçiş düğmesine tıklayın ve rölenin klik sesini duymalı ve voltajın yükseldiğini görmelisiniz.
Adım 5: Gerilimi Kalibre Et
Voltaj okumasının oldukça yüksek olduğunu gördüm. Evde başka bir voltaj okuma kaynağınız varsa (örneğin akıllı sayaç belki??), o zaman fişi çok kolay kalibre edebilirsiniz. Bunu yapmak için
1) Doğru voltaj okumasını alın
2) Akıllı fişteki röleyi açın
3) Cihazın ana sayfasında Konsol'a tıklayın
4) "VoltageSet 228" komutunu girin ve enter'a basın (228'i kendi voltajınızla değiştirin)
Voltaj şimdi doğru şekilde gösterilmelidir.
Adım 6: Yazılımı PI'ye Yükleme
PI'ye yüklenmesi gereken birkaç paket var. Bunların kurulumu kolaydır ve çeşitli paketlerdeki talimatlar izlenerek yapılabilir. Talimatları burada vereceğim, ancak zamanla değişebileceklerini ve bu nedenle talimatlarımın geçerli olacağını unutmayın. Paketler:
Grafana (grafikleri görüntülemek için)
Influxdb (verilerimizi depolayacak zaman serisi veritabanı)
Telegraf (verileri Influxdb'ye göndermek için kullanılır)
Sivrisinek (verileri iletmek için kullanılan mesaj yolu, akıllı fiş verileri buraya iter)
Veri akışı zinciri şu şekildedir:
Akıllı Fiş -> Sivrisinek -> Telegraf -> InfluxDB -> Grafana
Mosquitto ve Telegraf'ı neden atlayamadığımızı soruyorsanız, bu iyi bir soru. Teorik olarak Akıllı Fiş, Akışa zorlayabilir. Bununla ilgili sorun, 100'lerce farklı uç nokta için yapılandırılabilir olması gerektiği ve bizi bazı seçeneklerden mahrum bırakacağıdır. Ev otomasyonundaki çoğu şey, mesajları iletmek için Sivrisinek kullanır. Örnek olarak, Mosquitto'ya mesaj göndererek fişi açıp kapatabiliriz ve akıllı fiş bunları alır ve yanıt verir.
7. Adım: Grafana'yı Yükleme
İtibaren:
grafana.com/grafana/download?platform=arm
Veya burada birçok başka seçenek:
grafana.com/grafana/download
Pi 1 ve Pi Zero (ARMv6) için
sudo apt-get install -y adduser libfontconfig1#topwget adresindeki sayfadan en son sürümü bulun https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo /bin/systemctl arka plan programı-reloadsudo /bin/systemctl grafana-server'ı etkinleştir sudo /bin/systemctl grafana-server'ı başlat
Daha yeni PI'ler için (ARMv7)
sudo apt-get install -y adduser libfontconfig1#topwget adresindeki sayfadan en son sürümü bulun https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo / bin/systemctl arka plan programı-reloadsudo /bin/systemctl grafana-serversudo'yu etkinleştir /bin/systemctl grafana-server'ı başlat
Test etmek için:
[IP of PI]:3000'e gidin
kullanıcı adı/şifre admin/admin, değiştirmenizi isteyecek, şimdilik atlayabilirsiniz
Bir GUI alırsanız, her şey yolundaysa, bir sonraki adıma geçin
Adım 8: InfluxDB'yi Kurma
PI'de şu komutları çalıştırın:
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 kararlı" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie kararlı" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian streç kararlı" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster kararlı" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get updatesudo apt-get install influxdbsudo systemctl influxdbsudo systemctl başlatma influxdb
"Influx" yazarak test edin. Bu sizi influxdb komut satırına sokmalıdır. "Veritabanlarını göster" yazın, henüz veritabanları olmayacak, ancak hatasız boş bir liste alırsanız, o zaman her şey yolunda.
9. Adım: Telegraf'ı Kurma
Bu gerçekten kolay, çünkü yazabileceğimiz influxdb depolarını ekledik:
sudo apt-get install telegrafsudo systemctl telegrafsudo systemctl telegrafı başlat
Bu noktada Telegraf zaten sistem ölçümlerini influxdb'ye kaydediyor olacak. Bunları şu komutları yazarak görebilirsiniz:
influxshow veritabanlarıtelegrafshow serisini kullanınSELECT * FROM cpu LIMIT 10;
Adım 10: Mosquitto'yu yükleyin
Raspian ile paketlenmiş varsayılan sürümü yüklediğimiz için bu kısım kolaydır:
sudo apt-get -y mosquittosudo'yu kurun apt-get -y mosquitto-clients'i kurunsudo systemctl mosquittosudo'yu etkinleştir systemctl mosquitto'yu başlat# mosquittosudo için bir parola oluşturun mosquitto_passwd -c /etc/mosquitto/tasmota tasmota#bir parola girin. Akıllı fişe vermemiz gerekeceğinden bu şifreyi bir yere yazın
Test etmek için:
bunu bir SSH oturumunda çalıştırın:
mosquitto_sub -t testi
Bunu başka bir yerde çalıştır
mosquitto_pub -t testi -m mesajım
İlk SSH oturumunda mesajınızı görmelisiniz
Adım 11: Akıllı Fişten Sivrisinek'e Veri Gönderme
Artık mosquitto çalışıyor, akıllı fişi mosquitto'ya veri gönderecek şekilde yapılandırmamız gerekiyor. Bunu yapmak oldukça kolaydır. Sivrisinek için bir önceki adımdan girilen şifreye ihtiyacımız olacak.
1) Akıllı fişler web sayfanıza giriş yapın
2) Yapılandırma'yı ve ardından Günlüğü Yapılandır'ı tıklayın
3) Telemetri süresini 10'a ayarlayın ve kaydet'e tıklayın.
4) MQTT'yi Yapılandır'a tıklayın
5) Ana bilgisayar için PI'nizin IP adresini girin
6) Kullanıcı adı için tasmota girin
7) Şifre için önceki adımdaki şifreyi girin
8) Konu için tasmota1 girin
9) Kaydet'e tıklayın
Test etmek için:
PI'de aşağıdaki komutu yazın. 10 saniye içinde gelen verileri görmelisiniz.
mosquitto_sub -t tele/tasmota1/SENSOR
Veriler şöyle görünmelidir:
12. Adım: Verileri Sivrisinek'ten Akına Aktarmak için Telegraf'ı Kullanın
Şimdi Telegraf'ı mosquitto'dan gelen verileri okuyacak ve influxdb'ye gönderecek şekilde yapılandıracağız. PI'de:
1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak
2) sudo vi /etc/telegraf/telegraf.conf
Not vi yeni kullanıcılar için çok kolay değildir, menü tabanlı bir metin düzenleyiciyi tercih ediyorsanız bunun yerine nano kullanın:
sudo nano /etc/telegraf/telegraf.conf
3) Ekli dosyadan yapılandırmaya yapıştırın
4) sudo systemctl telgrafı yeniden başlat
Test etmek için bunu PI'ye yazın:
akın
veritabanlarını göster
test veritabanını görmelisiniz. İsim testini beğenmediyseniz telegraf.conf dosyasındaki dest_db'yi değiştirebilirsiniz.
Adım 13: Son olarak, Grafana'da Grafikler Oluşturun
Sonunda bazı verileri görebiliyoruz:-):-)
Öncelikle veritabanına bir bağlantı oluşturmamız gerekiyor. grafana web sayfasına gidin http:[ip of PI]:3000
1) admin/admin ile giriş yapın
2) Sol sütunda dişli simgesini ve veri kaynaklarını tıklayın
3) Veri kaynağı ekle'yi tıklayın
4) Influxdb'ye tıklayın
5) URL için https://localhost:8086 girin
6) Veritabanı için teste girin
7) HTTP için GET girin
8) Minimum zaman aralığı için 10s girin
9) Kaydet ve Test Et'e tıklayın, "Veri kaynağı çalışıyor" yazmalıdır.
Tamam, şimdi veritabanına bir bağlantımız var, bir grafik oluşturabiliriz… sonunda.
1) Sol sütunda +'yı ve ardından Gösterge Tablosunu ve Yeni Panel Ekle'yi tıklayın.
2) Veritabanı için InfluxDB'ye tıklayın
3) Ölçüme tıklayın ve Kogan'ı seçin
4) Alan için Energy_Power'ı seçin.
5) Takma ad olarak serinize bir ad verin (örn. Bulaşık Makinesi)
6) Panel Başlığı için sağ tarafta ona bir isim verin, örneğin Güç.
7) İşte bu, verileri görmelisiniz. Düzenlemeden çıkmak için sol ok düğmesini tıklayın ve ardından kaydet'i tıklayın, panonuza bir ad verin.
Buraya kadar geldiysen, çok iyi iş, cidden.
Adım 14: Birkaç İpucu
Sağladığım varsayılan Telegraf yapılandırması biraz bakım gerektiriyordu, çünkü her cihaz için yeni bir bölümün eklenmesi ve Telegraf'ın yeniden başlatılması gerekiyor. Aşağıdaki değişikliklerle, Telegraf'ı değiştirmeye gerek kalmadan Tasmota yapılandırmasında cihazların eklenebilmesi veya yeniden adlandırılabilmesi, işleri çok daha dinamik hale getiriyor.
İlk değişiklik, konu adına + koymaktır, bu temelde bir joker karakterdir. Bu, Grafana'da grafikler yaptığınızda cihazların "tele/WashingMachine/SENSOR" gibi şeyler olarak adlandırılması dışında tek başına yeterli olacaktır. Aşağıdaki Telegraf yapılandırmasının ikinci kısmı normal ifade işlemcisidir. "WashingMachine" metnini merkezden çıkarır ve InfluxDB'ye aktarılan yeni bir etikete dönüştürür.
Not: Tasmota yapılandırmasında her aygıt için farklı bir konu adı ayarladığınızdan emin olun
[inputs.mqtt_consumer.tags] dest_db = "test"
Bu yapıldıktan sonra Grafana'yı tek bir grafikte birden fazla cihazı gösterecek şekilde yapılandırmak çok kolaydır. Bu adıma ekli resim ne yapılması gerektiğini gösterir. Gruptaki + işaretini satır satır tıklamanız ve etiket(cihaz) öğesini seçmeniz yeterlidir. Alias By'de en altta $tag_device girin. Artık bir grafikte birden fazla seri görmelisiniz. Açmak ve kapatmak için her bir öğenin metnine tıklayabilirsiniz (ctrl tıklama, katları seçmek için çalışır)
Önerilen:
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
DHT11 ile ESP32 Tabanlı M5Stack M5stick C Hava Durumu Monitörü - DHT11 ile M5stick-C'de Sıcaklık Nem ve Isı İndeksini İzleme: 6 Adım
DHT11 ile ESP32 Tabanlı M5Stack M5stick C Hava Durumu Monitörü | DHT11 ile M5stick-C'de Sıcaklık Nem ve Isı İndeksini İzleme: Merhaba arkadaşlar, bu talimatta DHT11 sıcaklık sensörünün m5stick-C (m5stack tarafından geliştirilen bir geliştirme kartı) ile nasıl arayüzleneceğini ve m5stick-C ekranında nasıl görüntüleneceğini öğreneceğiz. Bu eğitimde sıcaklık, nem ve sıcaklık değerlerini okuyacağız; ısı ben
SilverLight: Sunucu Odaları için Arduino Tabanlı Çevre Monitörü: 3 Adım (Resimlerle)
SilverLight: Sunucu Odaları için Arduino Tabanlı Çevre Monitörü: Bir keresinde şirketimin sunucu odasındaki sıcaklığı izlemek için bir çevre probu arama görevi verildi. İlk fikrim şuydu: neden sadece bir Raspberry PI ve bir DHT sensörü kullanmıyorsunuz, işletim sistemi dahil bir saatten daha kısa sürede kurulabilir
CribSense: Temassız, Video Tabanlı Bebek Monitörü: 9 Adım (Resimlerle)
CribSense: Temassız, Video Tabanlı Bebek Monitörü: CribSense, bankayı bozmadan kendiniz yapabileceğiniz, video tabanlı, temassız bir bebek monitörüdür. CribSense, Raspberry Pi 3 Model B'de çalışacak şekilde ayarlanmış bir Video Büyütme C++ uygulamasıdır. Bir hafta sonu boyunca kendi beşiğinizi kurabilirsiniz
Arduino Tabanlı Diş Fırçası Veri Monitörü: 4 Adım (Resimlerle)
Arduino Tabanlı Diş Fırçası Veri Monitörü: Bu Arduino tabanlı diş fırçası, 3 eksenli hızlanma verilerini kullanarak kalıpları izlemenizi sağlar