Mundarija:

Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang: 5 qadam
Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang: 5 qadam

Video: Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang: 5 qadam

Video: Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang: 5 qadam
Video: ХАММА БИЛИШИ ШАРТ! АСКУГ Газ хисоблагични очиш 2024, Noyabr
Anonim
Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang
Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang
Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang
Elektr va gaz hisoblagichini (Belgiya/Gollandiya) o'qing va Thingspeak -ga yuklang

Agar siz energiya iste'moli haqida qayg'urayotgan bo'lsangiz, yoki, ehtimol, siz aql bovar qilmaydigan yangi raqamli hisoblagichingiz ma'lumotlarini smartfoningizda ko'rishni xohlaysiz.

Ushbu loyihada biz Belgiya yoki Gollandiyaning raqamli elektr va gaz hisoblagichidan joriy ma'lumotlarni olamiz va Thingspeak -ga yuklaymiz. Bu ma'lumotlarga joriy va kundalik quvvat sarfi va in'ektsiya (agar sizda quyosh panellari bo'lsa), kuchlanish va toklar va gaz sarfi (agar raqamli gaz hisoblagichi elektr hisoblagichga ulangan bo'lsa) kiradi. Ilova orqali ushbu qiymatlarni smartfonda real vaqtda o'qish mumkin.

Bu Belgiya yoki Gollandiya raqamli hisoblagichi uchun ishlaydi, bu DSMR (Gollandiyalik aqlli o'lchagich talablari) protokoliga mos keladi, bu oxirgi hisoblagichlar bo'lishi kerak. Agar siz boshqa joyda yashasangiz, afsuski, hisoblagichingiz boshqa protokoldan foydalanishi mumkin. Men qo'rqaman, bu ko'rsatma biroz mintaqaviy darajada cheklangan.

Biz hisoblagichning P1-portidan foydalanamiz, u RJ11/RJ12 kabelini qabul qiladi, bu so'zda telefon kabeli sifatida tanilgan. Hisoblagich o'rnatuvchisi P1 portini faollashtirganligiga ishonch hosil qiling. Masalan, Belgiyadagi Fluvius uchun ushbu ko'rsatmalarga amal qiling.

Ma'lumotni qayta ishlash va Internetga yuklash uchun biz ESP8266-dan foydalanamiz, bu Wi-Fi o'rnatilgan arzon mikrochip. Bu faqat 2 dollar turadi. Bundan tashqari, uni Arduino IDE yordamida dasturlash mumkin. Biz ma'lumotlarni Thingspeak -da bulutda saqlaymiz, u maksimal to'rtta kanal uchun bepul. Ushbu loyiha uchun biz faqat bitta kanaldan foydalanamiz. Ma'lumotni IoT ThingSpeak kabi dastur yordamida smartfonda ko'rsatish mumkin.

Qismlar:

  • Nodemcu v2 kabi bitta ESP8266. E'tibor bering, nodemcu v3 standart non paneli uchun juda keng, shuning uchun men v2 ni afzal ko'raman.
  • Mikro USB - USB kabeli.
  • USB zaryadlovchi.
  • Bitta BC547b NPN tranzistorli.
  • Ikkita 10k qarshilik va bitta 1k qarshilik.
  • Bitta RJ12 vintli terminal ulagichi.
  • Non paneli.
  • Jumper simlari.
  • Majburiy emas: bitta 1nF kondansatör.

Hammasi bo'lib, AliExpress yoki shunga o'xshash 15 evroga teng. Hisob -kitoblar shuni ko'rsatadiki, rezistorlar, tranzistorlar va simlar kabi ba'zi komponentlar ushbu loyihaga kerak bo'lgandan ko'ra ko'proq miqdorda bo'ladi. Agar sizda komponentlar to'plami bo'lsa, u arzonroq bo'ladi.

1 -qadam: ESP8266 bilan tanishish

Men NodeMCU v2 ni tanladim, chunki lehimlash shart emas va u oson dasturlash imkonini beradigan mikro USB ulanishiga ega. NodeMCU v3 -ning NodeMCU v3 -dan afzalligi shundaki, u kichkina bo'lib, u taxtaga o'raladi va ulanish uchun yon tomonda bo'sh teshiklar qoladi. Shuning uchun NodeMCU v3 dan qochish yaxshiroqdir. Ammo, agar siz boshqa ESP8266 kartasini tanlasangiz, bu ham yaxshi.

ESP8266 Arduino IDE yordamida osongina dasturlashtirilishi mumkin. Buni batafsil tushuntiradigan boshqa ko'rsatmalar ham bor, shuning uchun men bu erda juda qisqacha bo'laman.

  • Avval Arduino IDE -ni yuklab oling.
  • ESP8266 kartasi uchun ikkinchi o'rnatish yordami. Fayl - Tanlovlar - Sozlamalar menyusida https://arduino.esp8266.com/stable/package_esp8266com_index.json manzilini qo'shimcha boshqaruv menejeri URL manzillariga qo'shing. Keyingi menyuda Asboblar - Kengash - Kengashlar menejeri esp8266 hamjamiyati tomonidan esp8266 -ni o'rnatadi.
  • Uchinchidan, ESP8266 -ga eng yaqin taxtani tanlang. Mening holatimda men NodeMCU v1.0 (ESP 12-E Module) ni tanladim.
  • Nihoyat, 4M (1M SPIFFS) kabi SPIFFS -ni o'z ichiga olgan "Asboblar - Flash hajmi" ni tanlang. Ushbu loyihada biz kunlik energiya qiymatlarini saqlash uchun SPIFFS (SPI Flash fayl tizimi) dan foydalanamiz, shuning uchun ESP8266 quvvatni yo'qotsa va hatto uni qayta dasturlashda ham ular yo'qolmaydi.

Endi bizda ESP8266 dasturlash uchun hamma narsa bor! Haqiqiy kodni keyingi bosqichda muhokama qilamiz. Avval Thingspeak hisobini yaratamiz.

2 -qadam: Thingspeak hisobi va kanalini yarating

Https://thingspeak.com/ saytiga o'ting va hisob yarating. Tizimga kirganingizdan so'ng kanal yaratish uchun Yangi kanal tugmasini bosing. Kanal sozlamalarida ism va tavsifni xohlaganingizcha to'ldiring. Keyin biz kanal maydonlarini nomlaymiz va o'ngdagi katakchalarni bosib ularni faollashtiramiz. Agar siz mening kodimni o'zgarishsiz ishlatsangiz, maydonlar quyidagicha:

  • 1 -maydon: bugungi kunda eng yuqori iste'mol (kVt soat)
  • 2-maydon: bugungi kunda eng yuqori iste'mol (kVt soat)
  • 3 -maydon: bugungi kunda eng yuqori in'ektsiya (kVt soat)
  • 4-maydon: bugungi kunda eng yuqori in'ektsiya (kVt soat)
  • 5 -maydon: joriy iste'mol (Vt)
  • 6 -maydon: joriy in'ektsiya (Vt)
  • 7 -maydon: bugungi kunda gaz sarfi (m3)

Bu erda eng yuqori va eng yuqori nuqtalar elektr energiyasi tarifini bildiradi. 1 va 2 -sohalarda iste'mol qilish bugungi kunda aniq elektr energiyasini iste'mol qilishni anglatadi: bugungi kunda yarim kechadan boshlab tarif davrida elektr energiyasini iste'mol qilish minus inyeksiya (quyosh panellari tomonidan ishlab chiqarilgan) bugun tarif davrida yarim tundan boshlab minimal nol. Ikkinchisi, agar iste'moldan ko'ra ko'proq in'ektsiya bo'lsa, bugungi kunda bu qiymat nolga teng. Xuddi shunday, 3 va 4 -maydonlarga in'ektsiya qilish elektr energiyasini aniq kiritish demakdir. 5 va 6 -maydonlar aniq iste'mol va in'ektsiyani ko'rsatadi. Nihoyat, 7 -maydon - yarim tundan beri gaz iste'moli.

Kelgusida ma'lumot olish uchun API identifikatorlari menyusida joylashgan kanal identifikatorini, API o'qish kalitini va API yozish kalitini yozing.

3 -qadam: Elektron sxemani yaratish

Elektron davrni qurish
Elektron davrni qurish
Elektron davrni qurish
Elektron davrni qurish

Biz RJ11 yoki RJ12 kabelini oladigan P1 porti yordamida elektr hisoblagichini o'qiymiz. Farqi shundaki, RJ12 kabeli 6 ta simga ega, RJ11 esa atigi 4 ta. Bu loyihada biz ESP8266 ni P1 portidan quvvatlamaymiz, shuning uchun bizga faqat 4 ta sim kerak bo'ladi, shuning uchun RJ11 shunday qiladi.

Men rasmda ko'rsatilgan RJ12 uzilishidan foydalandim. Bu biroz keng va metrda P1 porti atrofida juda ko'p joy yo'q. U mos keladi, lekin u qattiq. Shu bilan bir qatorda, siz RJ11 yoki RJ12 kabelidan foydalanishingiz va sarlavhani bir chetidan olib tashlashingiz mumkin.

Agar siz rasmni ko'rsatilgandek ushlab tursangiz, pinlar o'ngdan chapga raqamlangan va quyidagi ma'noga ega:

  • Pin 1: 5V quvvat manbai
  • 2 -pin: ma'lumot so'rovi
  • 3 -pin: ma'lumotlar bazasi
  • 4 -pin: ulanmagan
  • 5 -pin: ma'lumotlar liniyasi
  • 6 -pin: quvvat manbai

1 va 6 -pinlar ESP8266 -ni yoqish uchun ishlatilishi mumkin, lekin men buni sinab ko'rmaganman. Siz 1 -pinni ESP8266 -ning Vin -ga ulashingiz kerak bo'ladi, shuning uchun plataning ichki voltaj regulyatori 5V dan ESP8266 qabul qiladigan 3.3Vgacha bo'lgan kuchlanishni pasaytirish uchun ishlatiladi. Shuning uchun uni 3.3V piniga ulamang, chunki bu ESP8266 ga zarar etkazishi mumkin. Shuningdek, P1 portidan quvvat olish vaqt o'tishi bilan raqamli hisoblagich batareyasini tugatadi.

O'rnatish pimi 2 balandligi har soniyada ma'lumot telegrammalarini yuborish uchun o'lchagichga signal beradi. Haqiqiy ma'lumotlar zamonaviy raqamli o'lchagich uchun (DSMR 4 va 5) 115200 bayt tezligi bilan 5 -pin orqali yuboriladi. Signal teskari (past - 1, yuqori - 0). Eski turdagi (DSMR 3 va undan past) uchun tezlik 9600 bod. Bunday hisoblagich uchun keyingi bosqich dasturiy ta'minot kodidagi uzatilish tezligini o'zgartirish kerak: Serial.begin (115200) qatorini o'zgartiring; sozlashda ().

NPN tranzistorining roli ikki xil:

  • ESP8266 uni tushunishi uchun signalni teskari aylantirish.
  • Mantiq darajasini P1 portining 5V dan ESP8266 RX porti kutgan 3.3V ga o'zgartirish.

Shunday qilib, diagrammada bo'lgani kabi, non panelidagi elektron sxemani yarating. Kondensator barqarorlikni oshiradi, lekin u ham ishlaydi.

Keyingi bosqichda ESP8266 dasturlashtirilmaguncha RX pinini ulashni to'xtatib turing. Haqiqatan ham, RX pin ESP8266 va kompyuter o'rtasida USB orqali muloqot qilish uchun ham kerak.

4 -qadam: Kodni yuklang

Men kodni GitHub-da taqdim qildim, bu faqat bitta fayl: P1-Meter-Reader.ino. Uni yuklab oling va Arduino IDE -da oching. Yoki Fayl - Yangi -ni tanlashingiz va kodni nusxalash/joylashtirishingiz mumkin.

Fayl boshini to'ldirish kerak bo'lgan ba'zi ma'lumotlar mavjud: WLAN tarmog'ining nomi va paroli, ThingSpeak kanalining kanal identifikatori va API yozish kaliti.

Kod quyidagilarni bajaradi:

  • Hisoblagichdan har bir UPDATE_INTERVAL (millisekundlarda) ma'lumot telegrammasini o'qiydi. Standart qiymat har 10 soniyada. Odatda, har soniyada hisoblagichdan ma'lumot telegrammasi bor, lekin chastotani yuqori qilib belgilash ESP8266 ni ortiqcha yuklaydi, shuning uchun u endi veb -serverni ishga tushira olmaydi.
  • Thingspeak kanaliga elektr energiyasini har SEND_INTERVAL yuklaydi (millisekundlarda). Standart qiymat har daqiqada. Bu chastota to'g'risida qaror qabul qilish uchun ma'lumotlarni yuborish biroz vaqt talab etadi (odatda bir necha soniya) va Thingspeak -da bepul hisob uchun yangilanish chastotasi chegaralanganligini hisobga oling. Bu kuniga taxminan 8200 ta xabar, shuning uchun Thingspeak -dan boshqa hech narsa uchun foydalanmasangiz, maksimal chastota har 10 soniyada bir marta bo'ladi.
  • Gaz ma'lumotlarini o'zgartirganda yuklaydi. Odatda, hisoblagich har 4 daqiqada gaz iste'moli ma'lumotlarini yangilaydi.
  • Hisoblagich ishga tushirilgandan buyon umumiy iste'mol va in'ektsiya qiymatlarini kuzatib boradi. Kundalik iste'mol va in'ektsiyani olish uchun kod har kuni yarim tunda umumiy qiymatlarni saqlaydi. Keyin bu qiymatlar joriy umumiy qiymatlardan chiqariladi. Yarim tunda qiymatlar SPIFFS (SPI Flash fayl tizimi) da saqlanadi, agar ESP8266 quvvatini yo'qotsa yoki hatto uni qayta dasturlashda ham saqlanib qoladi.
  • ESP8266 mini -serverni boshqaradi. Agar siz uning IP -manzilini brauzeringizda ochsangiz, siz hozirgi elektr va gaz qiymatlarining umumiy ko'rinishini olasiz. Bular eng so'nggi telegramma va Thingspeak -ga yuklanmagan ma'lumotlarni o'z ichiga oladi, masalan, fazalardagi kuchlanish va toklar. Odatiy IP -manzil yo'riqnoma tomonidan dinamik ravishda aniqlanadi. Lekin har doim bir xil bo'lgan statik IP manzilidan foydalanish qulayroq. Bunday holda siz kodda staticIP, shluzi, dns va pastki tarmoqni to'ldirishingiz va WiFi.config (staticIP, dns, shlyuz, pastki tarmoq) qatoriga izoh qoldirmasligingiz kerak; connectWifi () funktsiyasida.

Ushbu o'zgarishlarni amalga oshirganingizdan so'ng, siz dasturiy ta'minotni ESP8266 -ga yuklashga tayyormiz. ESP8266 -ni USB kabeli orqali kompyuteringizga ulang va Arduino IDE o'qidagi belgini bosing. Agar siz ESP8266 ga ulana olmasangiz, asboblar - port menyusi ostidagi COM portini o'zgartirishga harakat qiling. Agar u hali ham ishlamasa, USB virtual COM porti uchun drayverni qo'lda o'rnatishingiz mumkin.

5 -qadam: Sinov

Dasturiy ta'minotni yuklaganingizdan so'ng, USB -ni ajratib oling va ESP8266 -ning RX simini ulang. Esingizda bo'lsin, bizga dasturiy ta'minotni yuklash uchun ESP8266 ning RX kanali kerak edi, shuning uchun biz uni ilgari ulamaganmiz. Endi RJ12 uzilishini raqamli o'lchagichga ulang va ESP8266 -ni kompyuteringizga qayta ulang.

Arduino IDE -da, asboblar menyusi orqali ketma -ket monitorni oching va uning 115200 bodga o'rnatilganligiga ishonch hosil qiling. Agar siz tezlik tezligini o'zgartirishingiz kerak bo'lsa, ehtimol u ishlamay qolguncha Serial monitorni yopib, qayta ochishingiz kerak bo'ladi.

Endi siz ketma -ket monitorda kodning chiqishini ko'rishingiz kerak. Siz xato xabarlar mavjudligini tekshirishingiz kerak. Bundan tashqari, siz telegrammalarni ko'rishingiz kerak. Men uchun ular shunday ko'rinadi:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Seriya raqamlari o'lchagichi o'n oltilik 10-0: 1.0.0 (200831181442S) // Vaqt tamg'asi S: kunduzgi yoz (yoz), V: yo'q kunduzgi tejamkorlik (qish) 1-0: 1.8.1 (000016.308*kVt / soat) // Umumiy yig'ilishning sof iste'moli 1-0: 1.8.2 (000029.666*kVt / s) // To'liq yig'indagi aniq iste'mol 1-0: 2.8.1 (000138.634*kVt / soat) // Umumiy yig'ilishning aniq cho'qqisi 1-0: 2.8.2 (000042.415*kVt / soat) // Jami pik-off aniq in'ektsiya 0-0: 96.14.0 (0001) // 1-tarif: tepalik, 2: off-pik 1-0: 1.7.0 (00.000*kVt) // Joriy iste'mol 1-0: 2.7.0 (00.553*kVt) // Hozirgi in'ektsiya 1-0: 32.7.0 (235.8*V) // Faza 1 kuchlanish 1-0: 52.7.0 (237.0*V) // 2 fazali kuchlanish 1-0: 72.7.0 (237.8*V) // 3 fazali kuchlanish 1-0: 31.7.0 (001*A) // 1-bosqich 1-0: 51.7.0 (000*A) // 2-fazali oqim 1-0: 71.7.0 (004*A) // 3-fazali oqim 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kVt) // Maksimal quvvat 1-0: 31.4.0 (999*A) // Maksimal oqim 0-0: 96.13.0 () // Xabar 0-1: 24.1.0 (003)) // M-avtobusdagi boshqa qurilmalar 0-1: 96.1.1 (37464C4F32313230313037393338) // Seriya raqami gaz o'lchagichi r hexadecimal 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Gaz vaqt tamg'asi umumiy iste'moli! E461 // CRC16 checksum

Agar biror narsa noto'g'ri bo'lsa, sizda bir xil teglar bor -yo'qligini tekshirishingiz mumkin va siz o'qish TeTelegram funktsiyasida telegrammalarni ajratish kodini o'zgartirishingiz mumkin.

Agar hamma narsa yaxshi bo'lsa, endi esp8266 -ni USB zaryadlovchi qurilmasidan quvvatlantirish mumkin.

Smartfoningizga IoT ThingSpeak Monitor ilovasini o'rnating, kanal identifikatorini to'ldiring va API kalitini o'qing va bajaring!

Tavsiya: