5 заметок с тегом

метеостанция

Как меня забанили на narodmon.ru

Негодования пост

Ничто, как говорится, не предвещало...
Не так давно переделал свою метеостанцию: использовал другую прошивку для ESP8266, переделал схему для более устойчивой работы модуля зимой — ранее он периодически отваливался от домашнего WiFi и не отправлял данные. Заодно немного переделал схему отправки данных: вместо того, чтобы напрямую отправлять их на сервер, данные сначала забирались системой Domoticz, а затем отправлялись на сервер narodmon. Метод отправки тоже изменился — теперь на HTTP-запрос GET.
В итоге, за три «нарушения» за последние несколько дней, на один из датчиков мне поставили «бан» на месяц. Почему? Потому, что Domoticz отдавал данные атмосферного давления, округленными до единицы, что привело к тому, что показания не менялись в течение нескольких часов. Администрация сайта посчитала это нарушением и исключила этот датчик из общедоступной карты. Да, я последние пару дней был занят оптимизацией скрипта отправки в связи с изменившимися обстоятельствами, и не обращал особого внимания на то, что творится с передаваемыми показаниями.
Конечно, меня эта ситуация немного опечалила. Как говорится, «не делай добро...» На мой взгляд, администрации стоило бы предоставить больше информации еще при первом возникновении ошибки. Иначе это выглядит так:

  1. Около показаний датчика появляется информация, что показания не менялись с такого-то времени. Сам датчик выделяется желтым цветом.
  2. Через сутки или больше появляется значок предупреждения с тем же текстом. Т. е. информативности никакой. Ну не меняются показания, и что? Такое может случиться, например, при возникновении неполадок с оборудованием. И, если я не успел исправить это очень быстро, то с карты они пропадают. Если я не заходил на сайт, то я вообще этого всего не увижу. А что? У меня данные отправляются, сервер отвечает, что принял их. А что на самом деле происходит — никто не ведает.
  3. Датчик «улетает» в приватные, т. е. не видимые никому, кроме владельца. Если попробовать заново выбрать пункт «публичная карта», чтобы вернуть его на место, то получаем еще одно «предупреждение». То есть не получаем — оно нигде не отображается, но вам оно засчитывается. Тишина на ровном месте. После третьего «предупреждения» вы наконец-то видите причину, почему датчик не появляется на карте — вас забанили. Опля! А раньше нельзя было сказать? Я бы более внимательно искал причину, а не считал исчезновение датчика с карты глюками сайта.
  4. Спустя еще полдня после «бана» я начинаю получать уведомления из программы, установленной на телефон. А вот это уже, на мой взгляд, издевательство. Могу повториться: а раньше нельзя было сказать? Нигде! Нигде об этом ничего не написано! Перерыл всю справку и нашел только одно более-менее подходящее предложение:
    «- Если показания датчика не передавались более 30 дней — он и его показания удаляются с сервера автоматически. При неактивности датчика более 3ч датчик он пропадает с карты.»

Хочется материться после всего этого. Изменения на сайте вносятся, но никто о них не оповещается. Мы же телепаты, мы и так все знаем.

Влажность в квартире

Собрал мини-метеостанцию для зала (планирую установить подобные во все комнаты квартиры), подключил её к Domoticz. Получилось отлично — сама станция размером со спичечный коробок, нужно только подобрать ей корпус.
Показания поначалу ввели в ступор: давление около 1000 и влажность около 20%. Залез в документацию, оказалось что давление датчик измеряет в гПа. Пришлось в прошивке ESP8266 создавать еще один виртуальный датчик и пересчитывать для него показания в мм ртутного столба. Всё таки в России используется такая единица измерений. А вот с влажностью непонятно до сих пор. Текущие показания — 17%, хотя норма составляет 40-50%. Поначалу думал, что что-то с датчиком. Распаковал новый, установил — картина не изменилась. Сейчас на работе вспомнил об этом, подключил AM2302 — тоже около 18%. Хоть на улицу выноси! Пришлось пойти на сайт narodmon.ru. Там картина поинтересней — показания колеблются от 14% до 24%. Хм, ладно, допустим, что все используют одно и то же оборудование. В таком случае нужно обратиться к более официальному источнику. Но «официалы» показали примерно ту же картину — от 20% до 30%.
В общем, пока что можно успокоиться и провести несколько экспериментов по её повышению, вроде кипящего рядом чайника.

Показания барометра
Показания барометра
Виртуальный датчик
Виртуальный датчик

Исправление ошибок

Уже вечером исправил косяки с новой станцией. После переброса на другую линию питания датчика ds18b20 он заработал. Это радует.
Также вроде бы решил проблему со скриптом отправки данных. Вместо накопления данных в нескольких файлах, размер каждого из которых не превышает 4 кБ, сделал обработу ответа «ERROR NO CHANGES». Если скрипт получает такой ответ, то просто стирается содержимое временного файла. Иными словами, он реагирует так же, как будто получил ответ «ОК». Это, конечно, не решает вопроса длительного отсутствия связи с сервером. Так что будем думать дальше.
Не могу пока что придумать как разместить станцию. По хорошему ее нужно разместить подальше от стены, чтобы исключить ее влияние на показания. Но тут встает вопрос как закрепить круглую металлическую трубку на стене. С другой стороны, самый простой вариант — разместить станцию, прикрутив с наружной стороны лоджии, просто на саморезы. На решение времени осталось не так уж и много — скоро наступят холода, работать будет не очень комфортно.

 1 комментарий   2017   ds18b20   исправление   метеостанция   ошибка   скрипт

Тестирование новое метеостанции

Вчера провел на лоджию электричество, только розетку пока что не закреплял. Собрал станцию, включил в розетку и выставил на улицу. К стене дома крепить не стал, закреплю когда она пройдет испытания. К сожалению, почему-то перестал работать один из датчиков — ds18b20. Думал, что где-то нет контакта, подергал все проводки, проверил разъем, но ничего не изменилось. Так как мультиметр остался на работе, то поиск неисправности, похоже, откладывается до понедельника.
Попробовал также настроить станцию на отправку показаний на сервер WeatherUnderground, но с этим вышла какая-то непонятка. В прошивке esp8266 есть только поля для ввода логина и пароля, в то время как в скрипте на роутере, который отправляет показания, надо также указывать ID станции, которая была создана при регистрации на сайте. Вчера ввел качестве логина ID станции, в качестве пароля указал ключ от нее. Потом смотреть журнал отправки было некогда, проверил только сейчас. Появились показания влажности воздуха, но с пропусками. Пока что непонятно, идет отправка или нет, буду наблюдать дальше.
Также в скрипте обнаружилась досадная ошибка, которую нужно исправлять, но я не совсем пока что понимаю как это реализовать. Суть ошибки состоит в том, что в какой-то момент скрипт перестает стирать содержимое временного файла с показаниями. При следующей отправке сервер отвечает не «ОК», а «ERROR NO CHANGES», так как в пакете присутствуют более ранние показания, которые сервер принял, а скрипт заново пытается их отправить. В результате данные начинают накапливаться и через примерно 4 часа размер файла начинает превышать 4 кБ — максимальный размер данных, которые можно отправить на сервер. Как результат данные, которые принимает сервер, обрезаются до 4 кБ. То есть появляется новая ошибка — отсутствует строка с закрывающими «##». По логике нужно начинать записывать данные в другой файл, но как потом искать все файлы с данными — непонятно. Буду думать.

Сборка новой метеостанции

Увы, после обновления движка блога картинки перестали вставляться. Забываю отписаться автору движка и узнать об этом. Сейчас прочитал у него на сайте, что да, был такой баг, но он исправляется изменением формирования адресов в настройках. Хотел вставить в эту заметку картинки, но придется обойтись без них. Если не забуду, позже добавлю. Но это все лирика, переходим к основному вопросу.
Вчера весь день почему-то было страшно начинать сборку новой метеостанции. Сегодня пересилил себя и засел ее собирать. Все датчики не стал паять сразу на плату, использовал разъемы. В дальнейшем это позволит мне быстро заменить вышедший из строя датчик. Нужно будет только перед тем, как размещать ее на улице, залить контакты «пистолетным» клеем.
В ходе сборки столкнулся с проблемой — не заработали датчики am2320 и bme280. Проблема со вторым оказалась в коротком замыкании между двумя контактами, устранил быстро. А вот первый так и не «завелся». Позже соберу его на беспаечной макетке, но думаю, что там он заработает нормально. Проверю.
Еще меня мучает один вопрос. Если со старым датчиком температуры я его решил, написав скрипт, который может накапливать данные при отсутствии связи с сервером, то как себя поведет новая станция, когда эта связь пропадет?
Пока же остается только протестировать работу новой схемы, попутно подбирая корпус для нее, упаковать ее в этот самый корпус и прикрепить снаружи. А также провести электричество на лоджию и постараться ее хоть немного утеплить.

 Нет комментариев   2017   датчик   метеостанция   пайка   сборка   схема