Я вообще стараюсь теперь не использовать ESP8266, потому что ESP32 мощнее (как по ЦПУ, так и по памяти), а стоят они сейчас примерно одинаково.
Но ESP32 соответственно и жрёт питания больше. И греется наверно тоже больше. Можно ли этот считыватель реализовать на ESP8266 NodeMCU v3? Хочу сделать считывание показаний миртека через интернет и ещё заодно температуру мониторить (при помощи BME280, в народный мониторинг). Но у меня пока нет опыта со всеми этими ESP8266 или ESP32... Заказал вот ESP8266 NodeMCU v3 и CC1101 попробовать... Понятно что распиновка, порты иные, исходник надо будет допилить с учётом различий.
Есть какие-то заведомо известные причины по которым на ESP8266 NodeMCU v3 реализовать это не получиться и мне надо сразу ESP32 заказывать? Например объёма ОЗУ не хватит?
По поводу пульта - у меня аналогичная ситуация - ничего, кроме потреблённой энергии и текущего времени/даты он у меня не показывает.
У меня тоже 830 пульт. И однажды он вдруг выдал кучу инфы - квары, и ещё что-то. Причём сам собой. Мне показалось я его тогда как-то разбудил случайным нажатием 2 каких-то кнопок. Я потом пробовал всевозможные комбинации нажимать для включения/запроса, но так и не смог более попасть в показ кваров. Показывает только сумму, т1/т2 и дату/время. Не понятно то ли счётчик проглючил и выдал пульту расширенную инфу, то ли пульт внезапно запросил.
Есть оптопорт, но проверяющих напрягает когда что-то подключено к счетчику.
А чем описанные способы не устроили ? Используйте их для подключения к счётчику, а связь с интернетом на свой вкус. Тот модуль, который ComMod Z лучше оставить в покое.
У меня только 2 варианта - оптопорт и 2400/2. Передатчик оптопорт-ПК через nRF24L01 у меня уже есть, но у него проблема: вопросы "а это что?", "а это зачем?" при проверке счетчиков.
Всем привет! Меня очень вдохновила ваша тема. И я решил сделать небольшой проектик на основе ваших исследований в области дешифровки. К сожалению отработал только код на получение показаний. Но и этого мне было достаточно. (На момент старта проекта брал код с 6 странице). Могу запилить статью если будет интересно.
Всем привет! Меня очень вдохновила ваша тема. И я решил сделать небольшой проектик на основе ваших исследований в области дешифровки. К сожалению отработал только код на получение показаний. Но и этого мне было достаточно. (На момент старта проекта брал код с 6 странице). Могу запилить статью если будет интересно.
Блин очень красиво вышло, так что я бы посмотрел на код и аппаратную часть со схемой, если не лень - ждём Вашу статейку про данную реализацию с кодом и плюшками На 6-ой страничке возможно мой код, но он потом еще был немного доработан, а так же байтстаффинг. Вот тут столкнулись с тем, что из-за реализованного байтстаффинга только на приём у человека не заработало вначале - его номер счетчика попал как раз в HEX 0x55 и потребовалось на коленке допилить. Для остальных пока байтстаффинг на отправку не реализовн, так как пытался удаленно его сделать, а с ходу по моим представлениям не взлетело, вот буду на НГ праздниках его доделывать. Так что если скинете свой код и схему и внутренности - может заодно что-то получится улучшить - ведь вместе мы сила!
Ждём Вашу статейку про данную реализацию с кодом и плюшками
Статью уже написал и вчера отправил на модерацию. Как выйдет то сюда прикреплю ссылку и архив с исходниками.
Там все элементарно и просто. Так как я устал заморачиваться с платами и кодом. Пока тесты проходили в "Лабораторных условиях". Все работает штатно. Летом уже буду тестировать в «полях». Вот там действительно будет интересно. В целом если проект понравится, то можно и с модернизировать, и улучшить. Это не сложно.
У коллеги по работе в другом населенном пункте выдает 0x81h - 0x8Ch (129-140 градусов), что при вычитании 0x80h (-128) даёт (-1 - -12), хотя на улице -20 - -30 градусов, но внутренний термометр счётчика всегда показывает какую-то свою температуру. Но у коллеги в прошивке выключена была отладка и я не могу получать сырые пакеты. Или просто та модификация FW/SW которая используется в нашем населенном пункте не умеет просто работать с отрицательными температурами?! Согласно тому, что старший бит знаковый, скорей всего для отрицательных температур так же вычитать нужно 128 (0x80h), при значениях >=128. Возможно в версиях счетчиков, которые установлены в нашем населённом пункте есть ошибка в софте, которая не позволяет получать отрицательные значения температур.
У Cos (фи) было более понятно нахождение отрицательных велечин (так же найдена опечатка в коде, после получения частоты сети приведите код получения Cos (фи) общего к следующему виду):
Код:
//старший бит знаковый. Формат данных X.XXX. Диапазон: от -1.000 до +1.000. 03E8H соответствует 1.000, а 83E8H соответствует -1.000. if (resultbuffer[27] >= 128) { cosin = float((resultbuffer[26] | ((resultbuffer[27] - 128) << 8))) / -1000; } else { cosin = float((resultbuffer[26] | (resultbuffer[27] << 8))) / 1000; }
Код парсинга темпреатуры приведите к следующему виду:
Код:
if (resultbuffer[42] >= 128) { T = float((resultbuffer[42] - 128)) / -1; } else { T = float(resultbuffer[42]); } Serial.print("T: "); Serial.println(T);
Вложения:
Комментарий к файлу: Исправлена опечатка в обработке общего Cos(фи), обработка отрицательных температур счётчика My_Mirtek_GW_upd9.zip [8.76 KiB]
Скачиваний: 86
Прошу прощения, те кто обновился на _upd9 прошу обновиться на _upd9a, так как в _upd9 были изменения для счетчика с HEX номером 0x56h 0x55h. Всё поправил в _upd9a, протестировано. У кого отображается температура как -127 - это означает что счетчик не обрабатывает отрицательные температуры и передает просто 0xFFh (255 градусов) как в счетчиках в моем населенном пункте, где они установлены. Прошу отписаться тех, у кого выдает правильно отрицательные значения температуры (сам счетчик температуры показывает не совсем верно, закономерность для корректировки математическим способом не найдена). Как показала практика - многие датчики которые приехали в последнее время ко мне с алиэкспресс в корпусе ТО-92 показывают температуру примерно на 8 градусов выше, чем герметичные датчики в металлической гильзе на проводе.
Вложения:
Комментарий к файлу: FIX номера счетчика (снова берётся из конфига), получение и обработка отрицательной температуры, исправлено получение общего Cos(фи) My_Mirtek_GW_upd9a.zip [8.72 KiB]
Скачиваний: 123
А есть по распиновке в данной прошивке, разница между прошивкой на 3й странице со схемой? Что то прошил, вижу в топиках активность, но все показания по 0
мб что то с модулем конечно, на старой прошивке тоже перестал жить и что то сласть
Код:
SPI Connection CC1101 OK State changing from: 0 to 2 Setting up AP: Mirtek_GW Use password: <hidden> AP IP address: 192.168.4.1 AP timeout (ms): 30000 State changed from: 0 to 2 State changing from: 2 to 3 E (43858) wifi_init_default: netstack cb reg failed with 12308 Connecting to [HomeWIFI] (password is hidden) WiFi timeout (ms): 30000 State changed from: 2 to 3 WiFi connected IP address: 10.0.0.81 State changing from: 3 to 4 Active mDNS services: 1 Accepting connection State changed from: 3 to 4 Connecting to MQTT server... Connected!
Обычно на столбе несколько счётчиков, попробуйте указать в настройках адрес другого счётчика со столба (их номера крупно на крышках написаны), так же Вам написал в ЛС.
У Вас почему-то пакет принимается без CRC и стопового бита, что странновато. По этому парсинг и не работает. Можете в проверках для парсинга (конструкция IF - Else) удалить проверку некоторых бит конечных. (для эксперимента)
В общем полез ещё в одну сторону Пересобрал прошивку в VSC+PlatfomIO И тут начались странности Если я уродую прошивку по минималку (во вложении) То все пашет, но если я заливаю полную версию 9а, загрузка проходит но первый же любой запрос в консоль Получаю сообщение что получено сообщение в консоль, но модуль вешается сразу же
Из того что видно визуально при сравнении кода в Win Merge: 1. gdo0 = 2, а не 22 (на 2-м выводе на самом деле весит внутренний светодиод; 2. #define STATUS_PIN 16, хотя я специально заменил вывод 2 на 22, на выводе 2 висит внутренний светодиод; 3. Выброшены проверки поступившего пакета (как и многое выбросили )
_9a сейчас залита и работает у меня на даче (но радио модуль изначально использован был из самого пульта, хотя потом собирал для коллеги уже на CC1101 с Али и всё работает) В прилагаемых файлах показываю что все работает, количество принятых сообщений с модуля более 65к, просто на компе иногда делаю другие дела и модуль MQTT Explorer может быть закрыт и статистика пропадает при следующем запуске. Но скажу так: залил _upd9 уехал с дачи - увидел что не работает, нашел косяки с номером, пофиксил, когда поехал потом на дачу по делам - заодно залил новую _upd9a, приехав проверил что все работает и выложил, так что работает с 06.01.2024 и стабильно, ничего не менял так как просто туда не ездил.
Вложения:
Комментарий к файлу: Количество принятых сообщений в MQTT Миртек_3.JPG [8.67 KiB]
Скачиваний: 160
Комментарий к файлу: Принятые данные в MQTT Миртек_2.JPG [38.88 KiB]
Скачиваний: 125
Комментарий к файлу: Страничка Миртек_1.JPG [60.31 KiB]
Скачиваний: 140
Сейчас этот форум просматривают: AlexS4 и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения