Sisällysluettelo:

Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin: 5 vaihetta
Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin: 5 vaihetta

Video: Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin: 5 vaihetta

Video: Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin: 5 vaihetta
Video: Insinööri (AMK), sähkö- ja automaatiotekniikka 2024, Marraskuu
Anonim
Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin
Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin
Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin
Lue sähkö- ja kaasumittari (belgialainen/hollantilainen) ja lataa Thingspeakiin

Jos olet huolissasi energiankulutuksestasi tai vain hieman nörtti, haluat todennäköisesti nähdä älykkään uuden hienon digitaalimittarin tiedot.

Tässä projektissa saamme ajankohtaiset tiedot belgialaisesta tai hollantilaisesta sähkö- ja kaasumittarista ja lataamme sen Thingspeakiin. Nämä tiedot sisältävät nykyisen ja päivittäisen virrankulutuksen ja ruiskutuksen (jos sinulla on aurinkopaneelit), jännitteet ja virrat sekä kaasun kulutuksen (jos digitaalinen kaasumittari on kytketty sähkömittariin). Sovelluksen kautta nämä arvot voidaan lukea reaaliajassa älypuhelimestasi.

Se toimii belgialaisessa tai hollantilaisessa digitaalisessa mittarissa, joka noudattaa DSMR (Dutch Smart Meter Requirements) -protokollaa, jonka pitäisi olla kaikki viimeisimmät mittarit. Jos asut muualla, valitettavasti mittari käyttää todennäköisesti toista protokollaa. Joten pelkään, että tämä Instructable on vähän alueellisesti rajoitettu.

Käytämme mittarin P1-porttia, joka hyväksyy RJ11/RJ12-kaapelin, joka tunnetaan puhekielellä puhelinkaapelina. Varmista, että mittarin asentaja on aktivoinut P1 -portin. Esimerkiksi Fluvius Belgiassa seuraa näitä ohjeita.

Käsittelemme tietoja ja lähetämme ne Internetiin ESP8266: lla, joka on halpa mikrosiru, jossa on sisäänrakennettu wifi. Se maksaa vain jotain 2 dollaria. Lisäksi se voidaan ohjelmoida Arduino IDE: n avulla. Tallennamme tiedot pilveen Thingspeakiin, joka on ilmainen enintään neljällä kanavalla. Tässä projektissa käytämme vain yhtä kanavaa. Tiedot voidaan sitten näyttää älypuhelimellasi IoT ThingSpeakin kaltaisen sovelluksen avulla.

Osat:

  • Yksi ESP8266, kuten nodemcu v2. Huomaa, että nodemcu v3 on liian leveä tavalliselle leipälevylle, joten mieluummin v2.
  • Mikro -USB -USB -kaapeli.
  • USB -laturi.
  • Yksi BC547b NPN -transistori.
  • Kaksi 10k vastusta ja yksi 1k vastus.
  • Yksi RJ12 -ruuviliitinliitin.
  • Leipälauta.
  • Hyppyjohdot.
  • Valinnainen: yksi 1 nF kondensaattori.

Tämä maksaa yhteensä noin 15 euroa AliExpressissä tai vastaavassa. Arvioinnissa otetaan huomioon, että joitakin komponentteja, kuten vastuksia, transistoreita ja johtoja, tulee paljon suurempia määriä kuin tarvitset tähän projektiin. Joten jos sinulla on jo komponenttisarja, se tulee halvemmaksi.

Vaihe 1: Tutustu ESP8266: een

Valitsin NodeMCU v2: n, koska juottamista ei tarvita ja siinä on mikro -USB -liitäntä, joka mahdollistaa helpon ohjelmoinnin. NodeMCU v2: n etuna NodeMCU v3: een verrattuna on se, että se on tarpeeksi pieni, jotta se mahtuu leipälaudalle ja jättää sivulle vapaita reikiä liitäntöjä varten. Joten on parempi välttää NodeMCU v3. Jos kuitenkin haluat toisen ESP8266 -levyn, se on myös hyvä.

ESP8266 voidaan ohjelmoida helposti Arduino IDE: n avulla. On muitakin Instructables -selityksiä tästä yksityiskohtaisesti, joten olen hyvin lyhyt täällä.

  • Lataa ensin Arduino IDE.
  • Toinen asennustuki ESP8266 -kortille. Lisää Tiedosto - Asetukset - Asetukset -valikkoon URL -osoite https://arduino.esp8266.com/stable/package_esp8266com_index.json Hallituksen ylimääräisiin URL -osoitteisiin. Seuraavaksi valikossa Työkalut - Hallitus - Boards Manager asentaa esp8266 by esp8266 Community.
  • Valitse kolmanneksi ESP8266: ta lähinnä oleva levy. Minun tapauksessani valitsin NodeMCU v1.0 (ESP 12-E Module).
  • Valitse lopuksi kohdasta Työkalut - Salaman koko, koko, joka sisältää SPIFFS, kuten 4M (1M SPIFFS). Tässä projektissa käytämme SPIFFS: ää (SPI Flash File System) päivittäisten energia -arvojen tallentamiseen, jotta ne eivät häviä, jos ESP8266 menettää virran ja vaikka se ohjelmoidaan uudelleen.

Nyt meillä on kaikki valmiina ESP8266: n ohjelmointiin! Keskustelemme todellisesta koodista myöhemmin. Ensin teemme Thingspeak -tilin.

Vaihe 2: Luo Thingspeak -tili ja -kanava

Siirry osoitteeseen https://thingspeak.com/ ja luo tili. Kun olet kirjautunut sisään, luo uusi kanava napsauttamalla painiketta Uusi kanava. Täytä kanava -asetuksissa haluamasi nimi ja kuvaus. Seuraavaksi nimeämme kanavakentät ja aktivoimme ne napsauttamalla oikealla olevia valintaruutuja. Jos käytät koodiani muuttumattomana, kentät ovat seuraavat:

  • Kenttä 1: huippukulutus tänään (kWh)
  • Kenttä 2: kulutus huipun ulkopuolella tänään (kWh)
  • Kenttä 3: ruiskutuksen huippu tänään (kWh)
  • Kenttä 4: ruiskutus huipun ulkopuolella tänään (kWh)
  • Kenttä 5: virrankulutus (W)
  • Kenttä 6: nykyinen ruiskutus (W)
  • Kenttä 7: kaasun kulutus tänään (m3)

Huiput ja huiput viittaavat tässä sähkön hintaan. Kentillä 1 ja 2 kulutus viittaa nykyiseen sähkön nettokulutukseen: sähkön kulutus tänään keskiyön jälkeisenä tariffikautena vähennettynä sähkön (aurinkopaneeleilla tuotetun) ruiskutuksella tänään keskiyön jälkeisenä tariffikautena vähintään nolla. Jälkimmäinen tarkoittaa, että jos injektioita olisi enemmän kuin kulutus, arvo on nolla. Samoin ruiskutus kentillä 3 ja 4 viittaa sähkön nettosuihkutukseen. Kentät 5 ja 6 osoittavat nettokulutuksen ja injektion nykyisellä hetkellä. Lopuksi kenttä 7 on kaasun kulutus keskiyön jälkeen.

Kirjoita muistiin kanavatunnus, Read API -avain ja Write API -avain, jotka löytyvät valikosta API -avaimet.

Vaihe 3: Elektronisen piirin rakentaminen

Elektronisen piirin rakentaminen
Elektronisen piirin rakentaminen
Elektronisen piirin rakentaminen
Elektronisen piirin rakentaminen

Luemme sähkömittarin P1 -portista, joka ottaa RJ11- tai RJ12 -kaapelin. Ero on siinä, että RJ12 -kaapelissa on 6 johtoa, kun taas RJ11 -johdossa on vain 4. Tässä projektissa emme saa virtaa ESP8266: lle P1 -portista, joten tarvitsemme vain 4 johtoa, joten RJ11 tekisi.

Käytin kuvassa näkyvää RJ12 -katkaisua. Se on hieman leveä, eikä mittarissani ole paljon tilaa P1 -portin ympärillä. Se sopii, mutta on tiukka. Vaihtoehtoisesti voit käyttää RJ11- tai RJ12 -kaapelia ja irrottaa otsikon toisesta päästä.

Jos pidät katkaisua kuten kuvassa, nastat on numeroitu oikealta vasemmalle ja niillä on seuraava merkitys:

  • Nasta 1: 5V Virtalähde
  • Nasta 2: datapyyntö
  • Nasta 3: Data Ground
  • Nasta 4: ei kytketty
  • Nasta 5: Tietolinja
  • Nasta 6: Virtamaadoitus

Nastaja 1 ja nasta 6 voitaisiin käyttää ESP8266: n virtalähteenä, mutta en ole testannut tätä. Sinun on kytkettävä nasta 1 ESP8266: n Viniin, joten kortin sisäistä jännitesäädintä käytetään vähentämään jännitettä 5 V: sta ESP8266: n hyväksymään 3,3 V: iin. Älä siis liitä sitä 3,3 V: n nastaan, koska se voi vahingoittaa ESP8266 -laitetta. Myös virtalähde P1 -portista kuluttaa ajan mittaan digitaalisen mittarin akun.

Kun nasta 2 asetetaan korkealle, mittari lähettää datasähkeet joka sekunti. Todelliset tiedot lähetetään nastan 5 kautta ja siirtonopeus 115200 nykyaikaiselle digitaalimittarille (DSMR 4 ja 5). Signaali on päinvastainen (matala on 1 ja korkea on 0). Vanhemmille tyypeille (DSMR 3 ja sitä vanhemmat) nopeus on 9600 baudia. Tällaiselle mittarille sinun on muutettava siirtonopeutta seuraavan vaiheen laiteohjelmistokoodissa: muuta riviä Serial.begin (115200); asennuksessa ().

NPN-transistorin rooli on kaksijakoinen:

  • Käänteinen signaali, jotta ESP8266 ymmärtää sen.
  • Vaihda logiikkataso P1-portin 5 V: sta ESP8266: n RX-portin odottamaan 3,3 V: iin.

Luo siis elektroninen piiri leipälevylle kuten kaaviossa. Kondensaattori lisää vakautta, mutta toimii myös ilman.

Älä kytke RX -nastausta, kunnes olet ohjelmoinut ESP8266: n seuraavassa vaiheessa. Itse asiassa RX -nasta tarvitaan myös kommunikoimaan USB: n kautta ESP8266: n ja tietokoneen välillä.

Vaihe 4: Lataa koodi

Olen asettanut koodin saataville GitHubissa, se on vain yksi tiedosto: P1-Meter-Reader.ino. Lataa se ja avaa se Arduino IDE: ssä. Tai voit valita Tiedosto - Uusi ja kopioida/liittää koodin.

Sinun on täytettävä joitakin tietoja tiedoston alussa: käytettävän WLAN -verkon nimi ja salasana sekä ThingSpeak -kanavan kanavatunnus ja Write API -avain.

Koodi toimii seuraavasti:

  • Lukee datasähkeen mittarista joka UPDATE_INTERVAL (millisekunteina). Oletusarvo on 10 sekunnin välein. Normaalisti mittarista lähetetään tietosähke joka sekunti, mutta taajuuden asettaminen korkealle ylikuormittaa ESP8266: n, joten se ei voi enää käyttää verkkopalvelinta.
  • Lataa sähkötiedot Thingspeak -kanavalle joka SEND_INTERVAL (millisekunteina). Oletusarvo on joka minuutti. Päättäessäsi tästä taajuudesta ota huomioon, että tietojen lähettäminen kestää jonkin aikaa (tyypillisesti muutaman sekunnin) ja että ilmaisen tilin päivitystiheys on rajoitettu Thingspeakissa. Se on noin 8200 viestiä päivässä, joten suurin taajuus olisi noin kerran 10 sekunnissa, jos et käytä Thingspeakia mihinkään muuhun.
  • Lataa kaasutiedot, kun ne muuttuvat. Tyypillisesti mittari päivittää kaasun kulutustiedot vain noin 4 minuutin välein.
  • Mittari seuraa kokonaiskulutusta ja ruiskutusarvoja alusta lähtien. Joten päivittäisen kulutuksen ja injektion saamiseksi koodi tallentaa kokonaisarvot keskiyöllä joka päivä. Sitten nämä arvot vähennetään nykyisistä kokonaisarvoista. Keskiyön arvot tallennetaan SPIFFS (SPI Flash File System) -järjestelmään, joka säilyy, jos ESP8266 menettää virran tai vaikka se ohjelmoidaan uudelleen.
  • ESP8266 käyttää mini -verkkopalvelinta. Jos avaat sen IP -osoitteen selaimessasi, saat yleiskuvan kaikista nykyisistä sähkön ja kaasun arvoista. Nämä ovat viimeisimmästä sähkeestä ja sisältävät tietoja, joita ei ole ladattu Thingspeakiin, kuten jännitteet ja virrat vaiheittain. Oletusasetus on, että reititin määrittää IP -osoitteen dynaamisesti. Mutta on kätevämpää käyttää staattista IP -osoitetta, joka on aina sama. Tällöin sinun on syötettävä koodiin staticIP, yhdyskäytävä, dns ja aliverkko ja poistettava rivi WiFi.config (staticIP, dns, gateway, subnet); toiminnossa connectWifi ().

Kun olet tehnyt nämä muutokset, olet valmis lataamaan laiteohjelmiston ESP8266 -laitteeseen. Liitä ESP8266 tietokoneeseen USB -kaapelin kautta ja paina Arduino IDE: n nuolikuvaketta. Jos et pysty muodostamaan yhteyttä ESP8266 -laitteeseen, kokeile vaihtaa COM -porttia Työkalut - Portti -valikosta. Jos se ei vieläkään toimi, on mahdollista asentaa manuaalisesti USB -virtuaalisen COM -portin ohjain.

Vaihe 5: Testaus

Kun olet ladannut laiteohjelmiston, irrota USB ja kytke ESP8266: n RX -johto. Muista, että tarvitsimme ESP8266: n RX -kanavan laiteohjelmiston lataamiseen, joten emme yhdistäneet sitä aiemmin. Liitä nyt RJ12 -katkaisija digitaalimittariin ja kytke ESP8266 uudelleen tietokoneeseen.

Avaa Arduino IDE: ssä Sarjamonitori Työkalut -valikosta ja varmista, että se on asetettu 115200 baudiin. Jos joudut muuttamaan siirtonopeutta, sinun on ehkä suljettava ja avattava sarjamonitori uudelleen ennen kuin se toimii.

Nyt sinun pitäisi nähdä koodin lähtö Serial Monitorissa. Tarkista, onko virheilmoituksia. Lisäksi sinun pitäisi pystyä näkemään sähkeet. Minusta ne näyttävät tältä:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Sarjanumeromittari heksadesimaali 0-0: 1.0.0 (200831181442S) // Aikaleima S: kesäaika (kesä), L: ei kesäaika (talvi) 1-0: 1.8.1 (000016.308*kWh) // Nettohuippukulutus yhteensä 1-0: 1.8.2 (000029,666*kWh) // Nettokulutus yhteensä 1-0: 2.8.1 (000138.634*kWh) // Nettoinjektion huippu kokonaisuudessaan 1-0: 2.8.2 (000042.415*kWh) // Huippuvaiheen nettosuihkutus yhteensä 0-0: 96.14.0 (0001) // Tariffi 1: huippu, 2: piikin ulkopuolella 1-0: 1.7.0 (00.000*kW) // Virrankulutus 1-0: 2.7.0 (00.553*kW) // Virran syöttö 1-0: 32.7.0 (235.8*V) // Vaihe 1 jännite 1-0: 52.7.0 (237.0*V) // Vaiheen 2 jännite 1-0: 72.7.0 (237.8*V) // Vaiheen 3 jännite 1-0: 31.7.0 (001*A) // Vaiheen 1 virta 1-0: 51.7.0 (000*A) // Vaiheen 2 virta 1-0: 71.7.0 (004*A) // Vaiheen 3 virta 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kW) // Suurin teho 1-0: 31.4.0 (999*A) // Suurin virta 0-0: 96.13.0 () // Viesti 0-1: 24.1.0 (003) // muut laitteet M-väylällä 0-1: 96.1.1 (37464C4F32313230313037393338) // Sarjanumero kaasumete r heksadesimaali 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Kaasun aikaleiman kokonaiskulutus! E461 // CRC16-tarkistussumma

Jos jokin on vialla, voit tarkistaa, onko sinulla samat tunnisteet, ja joudut mahdollisesti vaihtamaan sähkeen jäsentävän koodin funktiossa readTelegram.

Jos kaikki toimii, voit nyt käyttää esp8266 -laitetta USB -laturilla.

Asenna IoT ThingSpeak Monitor -sovellus älypuhelimeesi, täytä kanavatunnus ja Read API -avain ja olet valmis!

Suositeltava: