<<< Back

Шлюз MQTT - ИК и RF315МГц на ESP8266


Pacific (2019-01-02 09:36:58):

krepton85, а как дружат между собой ESP и радиоприемник? У меня в другом проекте из-за ESP радиоприемник на 315 и 433 ловит не дальше 3 метров.

(2)
 
krepton85 (2019-01-02 10:49:19):

Прекрасно работает радиоприемник, у меня уже 2 проекта на esp8266 и радиоприемник на 315Мгц.
Но проблема мне ваша извесна, у вас скорей всего радиоприемники не правильные, без кварца, используйце те что у меня на фото и будет вам счастье. Еще рекомендую купить готовые антеннки-пружинки на нужную частату 315 или 433Мгц.

(1)
 
Pacific (2019-01-02 10:59:21):

Спасибо, это обнадеживает. У меня горсть приемников - с кварцами и без, надо вернуться к экспериментам

(0)
 
@ZAMCTB (2019-01-18 22:51:38):

ошибка при компиляции - 'MQTT' does not name a type

(0)
 
Strangeman (2019-01-22 22:24:27):

Я вот чего не понял. Зачем в данном проекте второй радиоканал?
ESPшка уже содержит WiFi и он коннектится к сети.
Что делает радиоканал на 315 и 433 МГц?

(0)
 
krepton85 (2019-01-22 23:14:17):

Strangeman, так это же, для управления радио-реле промышленными для люстр например. А вообще планирую сюда еще термометр подключить ds18b20 , что бы получить устройство "все в одном".

(2)
 
krepton85 (2019-01-22 23:17:44):

@ZAMCTB, это потаму что не ту (либо ее вообще нет) библиатеку MQTT используете их существует 2 версии, одна на char * строках построена, а в моем случае та, что на String (объект класса) построенна.

(0)
 
Strangeman (2019-01-22 23:20:12):

Понял, спасибо. Еще один вопрос. На фото один светодиод, как Вы обучаете устройство? Как считываете коды ПУ кондиционера.

(0)
 
@ZAMCTB (2019-01-22 23:32:28):

эта очень крутая штукенция, у меня есть сонофф рф бридж, но я по сусекам поскрёб и все компоненты нашёл для её сборки.... аж руки дрожат как хочется собрать и прошить... СПАСИБО ДОБРЫЙ ЧЕЛОВЕК ЗА ТАКОЕ... Иду библиотеки править...

(1)
 
krepton85 (2019-01-23 00:04:55):

Strangeman, света-диода планирую 3 последовательно подключить, но пока беда (они закончились :) ) , там для обучения есть ИК фотоприемник, он спрятался под модулем esp8266 в районе антенны wi-fi.
С ИК излучателем пока не понятно что в моем случае делать, у меня в комнате 3 устройства которыми нужно упровлять по ИК и все в разных местах и на разной высате находятся, куда ставить этот шлюз я пока в растеренности. Что касается кондиционеров то их библиатека IR Remote думаю не поддерживает, в скетче можно у видеть какие кадировки поддерживает мой шлюз.
Код кнопки что хранится в свойствах объекта расшифровывается просто:
например t:3,d:f549c27a,l:32;
где t:значение, - это порядковый номер кодировки в списке кадировак;
d:hex значение, - сам код кнопки в hex системе счисления;
l:значение; - это длинна кода в битах в системе DEC счисления.

(0)
 
@ZAMCTB (2019-01-23 01:46:14):

Установил ВСЕ библиотеки MQTT (выключал их по очереди), но вылазит ошибка.... не компилируется скетч... О горе какое!

Используется: C:\Users\Documents\Arduino\libraries\PubSubClient
Не используется: C:\Users\Documents\Arduino\libraries\CMMC_MQTT_Connector
Не используется: C:\Users\Documents\Arduino\libraries\AzureIoTHubMQTTClient
Не используется: C:\Users\Documents\Arduino\libraries\Antares_ESP8266_MQTT
exit status 1
'MQTT' does not name a type

(0)
 
@ZAMCTB (2019-01-23 01:49:24):

киньте бин хоть под нод мцу или вемос д1 мини - третью ночь не сплю...

(0)
 
@ZAMCTB (2019-01-23 02:27:36):

krepton85, Спасибо, Урааа, иду спать!!! Скомпилил с библиотекой https://github.com/Imroy/pubsubclient
походу это та, что на String (объект класса) построена.

(0)
 
krepton85 (2019-01-23 10:28:47):

@ZAMCTB, да эта она самая.

(0)
 
@ZAMCTB (2019-01-23 17:17:58):

krepton85, капец - прошил, но точка доступа не появляется... что за напасть - куда копать?
киньте бин хоть под нод мцу или вемос д1 мини - снова спать не смогу

https://t.me/ZAMCTB

(0)
 
krepton85 (2019-01-23 17:52:28):

@ZAMCTB, скетчь для всех плат на базе esp8266 одинаковый, нужно только выбрать правильную плату в arduino IDE. Что касаемо точки доступа то она должна запустится если в EEPROM esp8266 ничего не записано, она чистая, возможно ваш модуль уже побывал в др. проектах и в этой памяти eeprom есть какие то данные, которые при обновлении прошивки никогда не стираются, нужно записать в eeprom 512 байт объемом, значения = 255 dec, для этого есть скетчь в примерах arduino ide только там нужно подправить значение вместо нуля на 255,
вот скетчь:

include <EEPROM.h>

void setup()
{
EEPROM.begin(512);
// write a 0 to all 512 bytes of the EEPROM
for (int i = 0; i < 512; i++)
EEPROM.write(i, 255);

// turn the LED on when we're done
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
EEPROM.end();
}

void loop()
{
}

залей его, дай запустится прошивке, что бы она очистила память eeprom, затем прошивай оснавной скетчь.
Так же как вариант поэксперементируй с версиями пакета для поддержки esp8266 в ардуино ide, только важно! не забывай удалять текущий пакет, прежде чем установить др. версию, а иначе будет глючить.

(1)
 
krepton85 (2019-01-23 18:10:57):

Ах да забыл сказать еще, но это на будущее, мой скетчь поддерживает обновление прошивки OTA - т.е. по Wi-Fi.
Вам понадобится готовая скомпелированная из скетча прошивка в формате *.bin. Что бы обновить уже готовое рабочее устройство перейдите в вашей локальной сети по адресу http://ip_вашего_шлюза/update и попадете на страницу обновления прошивки.

(1)
 
krepton85 (2019-01-23 18:16:24):

прошивку в бин формате можно получить после заgуска проверки в Ардуино IDE в папке приблизительно по следующему пути: C:\Users\Дмитрий\AppData\Local\Temp\arduino_build_720426 она вас будет ждать там пока не закроете Ардуино IDE.

(1)
 
@ZAMCTB (2019-01-23 19:09:25):

прошивку в бин формате ещё можно получить выбрав в меню "импортировать файл бин" - он скопируется в папку с скетчем.
Пробовал этот вариант заливал в плату бин, но не заработало - ПОМОГЛО очистить еепром! СПАСИБО, ЧТО РАЗЖЕВАЛИ! прошился скетчем и без проблем стартанула точка доступа... Ещё вопрос созрел, а класс esp8266 самому создать? его нет и не появляется... может глупые вопросы, но я чайник тут

(0)
 
krepton85 (2019-01-23 19:22:11):

@ZAMCTB, да класс создавать самому, все должно быть так как на скринах у меня, буква в букву.

(0)
 
krepton85 (2019-01-23 19:24:27):

"прошивку в бин формате ещё можно получить выбрав в меню "импортировать файл бин" - он скопируется в папку с скетчем." да тоже так делал, но так есть косяк, исчезает поддержка русских символов для mqtt, не знаю по чему так, но прошивка как то по др. компилируется.

(1)
 
@ZAMCTB (2019-01-28 16:06:20):

krepton85, всё как бы должно работать, но не работает, как проверить рабрту esp8266 - в терминале только при загрузке пишет пару строк и всё... может дам доступ в мой MajorDoMo - глянешь?! магарыч на карту переведу! https://t.me/ZAMCTB

(0)
 
krepton85 (2019-01-28 16:32:09):

@ZAMCTB, пока очень занет вечером гляну.

(0)
 
@ZAMCTB (2019-01-30 21:07:16):

krepton85, помог разобраться с моими попытками реализовать данную хотелку и весьма успешно... отчет из действий за кадром... 1- проверили подключился ли шлюз к MQTT - шлюз подписывается и ставит в топик "IR_remote/online" 1 каждые пару сек - если не заменяет ваш 0 то шлюз не достучался к mqtt. 2. опытным путём выявил не рабочий передатчик rf 433Mhz и заменил, так же выкинул один передатчик ir 3. и последнее у меня MDM MQTT стояло /# и шлюз забирал с топиков данные, но не ставил, я в скетче "IR_remote/ заменил на "/IR_remote/ автоматом в notepad++ вышло 41 замена и всё после этого заработало, но скорей всего просто нужно было "у меня MDM MQTT стояло /# " поставить просто # без слеша... PS свсё очень круто работает и потенциал у решения довольно не плохой т.к. шлюз мониторит эфир rf / ir и можно настроить логику на при приёме сигнала например с датчика движения и т.д. PS2 очень доволен, спасибо всем!

(1)
 
@ZAMCTB (2019-01-30 21:15:41):

Собрал шлюз WiFi + IR + rf 433Mhz из 5 компонентов с али за 5$ (минут 5 собирается) как альтернативу Broadlink сэкономил 30$ - если кому не деньги то просто удобней - имхо (собрано на плате wemos d1 mini на ней присутствует вся обвязка и остаётся лишь добавить приёмники и передатчики rf / ir )

(1)
 
krepton85 (2019-02-02 21:14:42):

У кого будут проблемы с повторным срабатыванием виртуальной кнопки для RF части, добавьте в скетч в раздел void setup() строчку:

mySwitch.setRepeatTransmit(5);//количество повторов отправки кода

по умолчанию в библиотеке RC Switch прописано 10 повторов отправки кода, если вообще не использовать эту функцию, по этому у некоторых радио-приемных устройств 1 клик по кнопке в MD может быть расценен как 2 нажатия кнопки.

(0)
 
yray (2019-02-19 01:11:20):

не соединяется с MQTT сервером, что может быть не так ?

(0)
 
krepton85 (2019-02-19 09:45:53):

yray, eeprom у esp8266 была чистая изначально?

(0)
 
@ZAMCTB (2019-02-20 00:27:22):

yray прочитай мою запись выше чуть... та же проблема была - может поможет...

(0)
 
yray (2019-02-20 23:59:26):

ESP8266 совершенно новая, eeprom чистая, ну на всякий зачистил бланком. подключены только светодиоды и фотоприемник, RF не подключен, после прошивки создает свою точку, вбиваю параметры Wi-Fi и mqtt, после перезагрузки подключается к роутеру с этим все хорошо, на прием ИК сигнала мигает светодиодом, но нет коннекта к MQTT, раскоментировал и подправил дебаг и вот что он посылает в порт:
MQTT SERVER : 192.168.0.1 -сервер указан правильно
MQTT port : 1883 - порт правильный
MQTT user : admin -имя и пароль правильные
MQTT pass : **
Connecting to MQTT server
Could not connect to MQTT server
и так далее

(0)
 
yray (2019-02-21 00:02:06):

Пароль у меня от wifi 30 символов, ну так надо, может он что-то переполняет в скетче ? и с отсутствие RF не должно же проблем быть ?

(0)
 
krepton85 (2019-02-21 08:25:02):

yray, точно не помню сколько на пароль wi fi выделил байт, но ssid 32 символа помню точно, посмотрю когда буду свободен.

(0)
 
krepton85 (2019-02-21 15:17:57):

Для wi fi пароля 64 символа можно, имя ssid 32 символа, для mqtt user 16 символов.

(0)
 
krepton85 (2019-02-21 15:22:28):

Mqtt pass - 16 символов.

(0)
 
yray (2019-02-21 20:49:25):

все укладывается в допуски

(0)
 
krepton85 (2019-02-21 21:10:41):

yray, ssid и pass от wi fi верно восстанавливается из eeprom? В сериал должеен выводит если раскоментировать в void setup.
Если с этим все норм, а к wi fi не подключается, попробуйте скомпелировать прошивку пакетом другой версии в arduino IDE. У меня точно не помню какая версия пакета, помнется что 2.2.2 или 2.2.3. Обязательно не забывайте удалить текущий пакет перед установкой др. версии!!!

(0)
 
yray (2019-02-21 21:26:07):

кто сказал что к wifi не подключается - с подключением к сети все отлично, нет подключения к MQTT

(0)
 
yray (2019-02-21 21:27:07):

просто раскоментировать не достаточно, там неправильно указанны названия переменных для вывода в сериал

(0)
 
yray (2019-02-21 21:28:43):

пакеты брал ваши по ссылкам, добавлял их в папку со скетчем таким образом скетч использует не мои библиотеки а ваши находящиеся с ним в одной папке

(0)
 
krepton85 (2019-02-21 21:35:56):

yray, кстати может у вас в брокере mqtt используется шифрование трафика, я никогда еще не проверял эту библиатеку pubsubclient подключаясь к зашифрованному серверу, но было бы интересно проверить.

(0)
 
yray (2019-02-21 21:47:59):

нет шифрования нет, множество различных устройств в домашней сети прекрасно общаются по MQTT в том числе и самоделки помоем с такой же библиотекой MQTT

(0)
 
krepton85 (2019-02-21 21:56:35):

