Агуулгын хүснэгт:

Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak -д байршуулах: 5 алхам
Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak -д байршуулах: 5 алхам

Видео: Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak -д байршуулах: 5 алхам

Видео: Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak -д байршуулах: 5 алхам
Видео: Экстравагантный заброшенный цветной замок в Португалии – мечта мечтателя! 2024, Арваннэгдүгээр
Anonim
Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak руу байршуулна уу
Цахилгаан ба хийн тоолуурыг (Бельги/Голланд) уншиж, Thingspeak руу байршуулна уу
Цахилгаан ба хийн тоолуур (Бельги/Голланд) -ийг уншиж, Thingspeak руу байршуулах
Цахилгаан ба хийн тоолуур (Бельги/Голланд) -ийг уншиж, Thingspeak руу байршуулах

Хэрэв та өөрийн эрчим хүчний хэрэглээнд санаа зовж байгаа эсвэл жаахан тэнэг хүн байвал ухаалаг гар утсан дээрээ өөрийн сонирхолтой шинэ дижитал тоолуурын өгөгдлийг харахыг хүсч магадгүй юм.

Энэ төсөлд бид одоогийн өгөгдлийг Бельги эсвэл Голландын дижитал цахилгаан, хийн тоолуураас авч Thingspeak -д байршуулах болно. Энэхүү өгөгдөлд одоогийн болон өдөр тутмын эрчим хүчний хэрэглээ, тарилга (хэрэв танд нарны зайтай бол), хүчдэл ба гүйдэл, хийн хэрэглээ (хэрэв тоон хийн тоолуур цахилгаан тоолууртай холбогдсон бол) орно. Апп -ээр дамжуулан эдгээр утгыг ухаалаг гар утсан дээрээ бодит цаг хугацаанд унших боломжтой болно.

Энэ нь сүүлийн үеийн бүх тоолуур байх ёстой DSMR (Голландын ухаалаг тоолуурын шаардлага) протоколыг дагаж мөрддөг Бельги эсвэл Голландын дижитал тоолуурт зориулагдсан болно. Хэрэв та өөр газар амьдардаг бол харамсалтай нь таны тоолуур өөр протокол ашиглах болно. Тиймээс энэ зааварчилгаа нь бүс нутгийн хэмжээнд хязгаарлагдмал байгаа гэж би айж байна.

Бид утасны кабель гэж нэрлэдэг RJ11/RJ12 кабелийг хүлээн авдаг тоолуурын P1 портыг ашиглах болно. Тоолуур суурилуулагч нь P1 портыг идэвхжүүлсэн эсэхийг шалгаарай. Жишээлбэл, Бельги улсын Флювиусын хувьд эдгээр зааврыг дагана уу.

Өгөгдлийг боловсруулж, интернетэд байршуулахын тулд бид ESP8266 ашигладаг бөгөөд энэ нь Wi-Fi-тай хямд микрочип юм. Энэ нь ердөө 2 долларын үнэтэй байдаг. Үүнээс гадна үүнийг Arduino IDE ашиглан програмчилж болно. Бид өгөгдлийг Thingspeak дээр үүлэн дотор хадгалдаг бөгөөд энэ нь хамгийн ихдээ дөрвөн суваг үнэгүй байдаг. Энэ төслийн хувьд бид зөвхөн нэг суваг ашигладаг. Өгөгдлийг IoT ThingSpeak гэх мэт програм ашиглан ухаалаг гар утсан дээрээ харуулах боломжтой.

Эд анги:

  • Нэг ESP8266, nodemcu v2 шиг. Nodemcu v3 нь стандарт талхны хавтангийн хувьд хэтэрхий өргөн тул би v2 -ийг илүүд үздэг болохыг анхаарна уу.
  • Микро USB -ээс USB кабель.
  • USB цэнэглэгч.
  • Нэг BC547b NPN транзистор.
  • Хоёр 10k эсэргүүцэл ба нэг 1k эсэргүүцэл.
  • Нэг RJ12 шураг терминал холбогч.
  • Талхны самбар.
  • Холбогч утас.
  • Нэмэлт: нэг 1nF конденсатор.

Нийтдээ энэ нь AliExpress эсвэл үүнтэй төстэй 15 еврогийн үнэтэй байдаг. Тооцоололд резистор, транзистор, утас гэх мэт зарим бүрэлдэхүүн хэсэг нь энэ төсөлд шаардагдах хэмжээнээс хамаагүй их хэмжээгээр орж ирдэг болохыг харгалзан үзсэн болно. Тиймээс, хэрэв та аль хэдийн бүрэлдэхүүн хэсгүүдийн багцтай бол илүү хямд байх болно.

Алхам 1: ESP8266 -тай танилцах

Би NodeMCU v2 -ийг сонгосон, учир нь гагнуур хийх шаардлагагүй бөгөөд хялбар програмчлах боломжийг олгодог микро USB холболттой. NodeMCU v2 -ийн NodeMCU v3 -ээс давуу тал нь талхны тавцан дээр багтахаар жижиг хэмжээтэй бөгөөд холболт хийхийн тулд хажуу талд нь чөлөөтэй нүх үлдээдэг. Тиймээс NodeMCU v3 -ээс зайлсхийх нь дээр. Гэсэн хэдий ч хэрэв та өөр ESP8266 самбарыг илүүд үзвэл энэ нь зүгээр юм.

ESP8266 -ийг Arduino IDE ашиглан хялбархан програмчилж болно. Үүнийг нарийвчлан тайлбарласан бусад зааварчилгаа материалууд байгаа тул би энд маш товч ярих болно.

  • Эхлээд Arduino IDE татаж аваарай.
  • ESP8266 хавтангийн хоёр дахь суулгалтын дэмжлэг. Файл - Тохиргоо - Тохиргоо цэсэнд https://arduino.esp8266.com/stable/package_esp8266com_index.json URL -ийг Нэмэлт зөвлөлийн менежерийн URL -д нэмнэ үү. Дараа нь Tools - Board - Board Board менежер цэсэнд esp8266 хамтлагийн esp8266 -ийг суулгана.
  • Гуравдугаарт, ESP8266 -тэй хамгийн ойр байрлах самбарыг сонгоно уу. Миний хувьд NodeMCU v1.0 (ESP 12-E Module) -ийг сонгосон.
  • Эцэст нь Tools - Flash Size -ийг сонгоод 4M (1M SPIFFS) гэх мэт SPIFFS агуулсан хэмжээг сонгоно уу. Энэхүү төсөлд бид SPIFFS (SPI Flash Файлын Систем) -ийг ашиглан өдөр тутмын энергийн утгыг хадгалдаг бөгөөд ESP8266 хүчээ алдаж, дахин програмчлах үед ч алдагдахгүй.

Одоо бидэнд ESP8266 програмчлах бүх зүйл байна! Бодит кодыг бид дараа дараагийн шатанд хэлэлцэх болно. Эхлээд бид Thingspeak данс хийх болно.

Алхам 2: Thingspeak данс, суваг үүсгээрэй

Https://thingspeak.com/ руу орж данс үүсгэнэ үү. Нэвтэрсний дараа суваг үүсгэхийн тулд Шинэ суваг товчийг дарна уу. Сувгийн тохиргоонд нэр, тайлбарыг хүссэн хэлбэрээр оруулна уу. Дараа нь бид сувгийн талбаруудыг нэрлээд баруун талд байгаа хайрцгийг дарж идэвхжүүлнэ үү. Хэрэв та миний кодыг өөрчлөхгүй бол талбарууд дараах байдалтай байна.

  • 1 -р талбар: өнөөгийн хамгийн их хэрэглээ (кВтц)
  • Талбар 2: өнөөгийн оргил үеийн хэрэглээ (кВтц)
  • 3 -р талбар: өнөөдөр хамгийн их тарилга (кВтц)
  • 4-р талбар: Оргил үеийн тарилга өнөөдөр (кВтц)
  • Талбар 5: одоогийн хэрэглээ (W)
  • Талбар 6: одоогийн тарилга (W)
  • Талбар 7: өнөөдрийн хийн хэрэглээ (м3)

Энд оргил ба оргил үе нь цахилгааны тарифыг хэлнэ. 1 ба 2 -р талбарт хэрэглээ нь өнөөгийн цахилгаан эрчим хүчний хэрэглээг хэлнэ: шөнийн 00 цагаас хойш тарифын хугацаанд цахилгаан эрчим хүчний хэрэглээ (нарны хавтангаар үйлдвэрлэсэн) өнөөдөр шөнө дундаас хойшхи тарифын хугацаанд хамгийн багадаа тэг байна. Сүүлийнх нь хэрэв хэрэглээнээс илүү их тарилга байсан бол өнөөдөр утга нь тэг болно гэсэн үг юм. Үүний нэгэн адил 3 ба 4 -р талбайд тарилга хийх нь цахилгаан эрчим хүчний тарилгыг хэлнэ. 5 ба 6 -р талбарууд нь одоогийн хэрэглээ ба тарилгын цэвэр хэрэглээг заана. Эцэст нь 7 -р талбар бол шөнө дундаас хойшхи хийн хэрэглээ юм.

Ирээдүйд лавлахын тулд API түлхүүрүүдийг цэснээс олж болох Channel ID, Read API түлхүүр ба API API түлхүүрийг бичнэ үү.

Алхам 3: Цахилгаан хэлхээг бий болгох

Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох

Бид RJ11 эсвэл RJ12 кабель авдаг P1 порт ашиглан цахилгаан тоолуурыг уншдаг. Үүний ялгаа нь RJ12 кабель нь 6 утастай байхад RJ11 нь ердөө 4 утас юм. Энэ төсөлд бид ESP8266 -ийг P1 портоос тэжээхгүй байгаа тул бидэнд ердөө 4 утас хэрэгтэй байгаа тул RJ11 хийх болно.

Би зураг дээр үзүүлсэн RJ12 таслалыг ашигласан. Энэ нь арай өргөн бөгөөд миний тоолуурт P1 портын эргэн тойронд тийм ч их зай байдаггүй. Энэ нь тохирох боловч нягт юм. Эсвэл та RJ11 эсвэл RJ12 кабелийг ашиглаж, толгойг нь нэг талаас нь салгаж болно.

Хэрэв та зураг дээрх шиг таслах хэсгийг барьж байвал тээглүүрийг баруунаас зүүн тийш дугаарласан бөгөөд дараах утгатай болно.

  • Pin 1: 5V цахилгаан хангамж
  • Зүү 2: Мэдээллийн хүсэлт
  • Зүү 3: Өгөгдлийн газар
  • Pin 4: холбогдоогүй байна
  • Pin 5: Өгөгдлийн шугам
  • Зүү 6: Цахилгаан газардуулга

1 ба 6 -р зүүг ESP8266 -ийг тэжээхэд ашиглаж болох боловч би үүнийг туршиж үзээгүй байна. Та 1 -р зүүг ESP8266 -ийн Вин -тэй холбох ёстой тул самбарын дотоод хүчдэлийн зохицуулагчийг хүчдэлийг 5V -аас ESP8266 -ийн хүлээн авдаг 3.3В хүртэл бууруулахад ашигладаг. Үүнийг 3.3V зүү рүү бүү холбоорой, учир нь энэ нь ESP8266 -ийг гэмтээж болзошгүй юм. Түүнчлэн P1 портоос тэжээл авах нь цаг хугацааны явцад дижитал тоолуурын батерейг шавхах болно.

2 -р өндөр зүүг тохируулах нь тоолуурт секунд тутамд өгөгдлийн цахилгаан илгээдэг. Бодит өгөгдлийг орчин үеийн дижитал тоолуурт (DSMR 4 ба 5) 115200 -ийн дамжуулах хурдтай 5 -р Pin -ээр дамжуулдаг. Дохио урвуу байна (бага нь 1, өндөр нь 0). Хуучин төрлийн хувьд (DSMR 3 ба түүнээс доош) ханш 9600 baud байна. Ийм тоолуурын хувьд та дараагийн алхам дахь firmware код дахь дамжуулах хурдыг өөрчлөх хэрэгтэй болно: мөрийг өөрчлөх Serial.begin (115200); тохиргоонд ().

NPN транзисторын үүрэг нь хоёр янз байдаг.

  • ESP8266 үүнийг ойлгохын тулд дохиог буцаах.
  • Логик түвшинг P1 порт 5V-аас ESP8266-ийн RX порт хүлээж буй 3.3V болгон өөрчлөх.

Тиймээс диаграм дээрх шиг талхны самбар дээр электрон хэлхээ үүсгэнэ үү. Конденсатор нь тогтвортой байдлыг нэмэгдүүлдэг, гэхдээ энэ нь бас ажиллахгүйгээр ажилладаг.

Дараагийн алхамд ESP8266 -ийг програмчлах хүртэл RX зүүгээ холбохоо зогсооно уу. Үнэн хэрэгтээ RX зүү нь ESP8266 болон таны компьютер хооронд USB -ээр холбогдоход шаардлагатай байдаг.

Алхам 4: Кодыг байршуулах

Би кодыг GitHub дээр ашиглах боломжтой болгосон бөгөөд энэ нь зөвхөн нэг файл юм: P1-Meter-Reader.ino. Үүнийг татаж аваад Arduino IDE дээр нээнэ үү. Эсвэл та File - New -ийг сонгоод кодыг хуулж/буулгаж болно.

Файлын эхэнд бөглөх шаардлагатай зарим мэдээлэл байдаг: ашиглах WLAN -ийн нэр, нууц үг, ThingSpeak сувгийн сувгийн ID ба бичих API түлхүүр.

Код нь дараахь зүйлийг хийдэг.

  • UPDATE_INTERVAL тутамд тоолуураас өгөгдлийн цахилгаан утас уншдаг (миллисекундээр). Анхдагч утга нь 10 секунд тутамд байдаг. Ердийн үед тоолуураас секунд тутамд өгөгдөл дамжуулдаг боловч давтамжийг өндөр болгож тохируулах нь ESP8266 -ийг хэт ачаалах тул вэб серверийг цаашид ажиллуулах боломжгүй болно.
  • Цахилгааны өгөгдлийг SEND_INTERVAL тутамд Thingspeak суваг руу (миллисекундээр) байршуулдаг. Анхдагч утга нь минут тутамд байдаг. Энэ давтамжийн талаар шийдвэр гаргахын тулд өгөгдөл илгээхэд тодорхой хугацаа шаардагддаг (ихэвчлэн хэдэн секунд), мөн Thingspeak дээр үнэгүй данс шинэчлэх давтамж хязгаартай байдаг. Энэ нь өдөрт ойролцоогоор 8200 мессеж байдаг тул хэрэв Thingspeak -ийг өөр зүйлд ашиглахгүй бол хамгийн их давтамж нь 10 секунд тутамд нэг удаа байх болно.
  • Хийн өгөгдлийг өөрчлөх үед байршуулдаг. Ерөнхийдөө тоолуур нь хийн хэрэглээний мэдээллийг зөвхөн 4 минут тутамд шинэчилдэг.
  • Тоолуур нь эхэлснээс хойш нийт хэрэглээ ба тарилгын утгыг хянадаг. Тиймээс өдөр тутмын хэрэглээ, тарилга авахын тулд код нь нийт утгыг өдөр бүр шөнө дунд хадгалдаг. Дараа нь эдгээр утгыг одоогийн нийт утгуудаас хасна. Шөнө дундын утгыг SPIFFS (SPI Flash Файлын Систем) -д хадгалдаг бөгөөд ESP8266 хүчээ алдсан эсвэл дахин програмчлах үед ч хадгалагдах болно.
  • ESP8266 нь мини вэб сервер ажиллуулдаг. Хэрэв та өөрийн IP хаягийг хөтөч дээрээ нээвэл одоогийн байгаа цахилгаан, хийн үнэ цэнийн тоймыг харах болно. Эдгээр нь хамгийн сүүлийн телеграмаас авсан бөгөөд Thingspeak -д байршуулагдаагүй мэдээлэл, тухайлбал нэг үе дэх хүчдэл ба гүйдэл гэх мэт мэдээллийг агуулдаг. Анхдагч тохиргоо нь IP хаягийг таны чиглүүлэгч динамикаар тодорхойлдог. Гэхдээ үргэлж ижил байдаг статик IP хаягийг ашиглах нь илүү тохиромжтой байдаг. Энэ тохиолдолд та staticIP, гарц, dns, дэд сүлжээг кодод бөглөж, WiFi.config (staticIP, dns, гарц, дэд сүлжээ) мөрийг тайлах хэрэгтэй; connectWifi () функц дээр.

Эдгээр өөрчлөлтийг хийсний дараа та програмыг ESP8266 дээр байршуулахад бэлэн байна. ESP8266 -ийг USB кабелиар дамжуулан компьютерт холбоод Arduino IDE дээрх сумтай дүрс дээр дарна уу. Хэрэв та ESP8266 -тай холбогдож чадахгүй байгаа бол Tools - Port цэсний COM портыг өөрчилж үзээрэй. Хэрэв энэ нь ажиллахгүй хэвээр байгаа бол USB виртуал COM портын драйверийг гараар суулгах шаардлагатай болно.

Алхам 5: Туршилт

Програмыг байршуулсны дараа USB -ийг салгаад ESP8266 -ийн RX утсыг холбоно уу. Програмыг байршуулахын тулд бидэнд ESP8266 -ийн RX суваг хэрэгтэй байсан тул бид өмнө нь холбогдоогүй гэдгийг санаарай. Одоо дижитал тоолуурт RJ12 залгуурыг залгаж, ESP8266 -ийг компьютер дээрээ дахин холбоно уу.

Arduino IDE дээр Цэсийн мониторыг Tools цэсээр нээгээд 115200 baud болгож тохируулсан эсэхийг шалгаарай. Хэрэв та дамжуулалтын хурдыг өөрчлөх шаардлагатай бол ажиллахаасаа өмнө Цуваа мониторыг дахин хааж, нээх хэрэгтэй болно.

Одоо та кодын гаралтыг Цуваа монитор дээрээс харах ёстой. Алдааны мэдэгдэл байгаа эсэхийг шалгах хэрэгтэй. Түүнчлэн, та телеграмыг үзэх боломжтой байх ёстой. Миний хувьд тэд иймэрхүү харагдаж байна:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Серийн дугаар тоолуурын арван зургаатын 0-0: 1.0.0 (200831181442S) // Хугацааны тэмдэг S: өдрийн гэрлийн хэмнэлт (зун), W: үгүй зуны цагийн хэмнэлт (өвөл) 1-0: 1.8.1 (000016.308*кВтц) // Нийт оргил цэвэр хэрэглээ 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*V) // Үе шат 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*A) // 1-р фазын гүйдэл 1-0: 51.7.0 (000*A) // 2-р фазын гүйдэл 1-0: 71.7.0 (004*A) // 3-р фазын гүйдэл 0-0: 96.3.10 (1) 0-0: 17.0.0 (999.9*кВт) // Хамгийн их хүч 1-0: 31.4.0 (999*A) // Хамгийн их гүйдэл 0-0: 96.13.0 () // Мессеж 0-1: 24.1.0 (003)) // M-автобусны бусад төхөөрөмжүүд 0-1: 96.1.1 (37464C4F32313230313037393338) // Серийн дугаар хийн тоолуур r hexadecimal 0-1: 24.4.0 (1) 0-1: 24.2.3 (200831181002S) (00005.615*м3) // Хийн хугацааны тэмдэглэгээний нийт хэрэглээ! E461 // CRC16 хяналтын дүн

Хэрэв ямар нэг зүйл буруу байвал та ижил шошготой эсэхээ шалгаж болно, мөн readTelegram функц дэх телеграммуудыг задлах кодыг өөрчлөх шаардлагатай байж магадгүй юм.

Хэрэв бүх зүйл үр дүнтэй бол та esp8266 -г USB цэнэглэгчээс цэнэглэж болно.

IoT ThingSpeak Monitor програмыг ухаалаг гар утсан дээрээ суулгаж, сувгийн ID -г бөглөж, API түлхүүрийг уншаарай.

Зөвлөмж болгож буй: