Përmbajtje:

Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak: 5 hapa
Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak: 5 hapa

Video: Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak: 5 hapa

Video: Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak: 5 hapa
Video: Part 4 - Dracula Audiobook by Bram Stoker (Chs 13-15) 2024, Qershor
Anonim
Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak
Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak
Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak
Lexoni njehsorin e energjisë elektrike dhe gazit (belg/holandez) dhe ngarkoni në Thingspeak

Nëse jeni të shqetësuar për konsumin tuaj të energjisë ose thjesht një budalla, ju ndoshta dëshironi të shihni të dhënat nga njehsori juaj i ri dixhital i zgjuar në smartphone tuaj.

Në këtë projekt ne do të marrim të dhënat aktuale nga një njehsor dixhital elektrik dhe gazi belg ose holandez dhe do t'i ngarkojmë ato në Thingspeak. Këto të dhëna përfshijnë konsumin dhe injektimin aktual dhe ditor të energjisë (nëse keni panele diellore), tensionet dhe rrymat, dhe konsumin e gazit (nëse një njehsor dixhital i gazit është i lidhur me njehsorin e energjisë elektrike). Përmes një aplikacioni, këto vlera mund të lexohen në kohë reale në smartphone tuaj.

Punon për një njehsor dixhital belg ose holandez që ndjek protokollin DSMR (Kërkesat e Matësit të Zgjuar Holandez), i cili duhet të jetë i gjithë njehsori i fundit. Nëse jetoni diku tjetër, për fat të keq, matësi juaj ka të ngjarë të përdorë një protokoll tjetër. Kështu që kam frikë se ky Instructable është pak i kufizuar nga rajoni.

Ne do të përdorim portën P1 të njehsorit, e cila pranon një kabllo RJ11/RJ12, e njohur në gjuhën popullore si një kabllo telefonike. Sigurohuni që instaluesi i njehsorit të ketë aktivizuar portën P1. Për shembull, për Fluvius në Belgjikë ndiqni këto udhëzime.

Për të përpunuar të dhënat dhe ngarkuar në internet, ne përdorim një ESP8266, i cili është një mikroçip i lirë me wifi të integruar. Kushton vetëm rreth 2 dollarë. Për më tepër mund të programohet duke përdorur Arduino IDE. Ne i ruajmë të dhënat në cloud në Thingspeak, i cili është falas për një maksimum prej katër kanalesh. Për këtë projekt ne përdorim vetëm një kanal. Të dhënat mund të shfaqen në smartphone tuaj duke përdorur një aplikacion si IoT ThingSpeak.

Pjesët:

  • Një ESP8266, si një nodemcu v2. Vini re se nodemcu v3 është shumë i gjerë për një pjatë standarde, kështu që unë preferoj v2.
  • Një kabllo mikro USB në USB.
  • Një karikues USB.
  • Një transistor BC547b NPN.
  • Dy rezistenca 10k dhe një rezistencë 1k.
  • Një lidhës i terminalit me vida RJ12.
  • Një dërrasë buke.
  • Telat e kërcyesit.
  • Opsionale: një kondensator 1nF.

Në total, kjo kushton diçka si 15 EUR në AliExpress ose të ngjashme. Vlerësimi merr parasysh se disa përbërës si rezistorët, transistorët dhe telat, vijnë në sasi shumë më të mëdha sesa keni nevojë për këtë projekt. Pra, nëse tashmë keni një komponent komponentësh do të jetë më e lirë.

Hapi 1: Njohja me ESP8266

Zgjodha NodeMCU v2, pasi nuk kërkohet bashkim dhe ka një lidhje mikro USB që lejon programim të lehtë. Avantazhi i NodeMCU v2 mbi NodeMCU v3 është se është mjaft i vogël për t'u përshtatur në një pjatë dhe për të lënë vrima të lira anash për të bërë lidhje. Pra, është më mirë të shmangni NodeMCU v3. Sidoqoftë, nëse preferoni një bord tjetër ESP8266 që është gjithashtu mirë.

ESP8266 mund të programohet lehtësisht duke përdorur Arduino IDE. Ka udhëzues të tjerë që e shpjegojnë këtë në detaje, kështu që unë do të jem shumë i shkurtër këtu.

  • Fillimisht shkarkoni Arduino IDE.
  • Instalimi i dytë mbështetës për bordin ESP8266. Në menynë Skedari - Preferencat - Cilësimet shtoni URL -në https://arduino.esp8266.com/stable/package_esp8266com_index.json te URL -të shtesë të Menaxherit të Bordit. Tjetra në menynë Tools - Board - Boards Manager install esp8266 by esp8266 community.
  • Së treti, zgjidhni tabelën më të afërt me ESP8266 tuaj. Në rastin tim zgjodha NodeMCU v1.0 (Moduli ESP 12-E).
  • Më në fund zgjidhni nën Mjetet - Madhësia e Flashit, një madhësi që përfshin SPIFFS, si 4M (1M SPIFFS). Në këtë projekt ne përdorim SPIFFS (SPI Flash File System) për të ruajtur vlerat ditore të energjisë, në mënyrë që ato të mos humbasin nëse ESP8266 humbet energjinë dhe madje edhe kur riprogramohet.

Tani kemi gjithçka në vend për të programuar ESP8266! Ne do të diskutojmë kodin aktual në një hap të mëvonshëm. Së pari ne do të bëjmë një llogari Thingspeak.

Hapi 2: Krijoni një llogari dhe kanal Thingspeak

Shkoni te https://thingspeak.com/ dhe krijoni një llogari. Pasi të jeni regjistruar, klikoni butonin New Channel për të krijuar një kanal. Në Cilësimet e Kanalit plotësoni emrin dhe përshkrimin sipas dëshirës tuaj. Tjetra ne i emërtojmë fushat e kanalit dhe i aktivizojmë duke klikuar kutitë e zgjedhjes në të djathtë. Nëse përdorni kodin tim të pandryshuar, fushat janë si më poshtë:

  • Fusha 1: Konsumi maksimal sot (kWh)
  • Fusha 2: Konsumi jashtë pikut sot (kWh)
  • Fusha 3: injeksioni maksimal sot (kWh)
  • Fusha 4: Injeksion jashtë pikut sot (kWh)
  • Fusha 5: konsumi aktual (W)
  • Fusha 6: injeksioni aktual (W)
  • Fusha 7: Konsumi i gazit sot (m3)

Këtu, piku dhe jashtë pikut i referohen tarifës së energjisë elektrike. Në fushat 1 dhe 2 konsumi i referohet konsumit neto të energjisë elektrike sot: konsumi i energjisë elektrike sot në periudhën tarifore që nga mesnata minus injektimin e energjisë elektrike (prodhuar nga panelet diellore) sot në periudhën tarifore që nga mesnata me një minimum zero. Kjo e fundit do të thotë që nëse do të kishte më shumë injeksion sesa konsum sot vlera është zero. Po kështu, injeksioni në fushat 3 dhe 4 i referohet injektimit neto të energjisë elektrike. Fusha 5 dhe 6 tregojnë konsumin neto dhe injektimin në momentin aktual. Së fundi fusha 7 është konsumi i gazit që nga mesnata.

Për referencë në të ardhmen shënoni ID -në e Kanalit, Çelësin API të Lexuar dhe Çelësin Shkruaj API, të cilat mund të gjenden në çelësat e menysë API.

Hapi 3: Ndërtimi i qarkut elektronik

Ndërtimi i një qarku elektronik
Ndërtimi i një qarku elektronik
Ndërtimi i një qarku elektronik
Ndërtimi i një qarku elektronik

Ne lexojmë matësin e energjisë elektrike duke përdorur portën P1, e cila merr një kabllo RJ11 ose RJ12. Dallimi është se kablloja RJ12 ka 6 tela ndërsa RJ11 ka vetëm 4. Në këtë projekt ne nuk e furnizojmë ESP8266 nga porti P1, kështu që në fakt na duhen vetëm 4 tela, kështu që do të kishte një RJ11.

Kam përdorur prishjen RJ12 të treguar në figurë. Ashtë pak e gjerë dhe nuk ka shumë hapësirë rreth portit P1 në njehsorin tim. Përshtatet, por është e ngushtë. Përndryshe, thjesht mund të përdorni një kabllo RJ11 ose RJ12 dhe të hiqni kokën nga njëra anë.

Nëse mbani shpërthimin si në foto, kunjat numërohen nga e djathta në të majtë dhe kanë kuptimin e mëposhtëm:

  • Pin 1: Furnizimi me energji 5V
  • Pin 2: Kërkesa për të dhëna
  • Pin 3: Data Ground
  • Pin 4: nuk është i lidhur
  • Pin 5: Linja e të dhënave
  • Pin 6: Tokëzimi i energjisë

Pin 1 dhe Pin 6 mund të përdoren për të fuqizuar ESP8266, por unë nuk e kam testuar këtë. Ju do të duhet të lidhni Pin 1 me Vin të ESP8266, kështu që rregullatori i tensionit të brendshëm të bordit përdoret për të zvogëluar tensionin nga 5V në 3.3V që pranon ESP8266. Pra, mos e lidhni me pin 3.3V, sepse kjo mund të dëmtojë ESP8266. Gjithashtu furnizimi me energji nga porti P1 me kalimin e kohës do të shkarkonte baterinë e njehsorit dixhital.

Vendosja e pinit 2 sinjalizon lart njehsorin për të dërguar telegrame të dhënash çdo sekondë. Të dhënat aktuale dërgohen mbi Pin 5 me një normë baud prej 115200 për një njehsor dixhital modern (DSMR 4 dhe 5). Sinjali është i kundërt (i ulët është 1 dhe i lartë është 0). Për një tip më të vjetër (DSMR 3 dhe më poshtë) norma është 9600 baud. Për një njehsor të tillë ju duhet të ndryshoni normën e baudit në kodin e firmuerit të hapit tjetër: ndryshoni linjën Serial.begin (115200); në konfigurim ().

Roli i transistorit NPN është i dyfishtë:

  • Për ta kthyer sinjalin në mënyrë që ESP8266 ta kuptojë atë.
  • Për të ndryshuar nivelin logjik nga 5V të portit P1 në 3.3V të pritur nga porti RX i ESP8266.

Pra krijoni qarkun elektronik në tabelën e bukës si në diagram. Kondensatori rrit stabilitetin, por gjithashtu punon pa.

Ndaloni lidhjen e kunjit RX derisa të keni programuar ESP8266 në hapin tjetër. Në të vërtetë, kunja RX është gjithashtu e nevojshme për të komunikuar përmes USB midis ESP8266 dhe kompjuterit tuaj.

Hapi 4: Ngarko kodin

Unë e kam vënë kodin në dispozicion në GitHub, është vetëm një skedar: P1-Meter-Reader.ino. Thjesht shkarkoni dhe hapeni në Arduino IDE. Ose mund të zgjidhni File - New dhe thjesht kopjoni/ngjisni kodin.

Ka disa informacione që duhet të plotësoni në fillim të skedarit: emrin dhe fjalëkalimin e WLAN për t'u përdorur, dhe ID -në e Kanalit dhe Shkruani Çelësin API të ThingSpeak Channel.

Kodi bën sa më poshtë:

  • Lexon një telegram të dhënash nga njehsori çdo UPDATE_INTERVAL (në milisekonda). Vlera e paracaktuar është çdo 10 sekonda. Normalisht, ka një telegram të dhënash nga njehsori çdo sekondë, por vendosja e frekuencës në të lartë do të mbingarkojë ESP8266 kështu që nuk mund të ekzekutojë më serverin e uebit.
  • Ngarkon të dhënat e energjisë elektrike në kanalin Thingspeak çdo SEND_INTERVAL (në milisekonda). Vlera e paracaktuar është çdo minutë. Për të vendosur për këtë frekuencë merrni parasysh që dërgimi i të dhënave kërkon pak kohë (zakonisht disa sekonda) dhe se ka një kufi në frekuencën e përditësimit në Thingspeak për një llogari falas. Bëhet fjalë për 8200 mesazhe në ditë, kështu që frekuenca maksimale do të ishte rreth një herë në 10 sekonda nëse nuk përdorni Thingspeak për asgjë tjetër.
  • Ngarko të dhënat e gazit kur ato ndryshojnë. Në mënyrë tipike, njehsori përditëson të dhënat e konsumit të gazit vetëm çdo 4 minuta.
  • Matësi mban gjurmët e konsumit total dhe vlerave të injektimit që nga fillimi. Pra, për të marrë konsumin dhe injeksionin ditor, kodi kursen vlerat totale në mesnatë çdo ditë. Pastaj këto vlera zbriten nga vlerat totale aktuale. Vlerat në mesnatë ruhen në SPIFFS (SPI Flash File System), e cila vazhdon nëse ESP8266 humbet energjinë ose edhe kur riprogramohet.
  • ESP8266 drejton një mini server në internet. Nëse hapni adresën e tij IP në shfletuesin tuaj, ju merrni një përmbledhje të të gjitha vlerave aktuale të energjisë elektrike dhe gazit. Këto janë nga telegrami më i fundit dhe përfshijnë informacione që nuk ngarkohen në Thingspeak, si tensionet dhe rrymat për fazë. Cilësimi i paracaktuar është që adresa IP përcaktohet në mënyrë dinamike nga ruteri juaj. Por është më i përshtatshëm të përdorni një adresë IP statike, e cila është gjithmonë e njëjtë. Në këtë rast ju duhet të plotësoni staticIP, gateway, dns dhe subnet në kod dhe të mos komentoni linjën WiFi.config (staticIP, dns, gateway, subnet); në funksionin connectWifi ().

Pasi të keni bërë këto ndryshime, jeni gati të ngarkoni firmuerin në ESP8266. Lidhni ESP8266 përmes kabllit USB me kompjuterin tuaj dhe shtypni ikonën me shigjetën në Arduino IDE. Nëse nuk arrini të lidheni me ESP8266 provoni të ndryshoni portën COM nën menunë Tools - Port. Nëse akoma nuk funksionon, është e mundur që ju duhet të instaloni manualisht drejtuesin për portën virtuale USB COM.

Hapi 5: Testimi

Pas ngarkimit të firmuerit, shkëputni USB -në dhe lidhni tela RX të ESP8266. Mos harroni, ne kishim nevojë për kanalin RX të ESP8266 për ngarkimin e firmuerit, kështu që nuk e lidhëm më parë. Tani lidhni daljen RJ12 në njehsorin dixhital dhe lidheni përsëri ESP8266 me kompjuterin tuaj.

Në Arduino IDE, hapni Monitor Serial përmes menysë Tools dhe sigurohuni që të jetë vendosur në 115200 baud. Nëse duhet të ndryshoni normën e baudit, ndoshta duhet të mbyllni dhe rihapni përsëri Serial Monitor para se të funksionojë.

Tani duhet të shihni daljen e kodit në Serial Monitor. Ju duhet të kontrolloni nëse ka ndonjë mesazh gabimi. Gjithashtu, duhet të jeni në gjendje të shihni telegramet. Për mua ato duken kështu:

/FLU5 / xxxxxxxxx

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Numër serik metër heksadecimal 0-0: 1.0.0 (200831181442S) // Vula kohore S: kursimet e ditës (verë), W: nr kursimet e ditës (dimri) 1-0: 1.8.1 (000016.308*kWh) // Konsumi total maksimal neto 1-0: 1.8.2 (000029.666*kWh) // Konsumi total neto jashtë pikut 1-0: 2.8.1 (000138.634*kWh) // Injektimi total i pikut neto 1-0: 2.8.2 (000042.415*kWh) // Injeksioni total neto jashtë pikut 0-0: 96.14.0 (0001) // Tarifa 1: kulmi, 2: jashtë pikut 1-0: 1.7.0 (00.000*kW) // Konsumi aktual 1-0: 2.7.0 (00.553*kW) // Injeksioni aktual 1-0: 32.7.0 (235.8*V) // Faza 1 tension 1-0: 52.7.0 (237.0*V) // Faza 2 tension 1-0: 72.7.0 (237.8*V) // Faza 3 tension 1-0: 31.7.0 (001*A) // Faza 1 aktuale 1-0: 51.7.0 (000*A) // Faza 2 aktuale 1-0: 71.7.0 (004*A) // Faza 3 aktuale 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*kW) // Fuqia maksimale 1-0: 31.4.0 (999*A) // Rryma maksimale 0-0: 96.13.0 () // Mesazhi 0-1: 24.1.0 (003) // pajisje të tjera në autobusin M 0-1: 96.1.1 (37464C4F32313230313037393338) // Numri serik i gazit mete r heksadecimal 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*m3) // Vlera kohore e gazit konsumi total! E461 // CRC16 grumbull kontrolli

Nëse ka diçka që nuk shkon, mund të kontrolloni nëse keni të njëjtat etiketa dhe ndoshta duhet të ndryshoni kodin duke analizuar telegramet në funksionin e leximitTelegram.

Nëse gjithçka funksionon, tani mund ta aktivizoni esp8266 nga ngarkuesi USB.

Instaloni aplikacionin IoT ThingSpeak Monitor në telefonin tuaj të mençur, plotësoni ID -në e Kanalit dhe Lexoni Çelësin API dhe mbaroni!

Recommended: