Satura rādītājs:

Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak: 5 soļi
Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak: 5 soļi

Video: Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak: 5 soļi

Video: Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak: 5 soļi
Video: Ar ko dzīvokļu īpašnieku biedrībai ir jāsāk nama pārvaldīšanas uzdevums? | Semināra ieraksts 2024, Novembris
Anonim
Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak
Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak
Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak
Izlasiet elektrības un gāzes skaitītāju (beļģu/holandiešu) un augšupielādējiet vietnē Thingspeak

Ja jums ir bažas par enerģijas patēriņu vai tikai mazliet nerd, jūs, iespējams, vēlaties viedtālrunī redzēt datus no sava izdomātā jaunā digitālā skaitītāja.

Šajā projektā mēs iegūsim pašreizējos datus no Beļģijas vai Nīderlandes digitālā elektrības un gāzes skaitītāja un augšupielādēsim to vietnē Thingspeak. Šie dati ietver pašreizējo un ikdienas enerģijas patēriņu un iesmidzināšanu (ja jums ir saules paneļi), spriegumu un strāvu, kā arī gāzes patēriņu (ja elektrības skaitītājam ir pievienots digitālais gāzes skaitītājs). Izmantojot lietotni, šīs vērtības viedtālrunī var nolasīt reāllaikā.

Tas darbojas Beļģijas vai Nīderlandes digitālajam skaitītājam, kas atbilst DSMR (holandiešu viedo skaitītāju prasību) protokolam, kam vajadzētu būt visiem pēdējiem skaitītājiem. Ja jūs dzīvojat kaut kur citur, diemžēl jūsu skaitītājs, iespējams, izmantos citu protokolu. Tāpēc es baidos, ka šis Instructable ir nedaudz reģionāli ierobežots.

Mēs izmantosim skaitītāja P1 portu, kas pieņem RJ11/RJ12 kabeli, sarunvalodā pazīstamu kā telefona kabeli. Pārliecinieties, vai skaitītāja uzstādītājs ir aktivizējis P1 portu. Piemēram, attiecībā uz Fluvius Beļģijā izpildiet šos norādījumus.

Lai apstrādātu datus un augšupielādētu internetā, mēs izmantojam ESP8266, kas ir lēta mikroshēma ar iebūvētu wifi. Tas maksā tikai 2 dolārus. Turklāt to var ieprogrammēt, izmantojot Arduino IDE. Mēs glabājam datus mākonī vietnē Thingspeak, kas ir bezmaksas ne vairāk kā četriem kanāliem. Šim projektam mēs izmantojam tikai vienu kanālu. Pēc tam datus var parādīt viedtālrunī, izmantojot tādu lietotni kā IoT ThingSpeak.

Daļas:

  • Viens ESP8266, piemēram, nodemcu v2. Ņemiet vērā, ka nodemcu v3 ir pārāk plašs standarta maizei, tāpēc es dodu priekšroku v2.
  • Mikro USB -USB kabelis.
  • USB lādētājs.
  • Viens BC547b NPN tranzistors.
  • Divi 10k rezistori un viens 1k rezistors.
  • Viens RJ12 skrūves spaiļu savienotājs.
  • Maizes dēlis.
  • Jumper vadi.
  • Pēc izvēles: viens 1nF kondensators.

Kopumā tas maksā apmēram 15 EUR AliExpress vai tamlīdzīgi. Aprēķinā tiek ņemts vērā, ka daži komponenti, piemēram, rezistori, tranzistori un vadi, tiek piegādāti daudz lielākos daudzumos, nekā nepieciešams šim projektam. Tātad, ja jums jau ir komponentu komplekts, tas būs lētāk.

1. darbība. Iepazīstieties ar ESP8266

Es izvēlējos NodeMCU v2, jo nav nepieciešama lodēšana, un tam ir mikro USB savienojums, kas ļauj viegli programmēt. NodeMCU v2 priekšrocība salīdzinājumā ar NodeMCU v3 ir tā, ka tā ir pietiekami maza, lai ietilptu uz maizes dēļa un atstātu brīvus caurumus savienošanai. Tāpēc labāk izvairīties no NodeMCU v3. Tomēr, ja vēlaties citu ESP8266 plati, tas arī ir labi.

ESP8266 var viegli ieprogrammēt, izmantojot Arduino IDE. Ir arī citi norādījumi, kas to sīki izskaidro, tāpēc es šeit runāšu ļoti īsi.

  • Vispirms lejupielādējiet Arduino IDE.
  • Otrais ESP8266 plates instalēšanas atbalsts. Izvēlnē Fails - Preferences - Iestatījumi pievienojiet vietrādi URL https://arduino.esp8266.com/stable/package_esp8266com_index.json papildu valdes pārvaldnieka vietrāžiem URL. Tālāk izvēlnē Rīki - Dēlis - Dēļu pārvaldnieks instalējiet kopienu esp8266 by esp8266.
  • Treškārt, izvēlieties dēli, kas ir vistuvāk jūsu ESP8266. Manā gadījumā es izvēlējos NodeMCU v1.0 (ESP 12-E modulis).
  • Visbeidzot sadaļā Rīki - zibspuldzes izmērs izvēlieties izmēru, kas ietver SPIFFS, piemēram, 4M (1 miljons SPIFFS). Šajā projektā mēs izmantojam SPIFFS (SPI Flash File System), lai saglabātu ikdienas enerģijas vērtības, lai tās netiktu zaudētas, ja ESP8266 zaudē jaudu un pat tad, ja tas tiek pārprogrammēts.

Tagad mums ir viss, lai ieprogrammētu ESP8266! Mēs apspriedīsim faktisko kodu vēlāk. Vispirms izveidosim Thingspeak kontu.

2. darbība. Izveidojiet Thingspeak kontu un kanālu

Dodieties uz vietni https://thingspeak.com/ un izveidojiet kontu. Kad esat pieteicies, noklikšķiniet uz pogas Jauns kanāls, lai izveidotu kanālu. Kanāla iestatījumos aizpildiet nosaukumu un aprakstu, kā vēlaties. Tālāk mēs nosaucam kanāla laukus un aktivizējam tos, noklikšķinot uz izvēles rūtiņām labajā pusē. Ja manu kodu izmantojat nemainīgu, lauki ir šādi:

  • 1. lauks: maksimālais patēriņš šodien (kWh)
  • 2. lauks: patēriņš ārpus pīķa šodien (kWh)
  • 3. lauks: maksimālā iesmidzināšana šodien (kWh)
  • 4. lauks: iesmidzināšana ārpus pīķa šodien (kWh)
  • 5. lauks: pašreizējais patēriņš (W)
  • 6. lauks: strāvas iesmidzināšana (W)
  • 7. lauks: gāzes patēriņš šodien (m3)

Šeit maksimums un pīķa laiks attiecas uz elektroenerģijas tarifu. 1. un 2. laukā patēriņš attiecas uz neto elektroenerģijas patēriņu šodien: elektroenerģijas patēriņš šodien tarifa periodā kopš pusnakts mīnus elektroenerģijas ievadīšana (ko ražo saules paneļi) šodien tarifa periodā kopš pusnakts ar minimālo nulli. Pēdējais nozīmē, ka, ja šodien bija vairāk injekciju nekā patēriņš, vērtība ir nulle. Tāpat iesmidzināšana 3. un 4. laukā attiecas uz elektrības neto iesmidzināšanu. 5. un 6. lauks norāda neto patēriņu un injekcijas pašreizējā brīdī. Visbeidzot, 7. lauks ir gāzes patēriņš kopš pusnakts.

Turpmāk uzrakstiet kanāla ID, lasīšanas API atslēgu un rakstīšanas API atslēgu, kas atrodami izvēlnes API atslēgās.

3. darbība: elektroniskās shēmas izveide

Elektroniskās shēmas izveide
Elektroniskās shēmas izveide
Elektroniskās shēmas izveide
Elektroniskās shēmas izveide

Mēs nolasām elektrības skaitītāju, izmantojot P1 portu, kas aizņem RJ11 vai RJ12 kabeli. Atšķirība ir tāda, ka RJ12 kabelim ir 6 vadi, bet RJ11 ir tikai 4. Šajā projektā mēs nebarojam ESP8266 no P1 porta, tāpēc mums faktiski ir nepieciešami tikai 4 vadi, tāpēc RJ11 to darītu.

Es izmantoju attēlā redzamo RJ12 izlaušanos. Tas ir nedaudz plats, un manā skaitītājā nav daudz vietas ap P1 portu. Tas der, bet ir cieši. Varat arī izmantot RJ11 vai RJ12 kabeli un vienā galā noņemt galveni.

Ja turat izlaušanos, kā parādīts attēlā, tapas ir numurētas no labās uz kreiso pusi, un tām ir šāda nozīme:

  • 1. tapa: 5 V barošanas avots
  • 2. tapa: datu pieprasījums
  • 3. tapa: datu pamatojums
  • 4. tapa: nav pievienots
  • 5. tapa: datu līnija
  • 6. tapa: strāvas zemējums

ESP8266 barošanai var izmantot 1. un 6. tapu, taču es to neesmu pārbaudījis. Jums vajadzētu pieslēgt tapu 1 ar ESP8266 Vin, tāpēc plates iekšējais sprieguma regulators tiek izmantots, lai samazinātu spriegumu no 5 V līdz 3,3 V, ko pieņem ESP8266. Tāpēc nepievienojiet to 3,3 V tapai, jo tas var sabojāt ESP8266. Arī barošana no P1 porta laika gaitā iztukšotu digitālā skaitītāja akumulatoru.

Augstās tapas 2 iestatīšana signalizē mērierīcei nosūtīt datu telegrammas katru sekundi. Faktiskie dati tiek nosūtīti, izmantojot 5. tapu ar pārraides ātrumu 115200 mūsdienīgam digitālajam skaitītājam (DSMR 4 un 5). Signāls ir apgriezts (zems ir 1 un augsts ir 0). Vecākam tipam (DSMR 3 un zemāk) ātrums ir 9600 baudu. Šādam skaitītājam nākamās darbības programmaparatūras kodā ir jāmaina bodu ātrums: nomainiet rindu Serial.begin (115200); iestatīšanas laikā ().

NPN tranzistora loma ir divējāda:

  • Lai mainītu signālu, lai ESP8266 to saprastu.
  • Lai mainītu loģikas līmeni no P1 porta 5V uz 3.3V, ko sagaida ESP8266 RX ports.

Tāpēc izveidojiet elektronisko shēmu uz maizes dēļa, kā parādīts diagrammā. Kondensators palielina stabilitāti, taču tas darbojas arī bez tā.

Turiet pieslēgtu RX tapu, līdz nākamajā darbībā esat ieprogrammējis ESP8266. Patiešām, RX tapa ir nepieciešama arī, lai sazinātos pa USB starp ESP8266 un datoru.

4. darbība: augšupielādējiet kodu

Esmu padarījis kodu pieejamu vietnē GitHub, tas ir tikai viens fails: P1-Meter-Reader.ino. Vienkārši lejupielādējiet to un atveriet to Arduino IDE. Vai arī varat izvēlēties Fails - Jauns un vienkārši kopējiet/ielīmējiet kodu.

Faila sākumā ir jāaizpilda informācija: lietojamā WLAN nosaukums un parole, kā arī ThingSpeak kanāla kanāla ID un rakstīšanas API atslēga.

Kods veic šādas darbības:

  • Katru UPDATE_INTERVAL (milisekundēs) nolasa datu telegrammu no skaitītāja. Noklusējuma vērtība ir ik pēc 10 sekundēm. Parasti katru sekundi no skaitītāja tiek nosūtīta datu telegramma, taču, iestatot frekvenci uz augstu, ESP8266 tiks pārslogota, lai tas vairs nevarētu palaist tīmekļa serveri.
  • Katru SEND_INTERVAL (milisekundēs) augšupielādē elektrības datus Thingspeak kanālā. Noklusējuma vērtība ir katra minūte. Lai izlemtu par šo biežumu, ņemiet vērā, ka datu nosūtīšana prasa zināmu laiku (parasti dažas sekundes) un ka bezmaksas kontam ir ierobežots atjaunināšanas biežums pakalpojumā Thingspeak. Tas ir aptuveni 8200 ziņojumi dienā, tāpēc maksimālais biežums būtu aptuveni reizi 10 sekundēs, ja lietosiet lietu nevis citam.
  • Augšupielādē gāzes datus, kad tie mainās. Parasti skaitītājs atjaunina gāzes patēriņa datus tikai ik pēc 4 minūtēm.
  • Skaitītājs seko kopējam patēriņam un iesmidzināšanas vērtībām kopš sākuma. Tātad, lai iegūtu ikdienas patēriņu un injekciju, kods saglabā kopējās vērtības pusnaktī katru dienu. Tad šīs vērtības tiek atņemtas no pašreizējām kopējām vērtībām. Pusnakts vērtības tiek saglabātas SPIFFS (SPI Flash File System), kas saglabājas, ja ESP8266 zaudē enerģiju vai pat tiek pārprogrammēts.
  • ESP8266 vada mini tīmekļa serveri. Ja pārlūkprogrammā atverat tās IP adresi, jūs saņemsiet pārskatu par visām pašreizējām elektroenerģijas un gāzes vērtībām. Tie ir no jaunākās telegrammas, un tajos ir ietverta informācija, kas nav augšupielādēta vietnē Thingspeak, piemēram, spriegumi un strāvas katrā fāzē. Noklusējuma iestatījums ir tāds, ka maršrutētājs dinamiski nosaka IP adresi. Bet ērtāk ir izmantot statisku IP adresi, kas vienmēr ir viena un tā pati. Šādā gadījumā kodā jāaizpilda staticIP, vārteja, dns un apakštīkls un jāatceļ rindiņa WiFi.config (staticIP, dns, vārteja, apakštīkls); funkcijā connectWifi ().

Pēc šo izmaiņu veikšanas esat gatavs augšupielādēt programmaparatūru ESP8266. Savienojiet ESP8266 ar USB kabeli ar datoru un nospiediet ikonu ar bultiņu Arduino IDE. Ja jums neizdodas izveidot savienojumu ar ESP8266, pamēģiniet mainīt COM portu izvēlnē Tools - Port. Ja tas joprojām nedarbojas, iespējams, jums ir manuāli jāinstalē USB virtuālā COM porta draiveris.

5. darbība: pārbaude

Pēc programmaparatūras augšupielādes atvienojiet USB un pievienojiet ESP8266 RX vadu. Atcerieties, ka programmaparatūras augšupielādei mums bija nepieciešams ESP8266 RX kanāls, tāpēc mēs to iepriekš nepievienojām. Tagad pievienojiet RJ12 izlaušanos digitālajā mērītājā un atkārtoti pievienojiet ESP8266 datoram.

Arduino IDE atveriet seriālo monitoru, izmantojot izvēlni Rīki, un pārliecinieties, vai tas ir iestatīts uz 115200 bodu. Ja jums ir jāmaina bodu pārraides ātrums, iespējams, jums ir jāaizver un vēlreiz jāatver seriālais monitors, pirms tas darbojas.

Tagad jums vajadzētu redzēt koda izvadi sērijas monitorā. Jums jāpārbauda, vai nav kļūdu ziņojumu. Jums vajadzētu arī redzēt telegrammas. Man tie izskatās šādi:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Sērijas skaitītāja heksadecimālais skaitlis 0-0: 1.0.0 (200831181442S) // Laika zīmogs S: vasaras laiks (vasara), W: nē vasaras laiks (ziemā) 1-0: 1.8.1 (000016.308*kWh) // Kopējais maksimālais neto patēriņš 1-0: 1.8.2 (000029,666*kWh) // Kopējais neto patēriņš ārpus pīķa 1-0: 2.8.1 (000138.634*kWh) // Kopējā maksimālā neto injekcija 1-0: 2.8.2 (000042.415*kWh) // Kopējā neto injekcija ārpus pīķa 0-0: 96.14.0 (0001) // 1. tarifs: maksimums, 2: ārpus pīķa 1-0: 1.7.0 (00.000*kW) // strāvas patēriņš 1-0: 2.7.0 (00.553*kW) // strāvas iesmidzināšana 1-0: 32.7.0 (235.8*V) // fāze 1 spriegums 1-0: 52.7.0 (237.0*V) // 2. fāzes spriegums 1-0: 72.7.0 (237.8*V) // 3. fāzes spriegums 1-0: 31.7.0 (001*A) // 1. fāzes strāva 1-0: 51.7.0 (000*A) // 2. fāzes strāva 1-0: 71.7.0 (004*A) // 3. fāzes strāva 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kW) // Maksimālā jauda 1-0: 31.4.0 (999*A) // Maksimālā strāva 0-0: 96.13.0 () // Ziņojums 0-1: 24.1.0 (003) // citas ierīces M-bus 0-1: 96.1.1 (37464C4F32313230313037393338) // Sērijas numurs gāzes mete r heksadecimālais 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Gāzes laika zīmoga kopējais patēriņš! E461 // CRC16 kontrolsumma

Ja kaut kas nav kārtībā, varat pārbaudīt, vai jums ir vienādi tagi, un, iespējams, jums ir jāmaina kods, kas analizē telegrammas funkcijā readTelegram.

Ja viss darbojas, esp8266 tagad var darbināt no USB lādētāja.

Instalējiet viedtālrunī lietotni IoT ThingSpeak Monitor, aizpildiet kanāla ID un lasīšanas API atslēgu, un viss ir izdarīts!

Ieteicams: