Max
Tasmota + Алиса = любовь. Протокол Matter в самодельных и перепрошитых устройствах умного дома Не секрет, что многие пользователи умного дома используют облачные сервисы для управления устройствами и интеграции их в другие экосистемы умного дома (далее - УД). Так, например, для того чтобы использовать устройства разных брендов в Умном Доме Яндекса (далее - УДЯ), необходимо привязать учетную запись приложения бренда (SmartLife, Sibling, Tuya Smart и т.д.), и далее УДЯ будет работать с этими устройствами через облачные сервера. Пара нажатий и готово. И зачастую это выглядит абсолютно оправданно - минимум телодвижений и гарантированный результат. Но есть и существенные минусы, один из которых - зависимость работы УД от наличия интернета. Да и скорость работы через облачные сервисы оставляет иногда желать лучшего. Сам иногда наблюдаю такую картину - с момента произнесения фразы "Алиса, включи свет" до непосредственно включения света может пройти пара секунд. Да и лампочки в люстре включиться могут не все. Одна бывает совсем не слушается. Редко, но бывает. Поэтому многие продвинутые пользователи УД держат у себя сервер HomeAssistant, который благодаря наличию множества интеграций позволяет управлять умным домом с помощью локальных протоколов, что качественно влияет на работу всевозможных автоматизаций - для них больше не нужен интернет и китайские облака. А некоторые пользователи отвязывают от облаков свои устройства и вовсе кардинальными методами - прошивая их на альтернативные прошивки типа esphome или Tasmota. Естественно, управление перепрошитыми на альтернативные прошивки устройствами через интернет с помощью родных приложений перестает работать, да и добавить такое устройство в Умный Дом Яндекса без дополнительных танцев с бубнами не представляется возможным. Точнее не представлялось, пока не появился Matter! Тем кому интересно как без использования сторонних "навыков", локальных серверов УД и интеграций добавить практически любое устройство, прошитое Tasmota и openBeken, добро пожаловать под кат. Читать далее https://habr.com/ru/articles/891502/?utm_campaign=891502&utm_source=habrahabr&utm_medium=rss
Vlad
Пишут, что к1921вг015 это перемаркированный GD32F427ZGT6
ㅤ
Скажи ему чтоб завязывал с тяжелыми препаратами
ㅤ
а кто мешает сделать это на стороне приемника ?
Ну погоди ты, я хотел ход его мыслей уловить. А ты всё испортил
ok-home
Ну погоди ты, я хотел ход его мыслей уловить. А ты всё испортил
"Наступило утро и Шахерезада прекратила дозволенные речи.." 😜
Vlad
Скажи ему чтоб завязывал с тяжелыми препаратами
Действительно, вообще не похоже, скорее на GD32VF103
C
а кто мешает сделать это на стороне приемника ?
лень мешает. вместо написания костылей разумнее заюзать сторонний терминал, в котором это дефолтная фича. но хотелось бы уточнить, друг такая возможность есть и у встроенного в идф терминала, было бы удобнее юзать его.
ㅤ
лень мешает. вместо написания костылей разумнее заюзать сторонний терминал, в котором это дефолтная фича. но хотелось бы уточнить, друг такая возможность есть и у встроенного в идф терминала, было бы удобнее юзать его.
Нет, как раз терминал и есть костыль. ПОтому что юарт это потоковая передача. Тебе данные могут придти кусками по разным причинам и ты должен верно их обработать
ㅤ
В данном случае тебе нужно дождаться терминирующего символа \n и только тогда принять "данные" к исполнению
ㅤ
Или по таймауту
ㅤ
Терминал так или иначе отправлять будет побайтово. Даже если оно строку целиком пошлет без задержек. Но вероятность того что твой код решит что он получит её всю (а по факту половину) из-за паузы в несколько микросекунд - большая
C
да понятно, что байты будут передаваться друг за другом, а не сразу все. я может не корректно мысль выразил: мне нужно отправить руками например left=100\r\n; так вот этот терминал отправляет сразу же символ l, как только я нажал букву l на клаве, т.е. он не ждет, пока я нажму условную "отправку". мне это не нравится, хочу как в любом другом терминале кнопку send или реакцию на клавишу энтер.
C
работает
ㅤ
А, уже предложили. Ну я собственно это сразу и хотел предложить, но думал это настолько очевидно что такие очевидные вещи даже предлагать не хотелось
Ilia M
А, уже предложили. Ну я собственно это сразу и хотел предложить, но думал это настолько очевидно что такие очевидные вещи даже предлагать не хотелось
Очевидные советы вроде "перезагрузи комп" никогда не бывают лишними 🤷‍♂ люди ищут бОлее сложное решение и простейшее уходит из поля зрения далеко за горизонт
Max
Передача данных от ESP32 по Bluetooth LE к Android Идея приложения состоит в демонстрации IoT - интеграция различных устройств, и передача данных по разным протоколам в Edge или Cloud. Допустим, наш автономный механизм работает без подключения к интернету, а нам необходимо сделать замеры поведения движений во времени. Мы подключаемся с помощью смартфона по Bluetooth LE к контроллеру механизма и в течении определенного времени делаем запись. При этом наш смартфон успешно подключается к облачному MQTT-брокеру и передает данные в IoT платформу. Платформа производит аналитику и предоставляет нам результат. А мы в это время на основании полученных данных можем внести требуемые значения характеристик механизма в контроллер по BLE. В статье Machine learning на ESP32 мы начали разработку проекта распознавания жестов для ESP32. В данной статье продолжим реализацию подключение и отправку данных по BLE и MQTT с помощью Android-устройства. Хотя ESP 32 может напрямую подключаться к Wi-Fi и MQTT, как, например, показано в статье Платформа с web-камерой на ESP32, мы все же реализуем передачу данных по BLE, руководствуясь выше изложенными соображениями. Читать далее https://habr.com/ru/articles/892418/?utm_source=habrahabr&utm_medium=rss&utm_campaign=892418
Диванный Оракул
Доброго времени! Вопросец есть. Наткнулся в одном исходнике на такое WiFi.begin(ssid, password, 6); Вопрос - Что за параметр "6"?
Сергей
Доброго времени! Вопросец есть. Наткнулся в одном исходнике на такое WiFi.begin(ssid, password, 6); Вопрос - Что за параметр "6"?
WiFi.begin() Описание Функция инициализирует сетевые настройки библиотеки WiFi и возвращает текущий статус соединения. Синтаксис WiFi.begin(); WiFi.begin(ssid); WiFi.begin(ssid, pass); WiFi.begin(ssid, keyIndex, key); Параметры ssid: SSID - имя WiFi-сети, к которой необходимо подсоединиться. keyIndex: сети, использующие алгоритм шифрования WEP, могут содержать до 4 различных ключей. Данный параметр позволяет задать, какой из ключей необходимо использовать. key: шестнадатеричная строка, используемая в качестве ключа безопасности WEP-сети. pass: сети, использующие алгоритм шифрования WPA, используют пароль в виде строки. Нашел такую штуку
Сергей
по идее такой вид приемлем WiFi.begin(ssid, password);
Диванный Оракул
Вопрос снят. Полезу копаться в либе.
Диванный Оракул
Залез. Если кому то интересно - 6 - это номер канала. В описании к либе ошибка.
Vector
С gpio6 заработал, подключил транзистор через 1ком. И поставил inverted: false. Может в прошлый раз где-то ошибся. Но сейчас нормально все.
теперь еще одна задача, сделать физ кнопку для включения виртуалки на unraid. создал скрипт при помощи chatgpt. вроде рабочий скрипт, но не работает. думаю esp32 не отправляет комманды по ttyacm0. cat /dev/ttyACM0 пусто, ответа нет знающие, помогите пожалуйста. userscript код esphome
ㅤ
Залез. Если кому то интересно - 6 - это номер канала. В описании к либе ошибка.
Вот даже специально посмотрел нет там никакой ошибки. Конечно если параметр 3 цифровой, то да это номер канала, если это строка то это как раз то, о чем написано выше
Ilia M
Так вроде, если убрать "6", то канал будет выбран автоматически? (2года не открывал IDE вообще)
ㅤ
Так вроде, если убрать "6", то канал будет выбран автоматически? (2года не открывал IDE вообще)
Какая связь между 2 летним открытием IDE и каналом Wifi? Да, если канал не будет указан принудительно (требуется в некоторых частных случаях) то естественно он будет выбран автоматически на том канале на котором точка доступа вещает данный SSID.
ㅤ
А IDE то тут причем? Если речь идет про wifi?
Ilia M
А IDE то тут причем? Если речь идет про wifi?
🤦‍♂️ давно не прогал, не помню параметры функций, либу не ковырял, могу ошибаться в параметрах и описаниях. Продолжить?
Ilia M
Ну это я понял. А канал вифи тут причем?)
параметры, передаваемые в функцию плохо помнююююююююю
ㅤ
Да, точно. Не обратил внимания на команды. Поправлю
На высеры нейросетей всегда надо обращать внимания, потому что творчеством оно может заниматься регулярно
Денис
На высеры нейросетей всегда надо обращать внимания, потому что творчеством оно может заниматься регулярно
там даже если чуть иначе поставишь вопрос и уже смысл совершенно другой
Vector
Но как быть с cat /dev/ttyACM0?
Ivan
Поясните ардуинобыдлу, как эти пины на wroom 32 найти?
Ivan
Арсений
Следовательно 25 это gpio 25
Ivan
Нашел-это 14, 13, 12. Но в чем смысол. Это i2s пины?
Ivan
Все понял, простите за вопрос, мне правда стыдно. Почитал документацию наконец.
ㅤ
Поясните ардуинобыдлу, как эти пины на wroom 32 найти?
Можно использовать почти любые пины
Vladimir
Здесь есть полезная табличка, правда иногда только через VPN открывается. https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
ㅤ
Здесь есть полезная табличка, правда иногда только через VPN открывается. https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
Бывает достаточно браузер другой использовать без поддержки ECH(ESNI). Например firefox. Особенность хулиганства РКН с шифрованным заголовком TLS hello. Если не видят на какой ты домен собрался - просто не пропускают соединение
Vlad
привет а кто-нибудь пробовал уже ESP32C6 для именно Zigbee ? как оно там вообще, тикает ? на дальность проверяли? с какими антеннами ? потребление реальное от батареи ?
Sergey
Самая полезная табличка - табличка от производителя, все остальное - возможно чьи то фантазии и придумки
Vlad
Привет! Я сейчас ковыряю. Тикает) На дальность и потребление не проверял.
от встроенных антенн ? ты две штуки между собой коннектишь ? дальность проверь, плизз, хоть в пределах квартиры-то работает ли ?
Voin
Voin
вот такой пользуюсь... тут понятно что со служебными выводами и как их можно или нельзя использовать
Voin
Voin
стырил где-то в интернете
Vlad
От встроенной. Три. Похоже что только на пару метров.
а почему три ? для пробы пары не хватит, скоко заказывать ? выносных антенн на пигтейлах нету для теста у тебя?
Vladimir
а почему три ? для пробы пары не хватит, скоко заказывать ? выносных антенн на пигтейлах нету для теста у тебя?
Gateaway делаю, минимум три для тестов нужно. Так и на девбордах разъёма под выносную антенну нет.
Vlad
Gateaway делаю, минимум три для тестов нужно. Так и на девбордах разъёма под выносную антенну нет.
т.е. конфигуратор, роутер и девайс сразу обязательно ? я хотел XIAO-ESP32-C6 заказать, там и встроенная антенна, и разъем UFL
Vlad
А что ты собираешься делать на них?
да ну классически, термо-вибро-датчик но надо максимально компактный
Vladimir
да ну классически, термо-вибро-датчик но надо максимально компактный
Пары для тестов хватит. Там SDK после Arduino библиотек конечно достаточно своеобразный.
Vladimir
ардуины не хватит чтоли ?
Не смотрел есть ли Arduino библиотеки под C6 и Zigbee.
Vladimir
что-то есть
Глянул, вполне возможно под твою задачу хватит.
Vlad
Пары для тестов хватит. Там SDK после Arduino библиотек конечно достаточно своеобразный.
я так понимаю, что одновременно использовать Zigbee и WiFi у ESP32C6 - это фантастика ? но по очереди-то, наверняка, можно будет в координаторе - поймать от датчика данные, переключиться на WiFi - и на сервер через штатный WiFi-роутер - скинуть данные датчика ?
Vlad
Почему фантастика?
неужели реально ? одновременно ?
ㅤ
неужели реально ? одновременно ?
У них в доке есть табличка, глянь должно быть написано. Вифи же с бле работает, там TDM же используется
Max
https://vkvideo.ru/video-229052399_456239234 https://rutube.ru/video/6e6ab200d95436c8ddcbb07d6c8b8094/ https://dzen.ru/video/watch/67dbfed41909dc7103481e19
Vlad
Тут вопрос зачем нужен промежуточный этап в виде Zigbee?
в промышленных условиях цеха WiFi-датчики запихнутые между железяками 5-10 метровыми на дистанциях до 20 метров - таки недоступны, изредка пакеты пробиваются. частота, конечно, тут таже 2.4ГГц, но вот попробовать надо бы Zigbee
ㅤ
https://docs.espressif.com/projects/esp-idf/en/stable/esp32c6/api-guides/coexist.html Тут много внизу че написано. Конкретно и про вифи