Очень странно тогда, почему не подключается у вас, у меня все нормально, у др. тоже, у вас так же как и у меня пахоже брокер на openwrt роутаре запущен. (Кстати что там в логах со стороны брокера (роутера) пишет)?

(0)
 
yray (2019-02-21 22:00:09):

да брокер на роутере - zyxele там специфичная ос, фиг знает где там эти логи искать

(0)
 
krepton85 (2019-02-22 12:09:17):

yray, папробуйте накрайняк вручную, прямо в скетчь прописать параметры mqtt server, mqtt port - это в void setup; mqtt user, mqtt pass - это в void loop, вместо переменных.

(0)
 
yray (2019-02-22 22:51:53):

в общем заработало, проблема ушла когда логин и пароль прописал вручную в строчке .set_auth(mqtt_user, mqtt_pass)
вписал данные естественно в кавычках, если кто повторить решит.
в чем дело не знаю, авторизация на MQTT брокере у меня отключена, логин и пароль не обязательны и не проверяются, то есть не может быть дело в неверных данных авторизации, что-то другое что мешает работе библиотеки.

@ZAMCTB "IR_remote/ заменил на "/IR_remote/ автоматом в notepad++ вышло 41 замена и всё после этого заработало" - это делать не нужно, вы действительно зря подписались на топик со слешем.

(1)
 
yray (2019-02-22 22:57:13):

Выяснил что чистить флеш бланком или специальным скетчем сейчас уже не актуально, в среде ардуино сейчас есть пункт Erase Flash, по умолчанию выполняется только загрузка скетча, но если переключить то перед загрузкой скетча среда ардуино может сделать и очистку wi-fi и всего флеша целиком.

Еще вопрос для чего передается столько топиков - какие-то будильники макросы время, оно для чего-то нужно ?

(0)
 
krepton85 (2019-02-22 23:28:26):

Эти топики лишние для majordomo использовал их раньше для приложения Андроид.
Суть была такова, есть 4 пульта статично прописанных в скетчь и одна раскладка клавиатуры в приложении (на скринах все есть) можно выбрать любой пульт и управлять по mqtt без MD. Часы нужны были для 4-х будильников по дням недели, по будильникам выполнялись макросы - это последовательность нажатия на заранее выбранные кнопки в одном или разных из 4-х пультов. Макросы настраивались через это же приложение. Например мне было удобно по будильнику что бы включалась RGB led лампа в бра (эта лампа на 3 ватта продовалась вместе с ИК пультом).

(0)
 
krepton85 (2019-02-22 23:30:25):

Если есть желание то могу скинуть конфиг настроеек для этого приложения, дабы вам вручную не создовать все элементы управления?

(0)
 
qartz (2019-04-06 19:06:37):

здравствуйте. на схеме все верно? светодиоды 3 последовательно? их на сколько я знаю резистором ограничивают и всех в параллель ставят ? не? каковы параметры ИК диода ? они ж вроде как импульс до 1А поддерживают ?

(0)
 
krepton85 (2019-04-06 19:38:35):

qartz, мои там где покупал написано 1,3 вольта максимальный ток 100мА. По факту получилось 70мА при напряжении 1,5 вольта на светадиод. Пробовал и 2 и 1 и 3 светадиода последовательно в итоге, 2 - сгорают, 1 - тоже сгорает, 3 - само оптимально, 4 - слабый сигнал. В итоге запаял 2 цепочки по 3 последовательно. Размещенны на круглой банке вертикально по 3 шт, горизонтально 2 шт. За счет закругления в банке светадиоды направленны в разные стороны слегка, в 3 слоя , получается довольно мощный шлюз, ни один пульт не сравнится с мощностью этого шлюза. И да , важно применять полевой massfet транзистор, биполярные довольно быстро сгорают и большие потери мощности.

(0)
 
Strangeman (2019-04-06 20:23:08):

Ой ё...
Падение напряжения на инфракрасных светодиодах порядка 1В и ставить все параллельно нет смысла.
Включать их нужно с ограничительным резистором, тогда ничего не будет сгорать и будет стабильно работать. По 2 светодиода последовательно и токоограничивающий разистор - самое то для надежной работы и температурной стабильности.

(0)
 
yray (2019-04-06 21:14:49):

Или купить готовый ИК шилд https://ru.aliexpress.com/item/V1-0-0-lolin-D1/328... приемник и 4 излучателя паять кроме ножек ничего не надо, готовое устройство за копейки.

(0)
 
krepton85 (2019-04-06 23:26:12):

yray, да видел, видел такое.
Сейчас добавил еще один шлюз на кухне в систему Majordomo, только там на esp-01 работает только ИК передатчик. И написал метод для последовательного нажатия комбинаций кнопок на разных пультах (для TV BBK, и приставки world wision t92a для старта iptv) здесь куча кнопок нужно нажать что бы включить iptv на приставке. :)
А так сейчас удобней, прежде чем идти на кухню тыкнул всего 1 кнопку (старт iptv) в меню Majordomo и пока идешь на кухню, система majordoma сама понажимает нужные кнопки и включит 1-ый канал из плейлиста. ;)

(0)
 
qartz (2019-04-07 10:43:16):

мне как раз пакет диодов приехал с китаю 940нМ, я тож склоняюсь к варианту гирлянды из 2 диодов и резюка Ом на 20-50 продублировав ее раз 5-6 и мосфетку поставить что нить типа IRLML2502 запитав всё от +3.3В

(0)
 
qartz (2019-04-07 10:47:12):

а кто во что упаковал изделие ? торчащие диоды ведь это не прям шедевр дизайна ? ик прозрачные пластики есть , ни кто не поделится идеей?

(0)
 
Lyova (2020-07-17 11:00:53):

Привет всем у кого завелся девайс.
Перечитал все фиксики и столкнулся с такой проблемой не создаются все топики а только те которе на картинке

https://ibb.co/V35WK3k

Регулярно обновляется 2 топика curent_time 17.июль.2020 --Пт-- 10:59:17 и online 1 подскажите как ее завести?)

(0)
 
krepton85 (2020-07-17 11:17:37):

Ну в MJDM обычно если в топик ничего не прилетает, то этот топик сам не создастся, его нужно вручную прописать в MJDM.

(0)
 
Lyova (2020-07-17 12:14:48):

Добавил я все как на рисунке выше. Перепробывал все пульты которые были дома в топиках приемника и передатчика изменений нет. В ком порт устройство шлет логи работы ?

(0)
 
Lyova (2020-07-17 12:21:08):

А вижу, надо ункомент все //Serial.print Еще как вижу вроде надо в топике вырать тип пульта от 1 до 4 и тип передатчика ИР или РФ?

(0)
 
krepton85 (2020-07-17 12:34:00):

Выбирать ничего не нужно.
Тип пульта, да закодирован в моих текстовых сообщениях по MQTT в виде цифры, но эти строки автоматически формируются. Да возможно я не все кодировки ИК пультов добавил для распознования. Например наш новый ТВ "Томсан" не поддердивается этим шлюзом.
Все автоматом работает, и как RF шлюз, и одновременно IR шлюз. Причем было замечано что каким то волшебным образом шлюз может сам себе отпровлять и получать ИК коды.

(1)
 
Lehix (2020-10-19 18:24:01):

Приветствую!
Еле запустил шлюз... Не подключался к брокеру Mosquitto:
New connection from 192.168.1.54 on port 1883.
Client <unknown> disconnected due to protocol error.

и хоть ты что хочешь делай, я уже и трафик вайршарком снифал, и брокер менял - толку зеро. Оказался прав таки mr. yray надо прописать логин пароль непосредственно в скетч:
// .set_auth(mqtt_user, mqtt_pass)
.set_auth("MQTT_usr", "123456")

НЕ знаю почему так и как у всех работало... Пароли и шифрование не использую. А что самое смешное - логин пароль передавался в пакетах при не удачном подключении - видел в сетевом снифере. Прописал в тупую и пошло!

(0)
 
Lehix (2020-10-19 18:49:57):

Ув. krepton85 подскажите, пожалуйста, если я не использую часы, макросы и будильники, можно всё это дело вырезать без потери функциональности шлюза?
Хочу закоментировать все упоминания о макросах и будильниках, нет ли там важны системных макросов?

И ещё вопрос - как шлюз реагирует на пульты? Что я должен увидеть? Бо похоже у меня очередная проблема (:

(0)
 
Lehix (2020-10-29 18:39:40):

Лишнее вырезал, всё работает. Немного хромает направленность, - надо точно прицеливаться. Буду экспериментировать с диодами и рассеивателями...

IR диоды подключены без токоограничительного резистора. Это не правильно, у меня сгорели. При программировании, состояние выхода GPIO4 = "1", и на IR диоды валит все 5 вольт без ограничения тока. В импульсном режиме возможно и работало. Пришлось докостылить SMD на 68Ом

так же в скетче не понятно это:
const int RECV_PIN = 5; //an IR detector/demodulator is connected to GPIO pin1
и
int led_r = 5; // красный свето-диод - режим точки доступа, мигающий - нстройки ssid сохранены, ожидание перезагрузки пользоватилем
Похоже на ошибку - один вывод на два действия повешено?

(0)
 

Please login to leave comments. Join us!