Mündəricat:

Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -ə yükləyin: 5 addım
Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -ə yükləyin: 5 addım

Video: Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -ə yükləyin: 5 addım

Video: Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -ə yükləyin: 5 addım
Video: Sayğaca elə bir müdaxilə etdi ki... - işıqdan pulsuz yararlanırdı, üstü açıldı 2024, Iyul
Anonim
Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -a yükləyin
Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -a yükləyin
Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -a yükləyin
Elektrik və qaz sayğacını (Belçika/Hollandiya) oxuyun və Thingspeak -a yükləyin

Enerji istehlakınızdan və ya bir az ağılsızlığınızdan narahatsınızsa, ehtimal ki, ağıllı telefonunuzda yeni rəqəmsal sayğacınızdakı məlumatları görmək istərdiniz.

Bu layihədə Belçikalı və ya Hollandiyalı rəqəmsal elektrik və qaz sayğacından cari məlumatları əldə edib Thingspeak -a yükləyəcəyik. Bu məlumatlara cari və gündəlik enerji istehlakı və enjeksiyonu (günəş panelləri varsa), gərginliklər və cərəyanlar və qaz istehlakı (rəqəmsal qaz sayğacı elektrik sayğacına qoşulubsa) daxildir. Bir tətbiq vasitəsi ilə bu dəyərlər smartfonunuzda real vaxtda oxuna bilər.

Bütün son sayğaclar olmalı olan DSMR (Hollandiya Smart Meter Tələbləri) protokoluna uyğun gələn Belçika və ya Hollandiya rəqəmsal sayğacı üçün işləyir. Başqa bir yerdə yaşayırsınızsa, təəssüf ki, sayğacınız başqa bir protokoldan istifadə edəcək. Buna görə qorxuram ki, bu Təlimat bir az regional olaraq məhdudlaşdırılıb.

Sayğacın P1 portundan istifadə edəcəyik ki, bu da RJ11/RJ12 kabelini qəbul edir. Sayğacın quraşdırıcısının P1 portunu aktivləşdirdiyinə əmin olun. Məsələn, Belçikadakı Fluvius üçün bu təlimatları izləyin.

Məlumatları emal etmək və internetə yükləmək üçün daxili wifi ilə ucuz bir mikroçip olan ESP8266 istifadə edirik. Yalnız 2 dollara başa gəlir. Bundan əlavə, Arduino IDE istifadə edərək proqramlaşdırıla bilər. Veriləri ən çox dörd kanal üçün pulsuz olan Thingspeak -də buludda saxlayırıq. Bu layihə üçün yalnız bir kanaldan istifadə edirik. Məlumat daha sonra IoT ThingSpeak kimi bir tətbiqdən istifadə edərək smartfonunuzda göstərilə bilər.

Parçalar:

  • Bir ESP8266, nodemcu v2 kimi. Qeyd edək ki, nodemcu v3 standart çörək taxtası üçün çox genişdir, buna görə də v2 -yə üstünlük verirəm.
  • Mikro USB -dən USB kabelinə.
  • USB şarj cihazı.
  • Bir BC547b NPN tranzistoru.
  • İki 10k rezistor və bir 1k rezistor.
  • Bir RJ12 vintli terminal konnektoru.
  • Çörək taxtası.
  • Jumper telləri.
  • İsteğe bağlı: bir 1nF kondansatör.

Ümumilikdə, AliExpress və ya bənzərlərində 15 EUR kimi bir şeyə başa gəlir. Qiymətləndirmə, rezistorlar, tranzistorlar və tellər kimi bəzi komponentlərin bu layihə üçün lazım olandan daha çox miqdarda olduğunu nəzərə alır. Beləliklə, artıq bir komponent dəsti varsa, daha ucuz olacaq.

Addım 1: ESP8266 ilə tanış olun

NodeMCU v2 -ni seçdim, çünki lehimləmə tələb olunmur və asan proqramlaşdırmağa imkan verən mikro USB bağlantısı var. NodeMCU v2 -nin NodeMCU v3 -dən üstünlüyü, çörək taxtasına oturacaq qədər kiçik olması və əlaqə qurmaq üçün yan tərəfdə boş deliklər buraxmasıdır. Buna görə NodeMCU v3 -dən çəkinmək daha yaxşıdır. Ancaq başqa bir ESP8266 lövhəsinə üstünlük verirsinizsə, bu da yaxşıdır.

ESP8266, Arduino IDE istifadə edərək asanlıqla proqramlaşdırıla bilər. Bunu ətraflı izah edən digər təlimatlar var, buna görə burada çox qısa olacağam.

  • Əvvəlcə Arduino IDE -ni yükləyin.
  • ESP8266 lövhəsi üçün ikinci quraşdırma dəstəyi. Fayl - Tercihlər - Ayarlar menyusunda Əlavə İdarəçi URL -lərinə https://arduino.esp8266.com/stable/package_esp8266com_index.json URL əlavə edin. Menyuda Alətlər - İdarə Heyəti - İdarəetmə Paneli meneceri esp8266 icması tərəfindən esp8266 quraşdırılır.
  • Üçüncüsü, ESP8266 -ya ən yaxın olan lövhəni seçin. Mənim vəziyyətimdə NodeMCU v1.0 (ESP 12-E Module) seçdim.
  • Nəhayət, 4M (1M SPIFFS) kimi SPIFFS ehtiva edən bir ölçü olan Alətlər - Flash Ölçüsü altında seçin. Bu layihədə gündəlik enerji dəyərlərini saxlamaq üçün SPIFFS -dən (SPI Flash Fayl Sistemi) istifadə edirik ki, ESP8266 gücünü itirsə və hətta yenidən proqramlaşdırılsa belə itirilməsin.

İndi ESP8266 proqramlaşdırmaq üçün hər şeyimiz var! Əsl kodu daha sonra bir addımda müzakirə edəcəyik. Əvvəlcə Thingspeak hesabı açacağıq.

Addım 2: Thingspeak Hesabı və Kanalı yaradın

Https://thingspeak.com/ saytına daxil olun və hesab yaradın. Daxil olduqdan sonra kanal yaratmaq üçün Yeni Kanal düyməsini basın. Kanal Ayarlarında ad və təsviri istədiyiniz kimi doldurun. Sonra kanal sahələrini adlandırırıq və sağdakı onay qutularını tıklayaraq aktivləşdiririk. Kodumu dəyişdirmədən istifadə etsəniz, sahələr aşağıdakı kimidir:

  • Sahə 1: bu gün ən yüksək istehlak (kWh)
  • Sahə 2: bu gün ən yüksək istehlak (kWh)
  • Sahə 3: bu gün pik enjeksiyon (kWh)
  • Sahə 4: bu gün ən yüksək enjeksiyon (kWh)
  • Sahə 5: cari istehlak (W)
  • Sahə 6: cari enjeksiyon (W)
  • Sahə 7: bu gün qaz istehlakı (m3)

Burada pik və off-pik elektrik tarifinə aiddir. 1 və 2 sahələrində istehlak bu gün xalis elektrik istehlakına aiddir: bu gün gecə yarısından etibarən tarif dövründə elektrik enerjisi istehlakı (günəş panelləri tərəfindən istehsal edilən) bu gün gecə yarısından etibarən minimum sıfır olan tarif dövründə. İkincisi, istehlakdan daha çox enjeksiyon olsaydı, bu gün dəyər sıfırdır. Eyni şəkildə, 3 və 4 -cü sahələrdə enjeksiyon, xalis elektrik enjeksiyonuna aiddir. Sahə 5 və 6 cari anda xalis istehlakı və enjeksiyonu göstərir. Nəhayət, 7 -ci sahə gecə yarısından etibarən qaz istehlakıdır.

Gələcək arayış üçün API ID düymələri menyusunda tapa biləcəyiniz Kanal ID, Read API Açarı və API Açarını yazın.

Addım 3: Elektron Dövrün Qurulması

Elektron dövrənin qurulması
Elektron dövrənin qurulması
Elektron dövrənin qurulması
Elektron dövrənin qurulması

Elektrik sayğacını RJ11 və ya RJ12 kabelini götürən P1 portundan istifadə edərək oxuyuruq. Fərq ondadır ki, RJ12 kabelinin 6 teli var, RJ11 -də isə cəmi 4 -ü var. Bu layihədə biz ESP8266 -nı P1 portundan gücləndirmirik, buna görə də əslində yalnız 4 telə ehtiyacımız var, buna görə də bir RJ11 edər.

Şəkildə göstərilən RJ12 qırılmasından istifadə etdim. Biraz genişdir və sayğacımda P1 portunun ətrafında çox yer yoxdur. Uyğundur, amma sıxdır. Alternativ olaraq, bir RJ11 və ya RJ12 kabelindən istifadə edərək başlığı bir ucundan ayıra bilərsiniz.

Çıxışı şəkildəki kimi saxlasanız, sancaqlar sağdan sola nömrələnir və aşağıdakı mənaya malikdir:

  • Pin 1: 5V enerji təchizatı
  • Pin 2: Məlumat İstəyi
  • Pin 3: Məlumat Zəmini
  • Pin 4: bağlı deyil
  • Pin 5: Məlumat xətti
  • Pin 6: Güc zəmini

Pin 1 və Pin 6 ESP8266 -nı gücləndirmək üçün istifadə edilə bilər, amma bunu sınamamışam. Pin 1 -i ESP8266 -nın Vin -ə bağlamalı olacaqsınız, buna görə lövhənin daxili gərginlik tənzimləyicisi ESP8266 -nın qəbul etdiyi 5V -dan 3.3V -ə qədər olan gərginliyi azaltmaq üçün istifadə olunur. Buna görə onu 3.3V pininə bağlamayın, çünki bu ESP8266 -ya zərər verə bilər. Həmçinin P1 portundan enerji alması zaman keçdikcə rəqəmsal sayğacın batareyasını boşaldır.

Ayarlama pin 2, hər saniyə məlumat teleqramları göndərmək üçün sayğacın yüksək siqnalını verir. Faktiki məlumatlar, müasir rəqəmsal sayğac (DSMR 4 və 5) üçün 115200 baud dərəcəsi ilə Pin 5 üzərindən göndərilir. Siqnal tərsinə çevrilir (aşağı 1, yüksək isə 0). Daha köhnə bir növ (DSMR 3 və daha aşağı) üçün nisbət 9600 bauddur. Belə bir sayğac üçün növbəti addımın firmware kodundakı baud sürətini dəyişdirməlisiniz: Serial.begin (115200) xəttini dəyişdirin; quraşdırmada ().

NPN tranzistorunun rolu ikiqatdır:

  • ESP8266 -ı başa düşə bilməsi üçün siqnalın tərsinə çevrilməsi.
  • Məntiq səviyyəsini P1 portunun 5V-dən ESP8266-nın RX portunun gözlədiyi 3.3V-ə dəyişdirmək.

Beləliklə, diaqramda olduğu kimi çörək taxtasında elektron dövrə yaradın. Kondansatör sabitliyi artırır, amma onsuz da işləyir.

Növbəti addımda ESP8266 proqramlaşdırılana qədər RX pinini bağlamağı dayandırın. Həqiqətən də, ESP8266 ilə kompüteriniz arasında USB vasitəsilə ünsiyyət qurmaq üçün RX pininə də ehtiyac var.

Addım 4: Kodu yükləyin

Kodu GitHub-da təqdim etdim, bu yalnız bir faylıdır: P1-Meter-Reader.ino. Sadəcə yükləyin və Arduino IDE -də açın. Və ya Fayl - Yeni seçə və kodu kopyalayıb yapışdıra bilərsiniz.

Faylın əvvəlində doldurmalı olduğunuz bəzi məlumatlar var: istifadə ediləcək WLAN -ın adı və şifrəsi və ThingSpeak Kanalının Kanal ID və Yazı API Açarı.

Kod aşağıdakıları edir:

  • Hər UPDATE_INTERVAL (milisaniyələrdə) sayğacdan məlumat teleqramını oxuyur. Varsayılan dəyər hər 10 saniyədədir. Normalda sayğacdan hər saniyədə bir məlumat teleqramı gəlir, lakin tezliyi yüksək olaraq təyin etmək ESP8266 -nı həddindən artıq yükləyəcək, buna görə artıq veb serverini işlədə bilməz.
  • Elektrik məlumatlarını hər SEND_INTERVAL Thingspeak kanalına yükləyir (milisaniyələrdə). Varsayılan dəyər hər dəqiqədir. Bu tezlik haqqında qərar vermək üçün məlumatların göndərilməsinin bir az vaxt tələb etdiyini (adətən bir neçə saniyə) və pulsuz hesab üçün Thingspeak -də yeniləmə tezliyinin bir məhdudiyyətinin olduğunu nəzərə alın. Gündə təxminən 8200 mesaj var, buna görə Thingspeak -i başqa bir şey üçün istifadə etməsəniz maksimum tezlik hər 10 saniyədə bir olardı.
  • Dəyişdikdə qaz məlumatlarını yükləyir. Tipik olaraq, sayğac qaz istehlakı məlumatlarını yalnız hər 4 dəqiqədə bir yeniləyir.
  • Sayğac, başlanğıcdan bəri ümumi istehlak və enjeksiyon dəyərlərini izləyir. Gündəlik istehlakı və enjeksiyonu əldə etmək üçün kod hər gün gecə yarısında ümumi dəyərləri saxlayır. Sonra bu dəyərlər cari ümumi dəyərlərdən çıxılır. Gecə yarısı dəyərlər, ESP8266 gücünü itirdikdə və ya yenidən proqramlaşdırıldıqda belə davam edən SPIFFS -də (SPI Flash Fayl Sistemi) saxlanılır.
  • ESP8266 mini veb serveri ilə işləyir. Brauzerinizdə IP ünvanını açarsanız, bütün mövcud elektrik və qaz dəyərlərinə ümumi bir baxış əldə edəcəksiniz. Bunlar ən son teleqramdan və Thingspeak -ə yüklənməyən məlumatları ehtiva edir, məsələn, fazalardakı gərginliklər və cərəyanlar. Varsayılan parametr, IP ünvanının yönlendiriciniz tərəfindən dinamik olaraq təyin edilməsidir. Ancaq həmişə eyni olan statik bir IP ünvanından istifadə etmək daha rahatdır. Bu halda kodda staticIP, ağ geçidi, dns və alt şəbəkəni doldurmalı və WiFi.config (staticIP, dns, ağ geçidi, alt şəbəkə) xəttini şərh etməməlisiniz; connectWifi () funksiyasında.

Bu dəyişiklikləri etdikdən sonra, firmware proqramını ESP8266 -ya yükləməyə hazırsınız. USB kabel vasitəsilə ESP8266 -nı kompüterinizə qoşun və Arduino IDE -də oxu olan işarəyə basın. ESP8266 ilə əlaqə qura bilmirsinizsə, Alətlər - Port menyusundakı COM portunu dəyişdirməyə çalışın. Hələ də işləmirsə, USB virtual COM portu üçün sürücünü əl ilə quraşdırmalısınız.

Addım 5: Test

Firmware yüklədikdən sonra USB -ni ayırın və ESP8266 -nın RX telini qoşun. Unutmayın ki, firmware yükləmək üçün ESP8266 -nın RX kanalına ehtiyacımız var idi, buna görə əvvəl bağlamadıq. İndi rəqəmsal sayğaca RJ12 ayırıcısını qoşun və ESP8266 -nı kompüterinizə yenidən qoşun.

Arduino IDE -də, Alətlər menyusundan Serial Monitoru açın və 115200 baud olaraq ayarlandığından əmin olun. Baud sürətini dəyişdirmək məcburiyyətindəsinizsə, bəlkə də işə başlamazdan əvvəl Serial Monitoru yenidən bağlamalı və yenidən açmalısınız.

İndi kodun çıxışını Serial Monitorda görməlisiniz. Səhv mesajlarının olub olmadığını yoxlamalısınız. Ayrıca, teleqramları görə bilməlisiniz. Mənim üçün bunlar belə görünür:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Seriya nömrəsi hexadecimal 0-0: 1.0.0 (200831181442S) // Zaman damgası S: gün işığı (yay), W: yox gündüz qənaətləri (qış) 1-0: 1.8.1 (000016.308*kWh) // Ümumi maksimum xalis istehlak 1-0: 1.8.2 (000029.666*kWh) // Ümumi pikdən kənar xalis istehlak 1-0: 2.8.1 (000138.634*kWh) // Ümumi pik xalis enjeksiyon 1-0: 2.8.2 (000042.415*kWh) // Total pikdən kənar xalis enjeksiyon 0-0: 96.14.0 (0001) // Tarif 1: pik, 2: off-pik 1-0: 1.7.0 (00.000*kW) // Cari istehlak 1-0: 2.7.0 (00.553*kW) // Cari enjeksiyon 1-0: 32.7.0 (235.8*V) // Faza 1 gərginlik 1-0: 52.7.0 (237.0*V) // Mərhələ 2 gərginliyi 1-0: 72.7.0 (237.8*V) // Faza 3 gərginliyi 1-0: 31.7.0 (001*A) // Faza 1 cərəyan 1-0: 51.7.0 (000*A) // Faza 2 cərəyan 1-0: 71.7.0 (004*A) // Faza 3 cərəyan 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kW) // Maksimum güc 1-0: 31.4.0 (999*A) // Maksimum cərəyan 0-0: 96.13.0 () // Mesaj 0-1: 24.1.0 (003)) // M-avtobusdakı digər cihazlar 0-1: 96.1.1 (37464C4F32313230313037393338) // Seriya nömrəsi qaz ölçüsü r hexadecimal 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Qaz zaman damgası ümumi istehlak! E461 // CRC16 checksum

Səhv bir şey varsa, eyni etiketlərin olub olmadığını yoxlaya bilərsiniz və bəlkə də readTelegram funksiyasındakı teleqramları təhlil edən kodu dəyişdirməlisiniz.

Hər şey işləyirsə, indi esp8266 -nı USB şarj cihazından gücləndirə bilərsiniz.

IoT ThingSpeak Monitor tətbiqini smartfonunuza quraşdırın, Kanal ID -ni doldurun və API Açarını oxuyun və bitirdiniz!

Tövsiyə: