Умный счетчик расхода воды: бюджетный подарок к Новому Году.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 6 дек 2016.

  1. Всем привет. Подскажите пожалуйста какую ESP стоит взять если потребуется 3 считать крмое воды еще и ЭЭ т.е. еще 1 контакт для подсчета нужен. И как резерв еще + стояк воды(еще 2 контакта).
    Из сообщений не совсем понял поддержка MQQT это разве как то аппаратно развязано? я думал это лишь на программном уровне.
     
  2. SergeiL

    SergeiL Оракул Модератор

    У NodeMCU девять доступных GPIO, три из них требуют определенных уровней на старте и программировании, но понимая как ими пользоваться, можно их использовать без ограничений. Ну и еще два GPIO под UART, но мне всегда хватало GPIO и без задействования GPIO UART.
    Вот и считайте, хватит или нет ;)

    Это где вы такое нашли?
    Может быть быть имелось в виду, что прошивка NodeMCU LUA должна включать MQTT ?
     
  3. Да, именно об этом я и думал, возможно не правильно интерпретировал написанное, спасибо.
    Я пока по МК только прикасаюсь к отрасли) В ИТ вначале был админом, потом дорос до разраба на C#.

    По NodeMCU спасибо, их и закажу 5 на лабы) NodeMcu лучше брать 3 версии же?
    Подскажите, а сам MQTT сервер в домашних условиях поднимали или используете в основном публичные?
     
  4. SergeiL

    SergeiL Оракул Модератор

    А других и нет сейчас, разные производители, а ESP12 одна и таже.
    У меня свой MQTT москито, поднят на распбери, там он поднимается в несколько команд, вопрос о доступности репозиториев сейчас.
    Могут быть и закрыты, но с VPN вопрос решается, думаю.
     
    СергейР нравится это.
  5. obuhanoe

    obuhanoe Гик

    Если IP серый начинается на 178 (роутер Xiaomi R3G с прошивкой PAdavan) - можно будет достучаться до raspberry (у меня 3 версия) ?
     
  6. SergeiL

    SergeiL Оракул Модератор

    У меня внешний IP-шник белый. Сделан проброс на роутере с внешнего порта на внутренний.
    Бывает еще IP адрес белый, но раз в сутки меняющийся. Тут поможет что типа DynDNS. Был у меня такой вариант много лет назад.
    Если IP адрес серый, и не доступен из интернет, для подключения в локальную сеть из интернет может использоваться VPN, который поднимается роутером на белый IP (все равно должен быть какой-то белый IP адрес, заходим через этот белый IP). По сути, вариант кинетика - это вариант с VPN.
    Ну или MQTT брокер на виртуалке в дата центре, там при выделении ресурсов всегда выделяется хотя бы один белый IP .
     
    ИгорьК нравится это.
  7. obuhanoe

    obuhanoe Гик

    Где то у меня был VPS от Oracle, если он жив то можно там попробовать.
     
  8. А дальше сервера москито что идет?) Если не секрет поделитесь схемкой инфрастуктуры) Дома есть bananapi, думал либо на ней поднять либо на выделенном компе в докере поднять необходимое.
    Пока поднял на докере гитлаб, nextcloud для хранения домашних фоток. Думаю homeasistant попробовать поднять и может туда подвязать счетчики по ээ и воде + анализатор воздуха и датчики температуры/влажности.
     
  9. ИгорьК

    ИгорьК Гуру

    СергейР и SergeiL нравится это.
  10. SergeiL

    SergeiL Оракул Модератор

    Так вариантов много, и многие варианты здесь, на форуме, подробно описаны.
    Из последних, в порядке от более нового к старому - Хоум асистант, Домотикз, ОпенХАБ. Это по времени появления.
    Опен ХАБ был 1.Х, 2.X, сейчас уже 3.Х.
    Просто первый здесь подробно описан, потом появился Домотикз, и частично перешли на него.
    Потом появился HA и часть пользователей снова сменили агрегатор.
    У меня в 2015-ом был поднят ОпенХАБ 1.Х, и он до сих пор работает, причем надежно и без единого желания его обновить.
    Еще, на второй распбери, стоит OH v.2.5. Часть работает на нем, и я не вижу особого смысла перенести ту часть с первого OH, на второй.
    Так и работают оба параллельно, часть на первом, часть на втором. Все, что мне нужно, и хочется сделать, могу сделать и там и там.
    Но я пишу код для ESP на Си и компилирую в Ардуино ИДЕ. И пока не вижу каких то серьезных ограничений по возможностям реализации задумок. Дома уже более 20 модулей ESP, а еще есть за пределом дома - дачи, работа - офисы.
     
    ИгорьК и СергейР нравится это.
  11. ZAZ-965

    ZAZ-965 Гуру

    На Падаван есть возможность управлять роутером через Телеграм-бот (в том числе получать сообщения о изменении IP) https://bitbucket.org/padavan/rt-n56u/wiki/RU/Отправка сообщений в Telegram
    На вашем роутере будут работать и mosquitto c domoticz и веб-камера с интернет-радио.
     
  12. спасибо)
    много времени ушло на изучение Cи? Много чего интересного автоматизировали? Прям интересно, что можно сделать в офисе и дачи, сигнализацию?) А управление там через инет? телеграм бот?
     
  13. SergeiL

    SergeiL Оракул Модератор

    Мой пример не показателен.
    Я был поставлен перед необходимостью изучения Си в среде Unix в 1987г.
    Это почти за 10 лет до появления "древних AVR от Atmel", как их называет паровоЗЗ. (За 18 лет до появления Ардуино на них)
    Из МК тогда была популярна серия i8051, уже не Z80, и это уже был микроконтроллер, а не микропроцессор.
    По сравнению с i8051, "древние AVR от Atmel" - были сильный прогресс, пропустим PIC-и, не было тогда Си под PIC, а под i8051 - был.

    Я пришел к середе Ардуино только из за ESP8266, поддержка которой появилась в Ардуино на Си году в 2016-ом. До этого была поддержка ESP8266 только на LUA. Мне LUA не зашел, а на Си, мне, было привычно, легко и просто ;)

    На то, на что фантазии хватит. ;)
     
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Гуру

    Похоже, вы невнимательно ходили по ссылке, там есть ответы и по инфраструктуре и по тому, что можно сделать самому.

    Язык Си, который перетекает в С++, который Ардуино - явление очень глубокое. Для копирования поделок Гайвера и собственных простых разработок в стиле IFTTT хватит четырех-пяти вечеров (изучения операторов и общих принципов работы с данными).

    Попытка въехать в структуры данных, указатели, ООП потянет месяца на два интенсива.

    Более глубокое изучение языка - оно практически не возможно для DIY, если только не станет вашим хобби как таковым. Тогда это станет схоластикой (коль вы не занимаетесь зыком профессионально) и выпасом сферических коней в вакууме.

    Я с нуля (ноль понимания электроники и ноль в программировании) сам сделал три проекта на ардуино (Си, все раскрыты на этом сайте) и, с появлением ESP8266, вынужденно (тогда ардуинщики боялись к нему подойти, а проект NodeMCU вполне сносно работал), ушел на Lua. Творил на этом языке всякие безобразия, но понял прелесть асинхронного кода по-умолчанию и свободу в структурировании данных.

    Последнее время пытаюсь вернуться к ардуино-языку Си (внук растет, надо учить его), даю себе слово и не держу - жалко тратить время.

    В общем, для домашней автоматизации мне хватает Lua (было пару поделок на JavaScript тоже здесь раскрыты) и не было ни одной задачи, которую я бы не решил с ним. Но если хотите блистать среди тех, кто "один знает больше чем весь форум" - тогда учите Си.
     
    issaom, DetSimen и SergeiL нравится это.
  15. SergeiL

    SergeiL Оракул Модератор

    Пять баллов!!! :) Все, всё, поняли!
     
    issaom, Andrey12 и DetSimen нравится это.
  16. SergeiL

    SergeiL Оракул Модератор

    Асинхронность - это же в голове.
    На Си та же асинхронность, но нужно правильно писать, а не "в лоб".
    Все же последовательно, и там и там.
     
  17. ИгорьК

    ИгорьК Гуру

    Грустно это, на самом деле.

    Думаю, это не так. Тебе не зашел Lua как раз по причине "содержания головы", наполненной loop. Синтаксис Lua действительно можно изучить за 15 минут (где-то есть статья, это, конечно, не правда, но вечер - точно), но мышление там кардинально другое. Я от "ардуино-головы" больше года, думаю, избавлялся.
     
  18. SergeiL

    SergeiL Оракул Модератор

    Мышление - это понятно, у меня Си-шное. Но Loop() у меня до этого не было.:)
    В LUA я пытался "входить" по учебнику Р. Иерузалимски.
    Учебник "прочитан до дыр", в электронных книжках, я же из старой формации.
    Меня тогда напрягало отваливание по каким-то неведомым мне признакам, при простейшем коде., и причем в неведомый мне момент.
    На Си, asm, (а Си - это тот же макро "асм ") такое в принципе невозможно.
    И на Си это это мне очень нравилось. То есть, "если нет варнингов, код написан правильно, нет ошибок с указателями, нет наездов сетка на кучу, нет ошибок динамического распределения памяти, e.t.c. все будет работать годами, без перезапусков по WD, без какой либо доработки...
     
    DetSimen нравится это.
  19. ИгорьК

    ИгорьК Гуру

    Это верно, но для простой и древней железки AVR, где ты добираешься до ее кишок регистров. Там где появляется HAL в сложных системах ты зависишь от него, что-бы ты не делал и на каком языке не действовал. Поэтому старые косяки ESP - это более глубокая проблема, чем вопрос языка. Уверен, ты и на ардуино кодинге сталкивался че-то, что, обычно, описывается в errata.

    Я его тоже зачитал, но в тот момент не было нормальной документации, включая простую фразу: "The NodeMCU programming model is similar to that of Node.js, only in Lua".

    В общем, я ни за что не агитирую, но личным примером хочу показать, что ноль в железе/ардуино может сам что-то делать без всяких подсказок с применением NodeMCU. Единственный (!!!!!) полезный совет, что я смог добыть только на форуме, это было разъяснение тов. DIYMan на тему передачи функции в качестве аргумента, которая на сях с придыханием называется лямбдой (и кто до этого доучивается?), а на JS/Lua - основа и просто шлак.
     
  20. b707

    b707 Гуру

    просто на сях есть масса других способов получить тот же эффект :) и чем больше знаешь, тем реже эти лямбды используешь :)
     
    SergeiL нравится это.