Мазмұны:

Электр және газ есептегішін (Бельгия/Голландия) оқыңыз және 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 транзисторы.
  • Екі 10к резистор және бір 1к резистор.
  • Бір 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 мекенжайларына қосыңыз. Келесі мәзірде Құралдар - тақта - тақта менеджері esp8266 қауымдастығы арқылы esp8266 орнатады.
  • Үшіншіден, ESP8266 -ға жақын тақтаны таңдаңыз. Менің жағдайда мен NodeMCU v1.0 (ESP 12-E модулі) таңдадым.
  • Соңында 4M (1M SPIFFS) сияқты SPIFFS бар өлшемі бар Құралдар - Жарқыл өлшемін таңдаңыз. Бұл жобада біз күнделікті энергия мәндерін сақтау үшін SPIFFS (SPI Flash File System) қолданамыз, егер олар ESP8266 қуатын жоғалтса, тіпті ол қайта бағдарламаланған кезде де жоғалмайды.

Енді бізде ESP8266 бағдарламалауға барлық жағдай бар! Біз нақты кодты кейінірек талқылаймыз. Алдымен біз Thingspeak есептік жазбасын жасаймыз.

2 -қадам: Thingspeak есептік жазбасы мен арнасын жасаңыз

Https://thingspeak.com/ сайтына өтіп, тіркелгі жасаңыз. Жүйеге кіргеннен кейін канал құру үшін Жаңа арна түймесін басыңыз. Арна параметрлерінде атау мен сипаттаманы өзіңіз қалағандай толтырыңыз. Содан кейін біз арнаның өрістерін атаймыз және оларды оң жақтағы құсбелгілерді басу арқылы белсендіреміз. Егер сіз менің кодты өзгеріссіз қолдансаңыз, өрістер келесідей:

  • 1 -өріс: тұтынудың ең жоғары деңгейі (кВтсағ)
  • 2-өріс: тұтынудың ең жоғары деңгейі (кВтсағ)
  • 3 -өріс: бүгінде инъекцияның шыңы (кВтсағ)
  • 4-өріс: бүгінде инъекция (кВтсағ)
  • 5 -өріс: ағымдағы тұтыну (Вт)
  • 6 -өріс: ток енгізу (Вт)
  • 7 -өріс: бүгінгі газ шығыны (м3)

Мұнда шыңы мен шыңы электр энергиясының тарифіне жатады. 1 -ші және 2 -ші өрістерде тұтыну қазіргі кездегі электр энергиясының таза тұтынылуын білдіреді: тарифті кезеңде электр энергиясын тұтыну, түн ортасынан бастап минус электр энергиясын айдау (күн батареялары шығарады) бүгін тарифтік кезеңде түн ортасынан бастап нөлден төмен. Соңғысы, егер тұтынудан гөрі инъекция көп болса, онда бұл күн нөлге тең. Дәл осылай 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 кабелін қолданып, тақырыпты бір жағынан алып тастай аласыз.

Егер сіз үзілісті суреттегідей ұстасаңыз, түйреуіштер оңнан солға қарай нөмірленеді және келесі мағынаны білдіреді:

  • 1 -түйреуіш: 5В қуат көзі
  • 2 -түйін: деректерді сұрау
  • 3 -түйін: деректер алаңы
  • 4 -түйреуіш: қосылмаған
  • 5 -түйін: деректер желісі
  • 6 -түйреуіш: қуат көзі

1 және 6 -түйреуіш ESP8266 -ны қуаттандыру үшін қолданылуы мүмкін, бірақ мен мұны тексерген жоқпын. Сізге 1 -түйреуішті ESP8266 -ның Вин -ге жалғау керек еді, сондықтан тақтаның ішкі кернеу реттегіші ESP8266 қабылдайтын кернеуді 5 В -тан 3,3 В -қа дейін төмендету үшін қолданылады. Сондықтан оны 3.3В істікшеге қоспаңыз, себебі бұл ESP8266 -ға зақым келтіруі мүмкін. Сондай -ақ, P1 портынан қуат алу уақыт өте келе сандық есептегіштің батареясын таусады.

2 -түйреуіш жоғары өлшегішке секунд сайын деректер телеграммаларын жіберуге сигнал береді. Нақты деректер қазіргі заманғы цифрлық есептегішке (DSMR 4 және 5) 115200 бауд жылдамдығымен 5 -пин арқылы жіберіледі. Сигнал кері айналады (төмен - 1, жоғары - 0). Ескі түрі үшін (DSMR 3 және одан төмен) жылдамдық 9600 байды құрайды. Мұндай есептегіш үшін келесі қадамның микробағдарлама кодындағы жіберу жылдамдығын өзгерту керек: Serial.begin (115200) жолын өзгертіңіз; орнатуда ().

NPN транзисторының рөлі екіге бөлінеді:

  • ESP8266 оны түсінуі үшін сигналды кері қайтару үшін.
  • Логикалық деңгейді P1 портының 5В-тан ESP8266 RX порты күтетін 3.3В-ге өзгерту үшін.

Сонымен, схемада көрсетілгендей, тақтаға электронды схеманы жасаңыз. Конденсатор тұрақтылықты арттырады, бірақ ол онсыз да жұмыс істейді.

Келесі қадамда ESP8266 бағдарламаланғанша RX түйреуішін қосуды тоқтатыңыз. Шынында да, RX түйрегіші ESP8266 мен компьютер арасында USB арқылы байланысу үшін қажет.

4 -қадам: кодты жүктеңіз

Мен кодты GitHub-да қол жетімді қылдым, бұл тек бір файл: P1-Meter-Reader.ino. Оны жүктеп алып, Arduino IDE -де ашыңыз. Немесе Файл - Жаңа тармағын таңдап, кодты көшіріп қоюға болады.

Файлдың басында толтыру қажет кейбір ақпарат бар: WLAN желісінің аты мен құпия сөзі, ThingSpeak арнасының Channel ID және Write API кілті.

Код келесі әрекеттерді орындайды:

  • Әр UPDATE_INTERVAL (миллисекундтарда) есептегіштен деректер телеграммасын оқиды. Әдепкі мән әр 10 секунд сайын болады. Әдетте, есептегіштен секунд сайын деректер телеграммасы келеді, бірақ жиілікті жоғары деңгейге қою ESP8266 -ны шамадан тыс жүктейді, сондықтан ол енді веб -серверді іске қоса алмайды.
  • Thingspeak арнасына электр энергиясының деректерін әр SEND_INTERVAL жүктейді (миллисекундтарда). Әдепкі мән - әр минут. Бұл жиілік туралы шешім қабылдау үшін деректерді жіберу біраз уақытты қажет ететінін (әдетте бірнеше секунд) және тегін тіркелгі үшін 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 -ға қосыла алмасаңыз, Құралдар - Порт мәзіріндегі COM портын өзгертуге тырысыңыз. Егер ол әлі де жұмыс істемесе, USB виртуалды COM портына драйверді қолмен орнату қажет болуы мүмкін.

5 -қадам: тестілеу

Микробағдарламаны жүктегеннен кейін, USB -ді ажыратыңыз және ESP8266 RX сымын қосыңыз. Есіңізде болсын, микробағдарламаны жүктеу үшін бізге ESP8266 RX арнасы қажет еді, сондықтан біз оны бұрын қосқан жоқпыз. Енді RJ12 ажыратқышын сандық есептегішке қосыңыз және ESP8266 құрылғысын компьютерге қайта қосыңыз.

Arduino IDE бағдарламасында Құралдар мәзірі арқылы сериялық мониторды ашып, оның 115200 bod күйіне орнатылғанын тексеріңіз. Егер сізге жіберу жылдамдығын өзгерту қажет болса, ол жұмыс істемей тұрып, сериялық мониторды қайтадан жабу және қайта ашу қажет болуы мүмкін.

Енді сіз кодты шығаруды сериялық мониторда көруіңіз керек. Қате туралы хабарлардың бар -жоғын тексеру керек. Сонымен қатар, сіз жеделхаттарды көре білуіңіз керек. Мен үшін олар келесідей көрінеді:

/FLU5 / xxxxxxxxx_x

0-0: 96.1.4 (50213) 0-0: 96.1.1 (3153414733313030313434363235) // Сериялық нөмірді санауыш он алтылық 0-0: 1.0.0 (200831181442S) // Уақыт белгісі S: жазғы уақыт (жаз), Ж: жоқ жазғы уақыт (қыс) 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*В) // Фаза 1 кернеу 1-0: 52.7.0 (237.0*В) // 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*A) // 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-шинадағы басқа құрылғылар 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 қосымшасын орнатыңыз, Арнаның идентификаторын толтырыңыз және API кілтін оқыңыз, және сіздің жұмысыңыз аяқталды!

Ұсынылған: