Sisukord:

Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu

Video: Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu

Video: Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu
Video: Я Spiderman 🕷️ 2024, November
Anonim
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige see üles Thingspeaki
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige see üles Thingspeaki
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige see üles Thingspeaki
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige see üles Thingspeaki

Kui olete mures oma energiatarbimise pärast või lihtsalt natuke nohik, soovite tõenäoliselt oma nutika nutitelefoni abil näha oma uue väljamõeldud digitaalse arvesti andmeid.

Selles projektis saame praegused andmed Belgia või Hollandi digitaalsest elektri- ja gaasimõõturist ning laadime need üles Thingspeaki. Need andmed hõlmavad praegust ja igapäevast energiatarbimist ja sissepritset (kui teil on päikesepaneelid), pinget ja voolu ning gaasitarbimist (kui elektriarvestiga on ühendatud digitaalne gaasiarvesti). Rakenduse kaudu saab neid väärtusi teie nutitelefonis reaalajas lugeda.

See töötab Belgia või Hollandi digitaalse mõõturi jaoks, mis järgib DSMR (Hollandi nutikate mõõtjate nõuded) protokolli, mis peaks olema kõik viimased arvestid. Kui elate mujal, kasutab teie arvesti kahjuks teist protokolli. Nii et ma kardan, et see Instructable on natuke piirkondlikult piiratud.

Kasutame arvesti P1-porti, mis võtab vastu RJ11/RJ12 kaablit, mida kõnekeeles nimetatakse telefonikaabliks. Veenduge, et arvesti paigaldaja aktiveeris P1 -pordi. Näiteks järgige Fluviuse puhul Belgias neid juhiseid.

Andmete töötlemiseks ja Internetti üleslaadimiseks kasutame ESP8266, mis on sisseehitatud wifi-ga odav mikrokiip. See maksab ainult umbes 2 dollarit. Lisaks saab seda programmeerida Arduino IDE abil. Salvestame andmed pilve saidil Thingspeak, mis on tasuta kuni neljale kanalile. Selle projekti jaoks kasutame ainult ühte kanalit. Seejärel saab andmeid nutitelefonis kuvada, kasutades sellist rakendust nagu IoT ThingSpeak.

Osad:

  • Üks ESP8266, nagu nodemcu v2. Pange tähele, et nodemcu v3 on tavalise leivalaua jaoks liiga lai, nii et eelistan v2.
  • Mikro -USB -kaabel.
  • USB laadija.
  • Üks BC547b NPN transistor.
  • Kaks 10k takistit ja üks 1k takisti.
  • Üks RJ12 kruviklemmliides.
  • Leivalaud.
  • Jumper juhtmed.
  • Valikuline: üks 1 nF kondensaator.

Kokku maksab see AliExpressis vms 15 eurot. Hinnangus võetakse arvesse, et mõningaid komponente, nagu takistid, transistorid ja juhtmed, on palju rohkem, kui selle projekti jaoks vaja läheb. Nii et kui teil on juba komponentide komplekt, on see odavam.

Samm: tutvuge ESP8266 -ga

Valisin NodeMCU v2, kuna jootmist pole vaja ja sellel on mikro -USB -ühendus, mis võimaldab hõlpsat programmeerimist. NodeMCU v2 eeliseks NodeMCU v3 ees on see, et see on piisavalt väike, et mahtuda leivaplaadile ja jätta külgede külge ühenduste tegemiseks vabad augud. Seega on parem vältida NodeMCU v3. Kui aga eelistate mõnda muud ESP8266 plaati, on see ka hea.

ESP8266 saab hõlpsasti programmeerida Arduino IDE abil. On ka teisi juhiseid, mis seda üksikasjalikult selgitavad, nii et ma räägin siin väga lühidalt.

  • Esmalt laadige alla Arduino IDE.
  • ESP8266 plaadi teine installitugi. Lisage menüüsse Fail - Eelistused - Seaded lisahalduri täiendavatele URL -idele URL https://arduino.esp8266.com/stable/package_esp8266com_index.json. Järgmisena installige menüüs Tööriistad - Juhatus - Laudade haldur kogukonna esp8266 by esp8266 installimine.
  • Kolmandaks valige tahvel, mis on teie ESP8266 -le kõige lähemal. Minu puhul valisin NodeMCU v1.0 (ESP 12-E moodul).
  • Lõpuks valige jaotises Tööriistad - välgu suurus, suurus, mis sisaldab SPIFFS -i, näiteks 4M (1M SPIFFS). Selles projektis kasutame igapäevaste energiaväärtuste salvestamiseks SPIFFS -i (SPI Flash File System), et need ei läheks kaduma, kui ESP8266 kaotab toite ja isegi siis, kui see on ümber programmeeritud.

Nüüd on meil kõik ESP8266 programmeerimiseks olemas! Tegelikku koodi arutame hiljem. Kõigepealt teeme Thingspeaki konto.

2. toiming: looge asjade kõne konto ja kanal

Minge saidile https://thingspeak.com/ ja looge konto. Kui olete sisse loginud, klõpsake kanali loomiseks nuppu Uus kanal. Kanali seadetes sisestage nimi ja kirjeldus, nagu soovite. Seejärel nimetame kanaliväljad ja aktiveerime need, klõpsates paremal asuvatel märkeruutudel. Kui kasutate minu koodi muutmata kujul, on väljad järgmised:

  • 1. väli: tippkulu täna (kWh)
  • 2. väli: tipptundiväline tarbimine täna (kWh)
  • 3. väli: tipptaseme süstimine täna (kWh)
  • 4. väli: tipptaseväline süstimine täna (kWh)
  • 5. väli: voolutarve (W)
  • 6. väli: voolu sissepritse (W)
  • Väli 7: gaasitarbimine täna (m3)

Siin viitavad tipptase ja tipptunne elektritariifile. Väljadel 1 ja 2 viitab tarbimine täna elektrienergia netotarbimisele: elektrienergia tarbimine täna tariifiperioodil alates südaööst miinus elektrienergia süstimine (toodetud päikesepaneelide abil) täna tariifiperioodil alates südaööst miinimumiga. Viimane tähendab, et kui täna süstiti rohkem kui tarbiti, on väärtus null. Samuti viitab väljadele 3 ja 4 sissepritse elektri netosüstimisele. Väljad 5 ja 6 näitavad netotarbimist ja süstimist praegusel hetkel. Lõpuks väli 7 on gaasi tarbimine alates südaööst.

Tuleviku jaoks kirjutage üles kanali ID, lugemis -API -võti ja kirjutamis -API -võti, mille leiate menüü API -võtmetest.

3. samm: elektroonilise vooluahela ehitamine

Elektroonilise vooluahela ehitamine
Elektroonilise vooluahela ehitamine
Elektroonilise vooluahela ehitamine
Elektroonilise vooluahela ehitamine

Lugesime elektriarvesti P1 -pordi abil, mis võtab RJ11 või RJ12 kaabli. Erinevus seisneb selles, et RJ12 kaablil on 6 juhet, samas kui RJ11 -l on ainult 4. Selles projektis ei toida me ESP8266 toiteallikat P1 -pordist, nii et tegelikult vajame ainult 4 juhtmest, nii et RJ11 teeks seda.

Kasutasin pildil näidatud RJ12 purunemist. See on natuke lai ja minu arvesti P1 -pordi ümber pole palju ruumi. See sobib, kuid on tihe. Teise võimalusena võite lihtsalt kasutada RJ11 või RJ12 kaablit ja eemaldada ühest otsast päis.

Kui hoiate jaotust nagu pildil, nummerdatakse tihvtid paremalt vasakule ja neil on järgmine tähendus:

  • Pin 1: 5V toide
  • Tihvt 2: andmetaotlus
  • Tihvt 3: andmeside
  • Pin 4: pole ühendatud
  • Pin 5: Andmerida
  • Tihvt 6: toitepinge

Pistikut 1 ja tihvti 6 võiks kasutada ESP8266 toiteks, kuid ma pole seda testinud. Peaksite ühendama tihvti 1 ESP8266 Viniga, nii et plaadi sisemist pingeregulaatorit kasutatakse pinge vähendamiseks 5 V -lt 3,3 V -ni, mida ESP8266 aktsepteerib. Seetõttu ärge ühendage seda 3,3 V kontaktiga, kuna see võib ESP8266 kahjustada. Ka P1 -pordi toiteallikas tühjendab aja jooksul digitaalse arvesti aku.

Tihvti 2 kõrge seadistamine annab arvestile andmesidegrammide saatmiseks iga sekundi. Tegelikud andmed saadetakse tänapäevase digitaalse mõõturi (DSMR 4 ja 5) jaoks üle tihvti 5, edastuskiirusega 115200. Signaal on vastupidine (madal on 1 ja kõrge on 0). Vanema tüübi puhul (DSMR 3 ja alla selle) on kiirus 9600 baud. Sellise arvesti jaoks peate järgmise sammu püsivara koodis muutma edastuskiirust: muutke rida Serial.begin (115200); seadistamisel ().

NPN-transistori roll on kahekordne:

  • Signaali ümberpööramiseks, et ESP8266 sellest aru saaks.
  • Loogika taseme muutmine P1-pordi 5 V-lt 3,3 V-le, mida ESP8266 RX-port eeldab.

Seega looge leivaplaadile elektrooniline vooluring nagu skeemil. Kondensaator suurendab stabiilsust, kuid töötab ka ilma.

Hoidke RX -tihvti ühendamast, kuni olete järgmises etapis ESP8266 programmeerinud. Tõepoolest, RX -pistikut on vaja ka ESP8266 ja teie arvuti vahelise USB -ühenduse loomiseks.

Samm: laadige kood üles

Olen koodi GitHubis kättesaadavaks teinud, see on vaid üks fail: P1-Meter-Reader.ino. Lihtsalt laadige see alla ja avage see Arduino IDE -s. Või võite valida Fail - Uus ja lihtsalt koodi kopeerida/kleepida.

Faili algusesse tuleb sisestada teatud teave: kasutatava WLAN -i nimi ja parool ning ThingSpeak Channel'i kanali ID ja Write API võti.

Kood teeb järgmist:

  • Loeb arvesti andmetelegrammi iga UPDATE_INTERVAL (millisekundites). Vaikeväärtus on iga 10 sekundi järel. Tavaliselt on arvesti andmetelegramm iga sekund, kuid sageduse kõrgeks seadmine koormab ESP8266 üle, nii et see ei saa enam veebiserverit käitada.
  • Laadib elektrienergia andmed Thingspeaki kanalile üles iga SEND_INTERVAL (millisekundites). Vaikeväärtus on iga minut. Selle sageduse üle otsustamisel arvestage sellega, et andmete saatmine võtab aega (tavaliselt mõni sekund) ja tasuta konto puhul on asjade ajakohastamise sagedus piiratud. See on umbes 8200 sõnumit päevas, nii et maksimaalne sagedus oleks umbes üks kord iga 10 sekundi järel, kui te ei kasuta asjade rääkimist millekski muuks.
  • Laeb gaasiandmed üles, kui need muutuvad. Tavaliselt uuendab arvesti gaasitarbimise andmeid ainult iga 4 minuti järel.
  • Arvesti jälgib kogutarbimist ja süstimisväärtusi algusest peale. Nii et igapäevase tarbimise ja süstimise saamiseks salvestab kood iga päev keskööl koguväärtused. Seejärel lahutatakse need väärtused praegustest koguväärtustest. Keskööl olevad väärtused salvestatakse SPIFFS -i (SPI Flash File System), mis püsib, kui ESP8266 kaotab toite või isegi siis, kui see ümber programmeeritakse.
  • ESP8266 töötab mini veebiserveriga. Kui avate oma brauseris selle IP -aadressi, saate ülevaate kõigist praegustest elektri- ja gaasiväärtustest. Need on pärit kõige uuemast telegrammist ja sisaldavad teavet, mida ei ole üleslaaditud Thingspeaki, näiteks pinged ja voolud faasi kohta. Vaikeseade on see, et ruuter määrab IP -aadressi dünaamiliselt. Kuid mugavam on kasutada staatilist IP -aadressi, mis on alati sama. Sel juhul peate koodi sisestama staticIP, gateway, dns ja alamvõrgu ning tühistama rea WiFi.config (staticIP, dns, gateway, subnet); funktsioonis connectWifi ().

Pärast nende muudatuste tegemist olete valmis püsivara ESP8266 -sse üles laadima. Ühendage ESP8266 USB -kaabli kaudu arvutiga ja vajutage noolega ikooni Arduino IDE -s. Kui teil ei õnnestu ESP8266 -ga ühendust luua, proovige muuta COM -porti menüüs Tools - Port. Kui see ikka ei tööta, on võimalik, et peate USB virtuaalse COM -pordi draiveri käsitsi installima.

Samm: testimine

Pärast püsivara üleslaadimist eemaldage USB -pistik ja ühendage ESP8266 RX -juhe. Pidage meeles, et püsivara üleslaadimiseks vajasime ESP8266 RX -kanalit, nii et me ei ühendanud seda varem. Nüüd ühendage digitaalse arvesti RJ12 katkestus ja ühendage ESP8266 uuesti arvutiga.

Avage Arduino IDE -s jadamonitor tööriistade menüü kaudu ja veenduge, et see on seatud 115200 baudile. Kui peate edastuskiirust muutma, peate võib-olla seeriamonitori uuesti sulgema ja uuesti avama, enne kui see töötab.

Nüüd peaksite jadamonitoris nägema koodi väljundit. Peaksite kontrollima, kas veateateid pole. Samuti peaksite telegramme nägema. Minu jaoks näevad need välja sellised:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Seerianumbri meetri kuueteistkümnendarv 0-0: 1.0.0 (200831181442S) // Ajatempel S: suveaeg (suvi), W: ei suveaeg (talv) 1-0: 1.8.1 (000016.308*kWh) // netotarbimise tipphetk 1-0: 1.8.2 (000029,9666*kWh) // netoväline kogutarbimine 1-0: 2.8.1 (000138.634*kWh) // Netopiirituse tipphetk 1-0: 2.8.2 (000042.415*kWh) // Tipuväline netosisendus kokku 0-0: 96.14.0 (0001) // Tariif 1: tipp, 2: tipptundiväline 1-0: 1,7,0 (00 000*kW) // voolutarve 1-0: 2,7,0 (00,553*kW) // voolu sissepritse 1-0: 32,7,0 (235,8*V) // faas 1 pinge 1-0: 52.7.0 (237.0*V) // 2. faasi pinge 1-0: 72.7.0 (237.8*V) // 3. faasi pinge 1-0: 31.7.0 (001*A) // 1. faasi vool 1-0: 51.7.0 (000*A) // 2. faasi vool 1-0: 71.7.0 (004*A) // 3. faasi vool 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kW) // Maksimaalne võimsus 1-0: 31.4.0 (999*A) // Maksimaalne vool 0-0: 96.13.0 () // Sõnum 0-1: 24.1.0 (003) // muud seadmed M-siinil 0-1: 96.1.1 (37464C4F32313230313037393338) // Seerianumber gaasimõõt r kuueteistkümnendarv 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Gaasi ajatempli kogutarbimine! E461 // CRC16 kontrollsumma

Kui midagi on valesti, saate kontrollida, kas teil on samad sildid, ja peate võib -olla muutma telegrammide parsimise koodi funktsioonis readTelegram.

Kui kõik töötab, saate nüüd esp8266 toita USB -laadijast.

Installige nutitelefoni rakendus IoT ThingSpeak Monitor, täitke kanali ID ja lugemisliidese võti ning olete valmis!

Soovitan: