Arduino, ESP8266, Raspberry Pi 2 && OpenHab. Умный дом: азы управления.

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

  1. SergeiL

    SergeiL Гик

    Сегодня поехал, купил охранный, потолочный, пассивный, ИК датчик движения «Астра-7 исп. Б».
    Он на стандартные 12В (по тех. описанию 8-15В).

    Открыл, провел исследование, напряжение после стабилизатора (на процессоре) 5В.
    Буду ставить, экспериментировать.

    Еще была мысль, и пожарный датчик прикрутить на эти же ESP.
    Чтобы уж сразу, и все, и ставить удобно, оба рядом с люстрой, и проводов больше не нужно.
    На данный момент, дома во всех помещениях стоят автономные извещатели от строителей, с питанием от «кроны», но без батарей :).

    Сейчас разбираюсь как с них лучше снять сигналы...
     
  2. ИгорьК

    ИгорьК Победитель модулей

    ИМХО, количество ESP-8266 в сети тоже не безгранично. Я все таки за noolite. Железо у них хорошее. В логике его применения ошибки, но это решаемо.
     
  3. ИгорьК

    ИгорьК Победитель модулей

    ИК датчики Что в ардуиностроении - 100% 3.3в.
     
  4. SergeiL

    SergeiL Гик

    Ну, у меня основной опыт был с "охранными" под сухой контакт.
    Они все на 12В, а из диапазона 8-15В, напрашивалось, как мне казалось, что внутреннее 5В.

    Да и с корпусом у охранных, все, в общем-то, в порядке.
    «Астра» выглядит очень даже прилично, дома не стыдно на потолок повесить. Да и цена приемлемая.
     
  5. SergeiL

    SergeiL Гик

    Это да... Согласен!
    Причем я, пока, нигде не видел зависимостей по качеству канала, от количества подключенных Wi-Fi устройств, не генерящих трафик.

    Например, есть несколько ESP сидящих на точке.
    Трафик у них – это отправка нескольких посылок раз в минуту.
    Есть смартфон, сидящий на этой же точке и загружающий тяжелую страницу.
    Вроде ESP не должны мешать, но есть ощущение, что при определенном кол-ве, ESP вносят сильное торможение. До подключения ESP «вроде» грузилось быстрее…

    Понятно, что правильно, все IoT девайсы вынести в отдельную сеть, но это типа – правильно.
    А как посчитать сеть, и влияние кол-ва устройств на загрузку точек???

    Искал в интернете, нет ни рекомендаций, ни объяснений, ни как правильно считать сеть…

    Пока у меня только восемь ESP в сети на три Wi-Fi точки (ESP выбирает точку с лучшим сигналом). Планировалось добавить еще семь, как минимум. Похоже нужно поднимать сеть под IoT ?.?
     
    Последнее редактирование: 4 май 2017
  6. kmaximv

    kmaximv Гик

    Тоже недавно задался этим вопросом. Раньше у меня стояли роутеры ASUS RT-56U и RT-65U. При более 10 клиентов на точку начинались непонятные зависания и тормоза, помогала перезагрузка. Пробовал разные прошивки, настройки, ничего не помогло.
    Месяца 2 назад решил перейти на UniFi AP-AC-Pro. Пока поставил одну точку, работает без сбоев. Буду брать еще две. Сейчас на ней 9 ESP модулей. Если будут проблемы при расширении, отпишусь.
    Выделение_015.png
     
    ИгорьК нравится это.
  7. alp69

    alp69 Гик

    Как правило, в описании роутеров указывается максимальное количество клиентов. Так что при наличии в сети нескольких точек доступа, очевидно нужно ориентироваться на самую "слабую".
     
  8. SergeiL

    SergeiL Гик

    Да это понятно... Количество никогда не превышалось.
    Обычно, заявленное макс кол-во на обычную точку не меньше 16. И...
    Дома до десяти, и уже появляются какие то тормоза.
    На работе точки до 60 подключений, а при 25 уже люди жалуются на качество...

    Всегда не любил Wi-Fi.. Раньше, дома, я Wi-Fi оставлял только для телефонов.
    Все остальные устройства по возможности сидят на Ethernet 1GB.

    ESP как-то внушили доверие. Работают без пропаданий, и без потерь соединений.
    Но, как показалось…, другие устройства на этих же точках начали тормозить…
     
  9. Serg_

    Serg_ Нуб

    [QUOTE="SergeiL, …[/QUOTE]

    Попробуйте модули RCWL-0516. Я их везде сейчас по квартире буду ставить - работают отлично, можно под обои и плитку класть -)
     
  10. ИгорьК

    ИгорьК Победитель модулей

    Я тут заглянул в свой RT-AC66U:
    wow.jpg
     
  11. dimksum

    dimksum Нерд

    Возможно ли динамически создавать итемы и размещать их в сайтмап? (есть база данных важных событий и в зависимости от даты количество этих событий разное. Было бы неплохо при нажатии на фрейм отображать события списком)
     
  12. ИгорьК

    ИгорьК Победитель модулей

    56. Злодейства с init.lua
    В ESP-8266 существует файл init.lua, который запускается при старте модуля. Если его нет - автозапуск не происходит.
    Типовые задачки работы с ним -
    • написать его, если нет,
    • удалить, если он есть, но требуется предотвратить автозапуск.
    Предлагаю сниппет для ESPlorer, который решает три задачи:
    1. если обнаружен init.lua - переменовывает его в _init.lua и ресетит модуль, что предотвращает дальнейший автозапуск;
    2. если обнаружен _init.lua - переименовывает его в init.lua и рестит модуль, что вызывает автозапуск;
    3. если нет ни того ни другого - печатает на экран шаблон init.lua
    Попробуйте, может понравится.

    Как работать.

    У вас уже есть init.lua а нужно отлаживать программу: запитываете модуль, открываете порт и жмете на кнопку сниппета - автозапуск будет выключен, init.lua станет _init.lua

    Все отлажно - жмете кнопку сниппета - _init.lua переименовывается в init.lua и скрипты запускаются
    А если у вас еще нет init.lua - его шаблон - на экране. Копируете, создаете файл и загружаете в модуль. init.lua, в свою очередь, запускает на исполнение файл main.lua но вы можете изменить строку запуска как необходимо.
    Код (Lua):
    if file.exists("init.lua") then
         file.rename("init.lua","_init.lua")
         node.restart()
    elseif file.exists("_init.lua") then
         print("Really rename to init.lua? \n5 sec. delay!")
         tmr.create():alarm(6000, 0, function()
              file.rename("_init.lua","init.lua")
              node.restart()
         end)
    else
         print("No init files! Pattern now.")
         print('tmr.create():alarm(22000, 0, function()\n'..
             '\tif file.exists("main.lua") then\n'..
                 '\t\tdofile("main.lua")\n'..
             '\telse\n'..
                 '\t\tprint("No main.lua, Rename init.lua!")\n'..
                 '\t\t\tif file.exists("init.lua") then\n'..
                     '\t\t\tfile.rename("init.lua","_init.lua")\n'..
                     '\t\t\tnode.restart()\n'..
                 '\t\t\end\n'..
             '\tend\n'..
         'end)')
    end
    init.jpg

    Что касается шаблона init.lua. Он очень умный, (как, ...ь, дом, управляемый пультом дистанционного управения).

    init.lua настроен на запуск main.lua и проверяет наличие такого файла. Если его нет - init.lua самоликвидируется, чтобы не вводить систему в вечный ресет - он переименовывает сам себя в _init.lua и перезагружает модуль - автозапуск отменен.
     
    Последнее редактирование: 5 авг 2017
    alp69 нравится это.
  13. ИгорьК

    ИгорьК Победитель модулей

    Закончил вариант устройства nooLite MTRF-64, который вставляется между пультом управления и силовым блоком. Работает устойчиво, но устройство, мне кажется, в целом неправильное.

    Для автоматизации квартиры, где под управлением 3-5 лампочек - самое то. Обеспечивает точное знание состояния силовых блоков.

    Если говорить о расширении - не годится.

    Вернусь к снифингу команд пультов => передаем в OpenHAB, а все сценарии, наоборот из OpenНab на силовые блоки.

    И подумаю что делать с управлением яркостью - раньше этот вопрос просто игнорировал.
     
    Последнее редактирование: 19 май 2017
  14. Estranged

    Estranged Нуб

    Здравствуйте, друзья. Никак не могу понять в чем дело:
    ОН2 на RPI3. Клиенты Ардуины и ЕСП. Понадобилось создать кнопку. В Итемах прописал Switch BUTTON "Кнопка" {mqtt=">[broker:kalitka/open:command:ON:1]"} В Сайтмэпс прописал ее как
    Switch item=BUTTON mappings=[ON="Открыть"] Проверил на Ардуино - работает. Перезагрузил Ардуино. И сразу же получил "1" из топика kalitka/open. Запустил MQTTfx, подписался на kalitka/open и опять сразу же получил "1". Кнопка при этом не нажималась. Удалил в ОН в Итемах упоминание о топике kalitka/open, но продолжаю получать "1", если в MQTTfx подписываюсь на этот топик. ОН перезагружал. Как это пофиксить?
     
  15. ИгорьК

    ИгорьК Победитель модулей

    Было отправлено сообщение с высоким приоритетом доставки.
    С сотового не помогу - надо доки почитать как его уничтожить.
     
    Estranged нравится это.
  16. Estranged

    Estranged Нуб

    QoS 0 у этого сообщения, как и у всех других.
     
  17. ИгорьК

    ИгорьК Победитель модулей

    Извиняюсь, не доставки а retained - сохранности.
    Как удалить - послать сообщение в топик без тела - payload. Вручную, через mqttfx или MqttSpy
     
    Estranged нравится это.
  18. ИгорьК

    ИгорьК Победитель модулей

  19. Estranged

    Estranged Нуб

    Спасибо за помощь. Уже успел переустановить Москитто, проблема ушла. Осталось понять, почему сообщению установился флаг Retained.
     
  20. ИгорьК

    ИгорьК Победитель модулей

    Надо искать в том месте, где возникает это сообщение: что публикует его на брокер - то и устанавливает флаг.
     
    Estranged нравится это.