Vitaly [a16e]
без перешивки к китайскому облаку, а так Tasmota, мне кажется, очень себе вариант
Китайское облако элементарно подменяется собственным сервером, там текстовый протокол поверх WebSocket. Осталось найти готовый сервер или написать свой (если не найдётся) и можно будет работать без перепрошивки. Да и автоподключение можно будет реализовать без eWeLink и доступа в интернет.
Vitaly [a16e]
Ну подменяйте, я ж не настаиваю, меня тасмота устраивает
Я просто спросил - есть ли в природе готовое решение? Если есть, то модули можно цеплять без перепрошивки и не только sonoff, а все совместимые.
Vitaly [a16e]
Ясно, спасибо.
Null
То есть PUT, GET и тд?
Null
Кстати, у кого то есть Sonoff Pow?
Sergey
Подойдет, главное чтоб кроме земли, тх и рх, было еще и питание, рекомендуется вроде 3,3В, но у меня нашлось только 5В, вроде платка не пострадала )
Null
У меня
На нем есть флешка или все данные в облаке?
Sergey
На нем есть флешка или все данные в облаке?
Он данные передает, а прием и хранение на серверной части (пользователе)
Sergey
Там грубо есп и реле, ну в pow еще измеритель мощности
Sergey
Null
что ЭТО? )
Ой, измеритель
Sergey
Ой, измеритель
ну меряет, достаточно точно, но если потребление линейно, если это бук какой где потребление нелинейно, то будет менее точно, калибруется, вобшем за эти гроши интереная штука
Vitaly [a16e]
Выходит, они используют REST?
Нет, WebSocket, а поверх него - JSON. Пример команды от сервера на включение: {"action":"update","deviceid":"100008dbxx","apikey":"df6725f6-0b86-4415-xxxx-xxxx","userAgent":"app","sequence":"1505608036953","ts":0,"params":{"switch":"on"},"from":"app"} Ответ Sonoff: { "error":0, "userAgent":"device", "apikey":"df6725f6-0b86-4415-xxxx-xxxx", "deviceid":"100008dbxx", "sequence":"1505608036953" } Информация от Sonoff о включении: { "userAgent":"device", "apikey":"df6725f6-0b86-4415-xxxx-xxxx", "deviceid":"100008dbxx", "action":"update", "params":{ "switch":"off", "fwVersion":"1.5.5", "rssi":-31, "staMac":"5C:CF:7F:xx:xx:xx", "startup":"off" } } и подтверждение сервера: {"error":0,"deviceid":"100008db11","apikey":"df6725f6-0b86-4415-xxxx-xxxx"}
Vitaly [a16e]
Спасибо. SSL есть?
Да, SSL есть, но нет проверки сертификатов, поэтому перехватить трафик не составляет проблемы. И такая схема работы мне нравится больше, чем простые HTTP запросы или MQTT, т.к. тут мы всегда видим online статус устройства (раз в ~1-2 минуты с сервера идёт WebSocket PING запрос на который Sonoff отдаёт ответ). Т.е. мы не только знаем последнее состояние (on/off), но и текущий статус - online/offline и при желании можем отправлять keep-alive запросы хоть каждые 5 секунд.
Vitaly [a16e]
MQTT хорошо смотрится для получения данных с сенсоров или как шина обмена данными между контроллерами, а вот цеплять по ней управляемое устройство уже как-то не очень удобно, т.к. состояние устройства мы можем узнать только после того, как оно ответит на команду. Либо же устройство должно само инициировать периодический обмен с сервером, чтобы сообщить ему о своём состоянии.
Null
Да, SSL есть, но нет проверки сертификатов, поэтому перехватить трафик не составляет проблемы. И такая схема работы мне нравится больше, чем простые HTTP запросы или MQTT, т.к. тут мы всегда видим online статус устройства (раз в ~1-2 минуты с сервера идёт WebSocket PING запрос на который Sonoff отдаёт ответ). Т.е. мы не только знаем последнее состояние (on/off), но и текущий статус - online/offline и при желании можем отправлять keep-alive запросы хоть каждые 5 секунд.
Если вы разбираетесь в том, как работает серверная часть, то подскажите, ибо хочу написать, но немного не понимаю как работает. Ибо в моем понимании сокет - труба, тогда выходит, что на сервер есть клиент, который подключается к сонофф, и сервер кроме этого есть как бы ретранслятором (что бы передать на клиент) Больше всего интерисует, как напрмер это реализовать самому и порядок действий.
Null
Еще вариант, когда сокет соноф → сервер → клиент
Null
Я думал сделать RESTful, но websocket конечно лучше
Null
Ибо данные можно в real time принимать и строить графики на клиенте
Vitaly [a16e]
Если вы разбираетесь в том, как работает серверная часть, то подскажите, ибо хочу написать, но немного не понимаю как работает. Ибо в моем понимании сокет - труба, тогда выходит, что на сервер есть клиент, который подключается к сонофф, и сервер кроме этого есть как бы ретранслятором (что бы передать на клиент) Больше всего интерисует, как напрмер это реализовать самому и порядок действий.
Есть технология WebSocket. Она позволяет поверх TCP соединения поднять полноценный механизм обмена сообщениями между клиентом и сервером. Именно эту технологию и используют в Sonoff. Фактически - да, Sonoff подключается к серверу, говорит "привет, это я, это мои данные, это мои текущие настройки" и переходит в режим ожидания. Дальше либо Sonoff говорит серверу "у меня поменялся статус" (если нажать на кнопку), либо сервер говорит "смени свой статус" и всё это происходит в онлайне. Сервер действительно работает как ретранслятор между выключатеями и приложением eWeLink. Как реализовать - я приводил пример трейса обмена. Там не хватает ещё процедуры инициализации, она ещё проще - устройство отправляет POST запрос на https://eu-disp.coolkit.cc/dispatch/device и в ответ - получает IP адрес WebSocket сервера, с которым уже надо работать. Подмена DNS имени для eu-disp.coolkit.cc позволит получить полный контроль над устройствами в домашней сети. А если, не дай бог, кому-то придёт в голову добавить этот адрес в чёрный список РосКомНадзора, то все устройства Sonoff в РФ в одночасье превратятся в тыквы :(
Null
Есть технология WebSocket. Она позволяет поверх TCP соединения поднять полноценный механизм обмена сообщениями между клиентом и сервером. Именно эту технологию и используют в Sonoff. Фактически - да, Sonoff подключается к серверу, говорит "привет, это я, это мои данные, это мои текущие настройки" и переходит в режим ожидания. Дальше либо Sonoff говорит серверу "у меня поменялся статус" (если нажать на кнопку), либо сервер говорит "смени свой статус" и всё это происходит в онлайне. Сервер действительно работает как ретранслятор между выключатеями и приложением eWeLink. Как реализовать - я приводил пример трейса обмена. Там не хватает ещё процедуры инициализации, она ещё проще - устройство отправляет POST запрос на https://eu-disp.coolkit.cc/dispatch/device и в ответ - получает IP адрес WebSocket сервера, с которым уже надо работать. Подмена DNS имени для eu-disp.coolkit.cc позволит получить полный контроль над устройствами в домашней сети. А если, не дай бог, кому-то придёт в голову добавить этот адрес в чёрный список РосКомНадзора, то все устройства Sonoff в РФ в одночасье превратятся в тыквы :(
Спасибо. А где этот пример? Скорее всего я пропустил
Null
Или вы об json ответе?
Vitaly [a16e]
Спасибо. А где этот пример? Скорее всего я пропустил
В этом чате присылал пример ответа.
Null
Вопрос не по теме. Как думаете, к такому БП можно подключать LED ленту? К нему сейчас подключены галогенки 12 В, но хотел бы заменить на LED ибо очень прожорливы галогенки, по понятным причинам. http://www.gtv.com.pl/ru/2015-04-13-12-33-09?view=productdetails&virtuemart_product_id=523&virtuemart_category_id=47
WhoAMe
Можно конечно, почему нет.
Jason
только я не вижу, чтоб на самих трансформаторах шла речь о постоянном токе на выходе
Jason
это только в аннотации указано, а на картинке нарисовано AC
Null
только я не вижу, чтоб на самих трансформаторах шла речь о постоянном токе на выходе
У меня такой как на 1 картинке. Вот поетому и спросил. Увидел только 11, 6 V ac
Jason
ну так посмотри характеристики led ленты
Jason
и дальше решай, подходит или нет
Null
Null
Вроде бы все должно быть ок
Jason
мужик, ты характеристики led ленты смотри
Jason
а не гадай
Jason
тем более, если у тебя уже есть такой трансформатор, сними с него характеристики
Jason
дальше сопоставь и решай
Jason
На что именно?
на вид напряжения и мощность
Null
на вид напряжения и мощность
Working Voltage: 12V DC, 5 m ~ 2,7 A
Jason
ну теперь убедись, что твой трасформатор выдает постоянный ток
Jason
в чем я сомневаюсь
Null
в чем я сомневаюсь
Ну в характеристиках пишет что DC
Null
в чем я сомневаюсь
http://www.gtv.com.pl/images/stories/virtuemart/karty_produktowe/Transformatory_elektroniczne_TE-__000-30.pdf
Jason
ты же говоришь, что у тебя такой есть
Jason
проверь, что на выходе - делов то
Jason
ну а если ты уверен, что ток постоянный, в чем тогда вопрос вообще?
Jason
на али есть куча 12 DC адаптеров
Jason
глянь там
Jason
40W тебе достаточно будет, исходя из указанных тобой данных
Jason
вот, к примеру:
Jason
https://www.aliexpress.com/item-img/DC-12V-45W-Waterproof-ip67-Electronic-LED-Driver-outdoor-use-power-supply-led-strip-transformers-adapter/1742187769.html#
Алексей
Я для своей ленты на кухне (около 2 метров) взял трансформатор от галогенной подсветки, (переменный ток), и добавил два диодных моста (включены параллельн, так меньше грется диодный мост, температура на мосту 45 градусов, навсякий случай между ними зажал кусрчек алюминиевого профиля. Согласен, это не по правилам подключения светодиодов многие считают, что наличие драйвера обязательно, ( кстати, что такое драйвер? ) на текущий момент работает немногим более двух лет
Vitaly [a16e]
Нужно ограничивать ток на светодиодах. Либо спец драйвером, либо токоограничивающими резисторами. В светодиодных лентах почти всегда стоят такие резисторы (и греют воздух), поэтому их нужно кормить обычным БП (источник напряжения).
Проще говоря драйвер это стабилизатор тока (не напряжения как БП)
Sneg.
Всем привет, кто на esp использует библиотеку mqtt от adafruit?
Sneg.
Не пойму где там ввести логин и пароль от mqtt сервера, до этого использовал свой безпарольный.
Обычно же вроде все переменные задаются в начале скетча
Sneg.
Там нет такого параметра
Sneg.
В других библиотеках есть
Sneg.
В примерах не нашел
Sneg.
Возможно не так ищу
Алексей
Возможно, я не правильно понял, но вроде в библиотек не указывается логин и пароль, это как поавило указывается в скетче.
Возможно, я не правильно понял, но вроде в библиотек не указывается логин и пароль, это как поавило указывается в скетче.
очень редко почти не когда не нужно лезть в библиотеку. только изменения делаются в скетче
# first you'll need https://github.com/njh/ruby-mqtt require 'mqtt' username = 'test_username' key = 'not-a-real-key' url = "mqtts://#{ username }:#{ key }@io.adafruit.com" mqtt_client = MQTT::Client.connect(url, 8883) # simplest thing that could possibly work mqtt_client.publish('test_username/feeds/example', 22.587)
это начало скетча примера вот там и указывается
banzay
http://ammo1.ru/aa/pic17a/bikeled01.jpg кто-нибудь встречал проекты подобные?
http://ammo1.ru/aa/pic17a/bikeled01.jpg кто-нибудь встречал проекты подобные?
Только в виде часов на hdd блине делали раньше.
Видел но такого большого формата не видел.
banzay
=(
banzay
технологии то давно позволяют, дело в обработке