Բովանդակություն:

Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak: 5 քայլ
Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak: 5 քայլ

Video: Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak: 5 քայլ

Video: Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak: 5 քայլ
Video: Էլեկտրաէներգիայի նոր սերնդի հաշվիչները 2024, Նոյեմբեր
Anonim
Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak
Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak
Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak
Կարդացեք էլեկտրաէներգիայի և գազի հաշվիչ (բելգիական/հոլանդական) և վերբեռնեք Thingspeak

Եթե ձեզ մտահոգում է ձեր էներգիայի սպառումը կամ պարզապես մի փոքր անհեթեթությունը, հավանաբար ցանկանում եք տեսնել ձեր սմարթֆոնի ձեր նոր շքեղ թվային հաշվիչի տվյալները:

Այս նախագծում մենք ձեռք կբերենք ընթացիկ տվյալները բելգիական կամ հոլանդական էլեկտրաէներգիայի և գազի թվային հաշվիչից և կբեռնենք դրանք Thingspeak- ում: Այս տվյալները ներառում են ընթացիկ և օրական էներգիայի սպառումը և ներարկումը (եթե ունեք արևային վահանակներ), լարումները և հոսանքները և գազի սպառումը (եթե թվային գազաչափը միացված է էլեկտրաէներգիայի հաշվիչին): Հավելվածի միջոցով այս արժեքները կարող են իրական ժամանակում ընթերցվել ձեր սմարթֆոնի վրա:

Այն աշխատում է բելգիական կամ հոլանդական թվային հաշվիչի համար, որը հետևում է DSMR (Dutch Smart Meter Requirements) արձանագրությանը, որը պետք է լինի բոլոր վերջին հաշվիչները: Եթե դուք այլ տեղ եք ապրում, ցավոք, ձեր հաշվիչը, ամենայն հավանականությամբ, կօգտագործի մեկ այլ արձանագրություն: Այսպիսով, ես վախենում եմ, որ այս Instructable- ը մի փոքր տարածաշրջանային սահմանափակում ունի:

Մենք կօգտագործենք հաշվիչի P1- նավահանգիստը, որն ընդունում է RJ11/RJ12 մալուխը, որը խոսակցաբար հայտնի է որպես հեռախոսային մալուխ: Համոզվեք, որ հաշվիչի տեղադրիչը ակտիվացրել է P1 նավահանգիստը: Օրինակ, Բելգիայում գտնվող Ֆլավիուսի համար հետևեք այս հրահանգներին:

Տվյալների մշակման և ինտերնետ ներբեռնելու համար մենք օգտագործում ենք ESP8266- ը, որը էժան միկրոչիպ է `ներկառուցված wifi- ով: Դրա արժեքը ընդամենը 2 դոլար է: Ավելին, այն կարելի է ծրագրավորել Arduino IDE- ի միջոցով: Մենք տվյալները պահում ենք ամպի մեջ Thingspeak- ում, որն անվճար է առավելագույնը չորս ալիքների համար: Այս նախագծի համար մենք օգտագործում ենք միայն մեկ ալիք: Այնուհետև տվյալները կարող են ցուցադրվել ձեր սմարթֆոնում ՝ օգտագործելով այնպիսի ծրագիր, ինչպիսին է IoT ThingSpeak- ը:

Մասեր:

  • Մեկ ESP8266, ինչպես nodemcu v2: Նկատի ունեցեք, որ nodemcu v3- ը չափազանց լայն է ստանդարտ տախտակի համար, ուստի ես նախընտրում եմ v2- ը:
  • Միկրո USB- ից USB մալուխ:
  • USB լիցքավորիչ:
  • Մեկ BC547b NPN տրանզիստոր:
  • Երկու 10k դիմադրություն և մեկ 1k դիմադրություն:
  • Մեկ RJ12 պտուտակային տերմինալի միակցիչ:
  • Հացաթուղթ:
  • Jumper լարերը:
  • Լրացուցիչ `մեկ 1nF կոնդենսատոր:

Ընդհանուր առմամբ, սա AliExpress- ում կամ նման այլ բաներ արժե 15 եվրո: Հաշվարկը հաշվի է առնում, որ որոշ բաղադրիչներ, ինչպիսիք են ռեզիստորները, տրանզիստորները և լարերը, գալիս են շատ ավելի մեծ քանակությամբ, քան անհրաժեշտ է այս նախագծի համար: Այսպիսով, եթե դուք արդեն ունեք բաղադրիչների հավաքածու, դա ավելի էժան կլինի:

Քայլ 1: SPանոթանալ ESP8266- ին

Ես ընտրեցի NodeMCU v2- ը, քանի որ զոդում չի պահանջվում, և այն ունի միկրո USB միացում, որը թույլ է տալիս հեշտ ծրագրավորել: NodeMCU v2- ի առավելությունը NodeMCU v3- ի նկատմամբ այն է, որ այն բավական փոքր է, որպեսզի տեղավորվի տախտակի վրա և կողքերից ազատ անցքեր թողնի `միացումներ կատարելու համար: Այսպիսով, ավելի լավ է խուսափել NodeMCU v3- ից: Այնուամենայնիվ, եթե նախընտրում եք մեկ այլ ESP8266 տախտակ, դա նույնպես լավ է:

ESP8266- ը կարելի է հեշտությամբ ծրագրավորել Arduino IDE- ի միջոցով: Կան այլ հրահանգներ, որոնք դա մանրամասն բացատրում են, ուստի ես այստեղ շատ հակիրճ կլինեմ:

  • Նախ ներբեռնեք Arduino IDE- ն:
  • Երկրորդ տեղադրման աջակցություն ESP8266 տախտակի համար: Fileանկի Ֆայլ - Նախապատվություններ - Կարգավորումներ ավելացրեք URL https://arduino.esp8266.com/stable/package_esp8266com_index.json Լրացուցիչ խորհրդի ղեկավարի URL- ներին: Հաջորդը ընտրացանկում Գործիքներ - Տախտակ - Տախտակների կառավարիչ տեղադրեք esp8266 esp8266 համայնքի կողմից:
  • Երրորդը ընտրեք ձեր ESP8266- ին ամենամոտ գտնվող տախտակը: Իմ դեպքում ես ընտրեցի NodeMCU v1.0 (ESP 12-E մոդուլ):
  • Վերջապես ընտրեք Գործիքներ - Ֆլեշ Չափ, չափ, որը ներառում է SPIFFS, ինչպես 4M (1M SPIFFS): Այս նախագծում մենք օգտագործում ենք SPIFFS- ը (SPI Flash File System) ՝ ամենօրյա էներգիայի արժեքները պահելու համար, որպեսզի դրանք չկորչեն, եթե ESP8266- ը կորցնի էներգիան և նույնիսկ այն ժամանակ, երբ այն նորից ծրագրավորվի:

Այժմ մենք ունենք ամեն ինչ ՝ ESP8266- ը ծրագրավորելու համար: Փաստացի ծածկագիրը մենք կքննարկենք ավելի ուշ: Նախ մենք կկազմենք Thingspeak հաշիվ:

Քայլ 2: Ստեղծեք Thingspeak հաշիվ և ալիք

Գնացեք https://thingspeak.com/ և ստեղծեք հաշիվ: Մուտք գործելուց հետո կտտացրեք Նոր ալիք ՝ ալիք ստեղծելու համար: Ալիքի կարգավորումներում լրացրեք անունն ու նկարագրությունը, ինչպես ցանկանում եք: Հաջորդը մենք անվանում ենք ալիքի դաշտերը և դրանք ակտիվացնում ՝ աջից սեղմելով վանդակները: Եթե դուք օգտագործում եք իմ կոդը անփոփոխ, դաշտերը հետևյալն են.

  • Դաշտ 1. Պիկ սպառումը այսօր (կՎտժ)
  • Դաշտ 2. Այսօրվա պիկ սպառումը (կՎտժ)
  • Դաշտ 3. Պիկ ներարկումն այսօր (կՎտժ)
  • Դաշտ 4. Այսօրվա պիկ ներարկում (կՎտժ)
  • Դաշտ 5: ընթացիկ սպառումը (Վտ)
  • Դաշտ 6: ընթացիկ ներարկում (W)
  • Դաշտ 7. Գազի սպառումը այսօր (մ 3)

Այստեղ գագաթնակետը և ոչ պիկը վերաբերում են էլեկտրաէներգիայի սակագին: 1 -ին և 2 -րդ ոլորտներում սպառումը վերաբերում է այսօրվա էլեկտրաէներգիայի զուտ սպառմանը. Էլեկտրաէներգիայի սպառումը այսօր կեսգիշերից սկսած սակագնային ժամանակահատվածում `հանած էլեկտրաէներգիայի ներարկումը (արտադրված արևային վահանակներով) այսօր` կեսգիշերից սկսած սակագնային ժամանակահատվածում `նվազագույնը զրոյով: Վերջինս նշանակում է, որ եթե այսօր ավելի շատ ներարկում էր, քան սպառումը, ապա արժեքը զրոյական է: Նմանապես, 3 -րդ և 4 -րդ դաշտերում ներարկումը վերաբերում է էլեկտրաէներգիայի զուտ ներարկմանը: 5 -րդ և 6 -րդ դաշտերում նշված է ընթացիկ պահին զուտ սպառումը և ներարկումը: Վերջապես, դաշտ 7 -ը կեսգիշերից գազի սպառումն է:

Հետագա տեղեկությունների համար գրի՛ր Ալիքի ID- ն, Read API- ի բանալին և Write API- ի բանալին, որոնք կարելի է գտնել ընտրացանկի API ստեղներում:

Քայլ 3. Էլեկտրոնային սխեմաների կառուցում

Էլեկտրոնային շղթայի կառուցում
Էլեկտրոնային շղթայի կառուցում
Էլեկտրոնային շղթայի կառուցում
Էլեկտրոնային շղթայի կառուցում

Մենք կարդում ենք էլեկտրաէներգիայի հաշվիչը `օգտագործելով P1 նավահանգիստը, որը տանում է RJ11 կամ RJ12 մալուխ: Տարբերությունն այն է, որ RJ12 մալուխն ունի 6 լար, մինչդեռ RJ11- ն ունի միայն 4. Այս նախագծում մենք ESP8266- ը չենք սնուցում P1 նավահանգստից, այնպես որ իրականում մեզ անհրաժեշտ է ընդամենը 4 լար, այնպես որ դա կաներ RJ11- ը:

Ես օգտագործել եմ նկարում ցուցադրված RJ12 բեկումը: Այն մի փոքր լայն է և իմ հաշվիչի մեջ P1 նավահանգստի շուրջ շատ տեղ չկա: Այն տեղավորվում է, բայց ամուր է: Այլապես, կարող եք պարզապես օգտագործել RJ11 կամ RJ12 մալուխը և մի ծայրում հանել վերնագիրը:

Եթե դուք պահում եք ճեղքումը, ինչպես նկարում է, ապա կապումները համարակալված են աջից ձախ և ունեն հետևյալ նշանակությունը.

  • Պին 1: 5V Էներգամատակարարում
  • Pin 2: Տվյալների հարցում
  • Պին 3. Տվյալների հիմնավորում
  • Pin 4: միացված չէ
  • Pin 5: Տվյալների գիծ
  • Pin 6: Էլեկտրաէներգիայի հիմք

Պին 1 -ը և 6 -ը կարող են օգտագործվել ESP8266- ը սնուցելու համար, բայց ես դա չեմ փորձարկել: Դուք պետք է կապեք 1 -ին PIN- ը ESP8266- ի Vin- ին, այնպես որ տախտակի ներքին լարման կարգավորիչը օգտագործվում է 5V- ից մինչև 3.3V լարումը նվազեցնելու համար, որը ընդունում է ESP8266- ը: Այնպես որ, մի միացրեք այն 3.3V պինին, քանի որ դա կարող է վնասել ESP8266- ը: Նաև P1 նավահանգստից սնվելը ժամանակի ընթացքում կթուլացնի թվային հաշվիչի մարտկոցը:

Տեղադրելով 2 -րդ փին բարձր ազդանշանը `հաշվիչին ամեն վայրկյան ուղարկվում են տվյալների հեռագրեր: Փաստացի տվյալները ուղարկվում են Pin 5 -ի միջոցով 115200 baud արագությամբ ժամանակակից թվային հաշվիչի համար (DSMR 4 և 5): Ազդանշանը հակադարձվում է (ցածրը ՝ 1, բարձրը ՝ 0): Ավելի հին տեսակի համար (DSMR 3 և ավելի ցածր) դրույքաչափը 9600 baud է: Նման հաշվիչի համար դուք պետք է փոխեք բաուդ արագությունը հաջորդ քայլի որոնվածի կոդի մեջ. Փոխեք Serial.begin տողը (115200); տեղադրման մեջ ():

NPN տրանզիստորի դերը երկակի է.

  • Հետադարձել ազդանշանը, որպեսզի ESP8266- ը հասկանա այն:
  • Փոխել տրամաբանական մակարդակը P1- նավահանգստի 5V- ից մինչև 3.3V ՝ ESP8266- ի RX նավահանգստից ակնկալվող:

Այսպիսով, ստեղծեք էլեկտրոնային սխեման տախտակի վրա, ինչպես գծապատկերում: Կոնդենսատորը մեծացնում է կայունությունը, բայց այն նաև աշխատում է առանց դրա:

Անջատեք RX կապի միացումը, մինչև հաջորդ քայլում ESP8266- ը չծրագրավորեք: Իրոք, RX կապը նույնպես անհրաժեշտ է USB- ով ESP8266- ի և ձեր համակարգչի միջև հաղորդակցվելու համար:

Քայլ 4: Վերբեռնեք ծածկագիրը

Ես ծածկագիրը հասանելի եմ դարձրել GitHub- ում, դա ընդամենը մեկ ֆայլ է ՝ P1-Meter-Reader.ino: Պարզապես ներբեռնեք այն և բացեք այն Arduino IDE- ում: Կամ կարող եք ընտրել Ֆայլ - Նոր և պարզապես պատճենել/տեղադրեք ծածկագիրը:

Որոշ տեղեկություններ կան, որոնք պետք է լրացնեք ֆայլի սկզբում. Օգտագործելու համար WLAN- ի անունը և գաղտնաբառը, ինչպես նաև ThingSpeak ալիքի Channel ID- ն և Write API բանալին:

Կոդը կատարում է հետևյալը.

  • Կարդում է տվյալների հեռագիր հաշվիչից յուրաքանչյուր UPDATE_INTERVAL (միլիվայրկյաններով): Լռելյայն արժեքը յուրաքանչյուր 10 վայրկյան է: Սովորաբար, ամեն վայրկյան հաշվիչից կա տվյալների հեռագիր, սակայն հաճախականությունը բարձր սահմանելը կբեռնաթափի ESP8266- ը, այնպես որ այն այլևս չի կարող գործարկել վեբ սերվերը:
  • Էլեկտրաէներգիայի տվյալները վերբեռնում է Thingspeak ալիք յուրաքանչյուր SEND_INTERVAL (միլիվայրկյանում): Լռելյայն արժեքը յուրաքանչյուր րոպե է: Այս հաճախականությունը որոշելու համար հաշվի առեք, որ տվյալները ուղարկելը որոշ ժամանակ է պահանջում (սովորաբար մի քանի վայրկյան) և որ Thingspeak- ում անվճար հաշվի թարմացման հաճախականության սահմանափակում կա: Այն կազմում է օրական 8200 հաղորդագրություն, ուստի առավելագույն հաճախականությունը կլինի մոտ 10 վայրկյանը մեկ, եթե Thingspeak- ը չօգտագործեք այլ բանի համար:
  • Վերբեռնում է գազի տվյալները, երբ այն փոխվում է: Սովորաբար, հաշվիչը թարմացնում է գազի սպառման տվյալները միայն 4 րոպեն մեկ:
  • Հաշվիչը սկզբից հետևում է ընդհանուր սպառման և ներարկման արժեքներին: Այսպիսով, ամենօրյա սպառումը և ներարկումը ստանալու համար ծածկագիրը խնայում է ընդհանուր արժեքները ամեն օր կեսգիշերին: Այնուհետեւ այդ արժեքները հանվում են ընթացիկ ընդհանուր արժեքներից: Կեսգիշերին արժեքները պահվում են SPIFFS- ում (SPI Flash ֆայլային համակարգ), որը պահպանվում է, եթե ESP8266- ը կորցնում է էներգիան կամ նույնիսկ այն նորից ծրագրավորվելիս:
  • ESP8266- ն աշխատում է մինի վեբ սերվերի վրա: Եթե ձեր բրաուզերում բացեք նրա IP հասցեն, կստանաք էլեկտրաէներգիայի և գազի բոլոր ընթացիկ արժեքների ակնարկ: Դրանք ամենաթարմ հեռագրից են և ներառում են տեղեկություններ, որոնք չեն վերբեռնվում Thingspeak- ում, ինչպես օրինակ ՝ լարման և հոսանքների մեկ փուլի համար: Լռելյայն կարգավորումն այն է, որ IP հասցեն դինամիկ կերպով որոշվում է ձեր երթուղղիչի կողմից: Բայց ավելի հարմար է օգտագործել ստատիկ IP հասցե, որը միշտ նույնն է: Այս դեպքում դուք պետք է մուտքագրեք staticIP, gateway, dns և subnet ծածկագրում և մեկնաբանեք WiFi.config տողը (staticIP, dns, gateway, subnet); connectWifi () գործառույթում:

Այս փոփոխությունները կատարելուց հետո դուք պատրաստ եք ներբեռնել որոնվածը ESP8266- ում: Միացրեք ESP8266- ը USB մալուխի միջոցով ձեր համակարգչին և սեղմեք պատկերակը Arduino IDE- ի սլաքով: Եթե ձեզ չի հաջողվում միանալ ESP8266- ին, փորձեք փոխել COM նավահանգիստը ցանկի ներքո Գործիքներ - նավահանգիստ: Եթե այն դեռ չի աշխատում, հնարավոր է, որ դուք պետք է ձեռքով տեղադրեք USB վիրտուալ COM պորտի վարորդը:

Քայլ 5: Փորձարկում

Սարքը ներբեռնելուց հետո անջատեք USB- ը և միացրեք ESP8266- ի RX լարերը: Հիշեք, որ մեզ անհրաժեշտ էր ESP8266- ի RX ալիքը `որոնվածը վերբեռնելու համար, այնպես որ այն նախկինում չէինք միացնում: Այժմ միացրեք RJ12 ճեղքվածքը թվային հաշվիչի մեջ և նորից միացրեք ESP8266- ը ձեր համակարգչին:

Arduino IDE- ում Գործիքների ցանկի միջոցով բացեք Serial Monitor- ը և համոզվեք, որ այն սահմանվել է 115200 baud: Եթե ստիպված եք փոխել բաուդ արագությունը, գուցե անհրաժեշտ է փակել և նորից բացել Սերիական մոնիտորը, նախքան այն աշխատելը:

Այժմ դուք պետք է տեսնեք ծածկագրի ելքը Սերիական մոնիտորում: Դուք պետք է ստուգեք, արդյոք կա՞ն սխալ հաղորդագրություններ: Բացի այդ, դուք պետք է կարողանաք տեսնել հեռագրերը: Ինձ համար նրանք նման տեսք ունեն.

/FLU5 / xxxxxxxxx

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Սերիական համարի հաշվիչ վեցանկյուն 0-0: 1.0.0 (200831181442S) // estամկետային նշան S: ցերեկային խնայողություն (ամառ), W: ցերեկային օրերի խնայողություն (ձմեռ) 1-0: 1.8.1 (000016.308*կՎտժ) // peakուտ ընդհանուր սպառման գագաթնակետ 1-0: 1.8.2 (000029.666*կՎտժ) // Ընդհանուր ոչ պիկ մաքուր սպառումը 1-0: 2.8.1 (000138.634*կՎտժ) // Ընդհանուր պիկային զուտ ներարկում 1-0: 2.8.2 (000042.415*կՎտժ) // Ընդհանուր ոչ պիկ զուտ ներարկում 0-0: 96.14.0 (0001) // Սակագին 1 ՝ գագաթ, 2: ոչ պիկ 1-0: 1.7.0 (00.000*կՎտ) // Ընթացիկ սպառում 1-0: 2.7.0 (00.553*կՎտ) // Ընթացիկ ներարկում 1-0: 32.7.0 (235.8*Վ) // փուլ 1 լարման 1-0: 52.7.0 (237.0*V) // 2-րդ փուլ լարման 1-0: 72.7.0 (237.8*V) // 3-րդ փուլ լարման 1-0: 31.7.0 (001*Ա) // 1-ին փուլ 1-0: 51.7.0 (000*Ա) // 2-րդ փուլ ընթացիկ 1-0: 71.7.0 (004*Ա) // 3-րդ փուլ ընթացիկ 0-0: 96.3.10 (1) 0-0 ՝ 17.0.0 (999.9*կՎտ) // Առավելագույն հզորություն 1-0: 31.4.0 (999*Ա) // Առավելագույն հոսանք 0-0: 96.13.0 () // Հաղորդագրություն 0-1: 24.1.0 (003) // այլ սարքեր M-bus- ում 0-1: 96.1.1 (37464C4F32313230313037393338) // Սերիական համար գազի մետ r վեցանկյուն 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*մ 3) // Գազի ժամանակային կնիքի ընդհանուր սպառումը! E461 // CRC16 ստուգիչ

Եթե ինչ -որ բան այն չէ, կարող եք ստուգել, թե արդյոք ունեք նույն պիտակները, և, հավանաբար, պետք է փոխեք կոդերը, որոնք վերլուծում են հեռագրերը readTelegram գործառույթում:

Եթե ամեն ինչ աշխատում է, այժմ կարող եք esp8266- ը սնուցել USB լիցքավորիչից:

Տեղադրեք IoT ThingSpeak Monitor ծրագիրը ձեր սմարթֆոնի վրա, լրացրեք Channel ID- ն և Read API Key- ը և կատարվածը:

Խորհուրդ ենք տալիս: