krepton85, а как дружат между собой ESP и радиоприемник? У меня в другом проекте из-за ESP радиоприемник на 315 и 433 ловит не дальше 3 метров.
Прекрасно работает радиоприемник, у меня уже 2 проекта на esp8266 и радиоприемник на 315Мгц.
Но проблема мне ваша извесна, у вас скорей всего радиоприемники не правильные, без кварца, используйце те что у меня на фото и будет вам счастье. Еще рекомендую купить готовые антеннки-пружинки на нужную частату 315 или 433Мгц.
Спасибо, это обнадеживает. У меня горсть приемников - с кварцами и без, надо вернуться к экспериментам
ошибка при компиляции - 'MQTT' does not name a type
Я вот чего не понял. Зачем в данном проекте второй радиоканал?
ESPшка уже содержит WiFi и он коннектится к сети.
Что делает радиоканал на 315 и 433 МГц?
Strangeman, так это же, для управления радио-реле промышленными для люстр например. А вообще планирую сюда еще термометр подключить ds18b20 , что бы получить устройство "все в одном".
@ZAMCTB, это потаму что не ту (либо ее вообще нет) библиатеку MQTT используете их существует 2 версии, одна на char * строках построена, а в моем случае та, что на String (объект класса) построенна.
Понял, спасибо. Еще один вопрос. На фото один светодиод, как Вы обучаете устройство? Как считываете коды ПУ кондиционера.
эта очень крутая штукенция, у меня есть сонофф рф бридж, но я по сусекам поскрёб и все компоненты нашёл для её сборки.... аж руки дрожат как хочется собрать и прошить... СПАСИБО ДОБРЫЙ ЧЕЛОВЕК ЗА ТАКОЕ... Иду библиотеки править...
Strangeman, света-диода планирую 3 последовательно подключить, но пока беда (они закончились :) ) , там для обучения есть ИК фотоприемник, он спрятался под модулем esp8266 в районе антенны wi-fi.
С ИК излучателем пока не понятно что в моем случае делать, у меня в комнате 3 устройства которыми нужно упровлять по ИК и все в разных местах и на разной высате находятся, куда ставить этот шлюз я пока в растеренности. Что касается кондиционеров то их библиатека IR Remote думаю не поддерживает, в скетче можно у видеть какие кадировки поддерживает мой шлюз.
Код кнопки что хранится в свойствах объекта расшифровывается просто:
например t:3,d:f549c27a,l:32;
где t:значение, - это порядковый номер кодировки в списке кадировак;
d:hex значение, - сам код кнопки в hex системе счисления;
l:значение; - это длинна кода в битах в системе DEC счисления.
Установил ВСЕ библиотеки 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
киньте бин хоть под нод мцу или вемос д1 мини - третью ночь не сплю...
krepton85, Спасибо, Урааа, иду спать!!! Скомпилил с библиотекой https://github.com/Imroy/pubsubclient
походу это та, что на String (объект класса) построена.
@ZAMCTB, да эта она самая.
krepton85, капец - прошил, но точка доступа не появляется... что за напасть - куда копать?
киньте бин хоть под нод мцу или вемос д1 мини - снова спать не смогу
@ZAMCTB, скетчь для всех плат на базе esp8266 одинаковый, нужно только выбрать правильную плату в arduino IDE. Что касаемо точки доступа то она должна запустится если в EEPROM esp8266 ничего не записано, она чистая, возможно ваш модуль уже побывал в др. проектах и в этой памяти eeprom есть какие то данные, которые при обновлении прошивки никогда не стираются, нужно записать в eeprom 512 байт объемом, значения = 255 dec, для этого есть скетчь в примерах arduino ide только там нужно подправить значение вместо нуля на 255,
вот скетчь:
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, только важно! не забывай удалять текущий пакет, прежде чем установить др. версию, а иначе будет глючить.
Ах да забыл сказать еще, но это на будущее, мой скетчь поддерживает обновление прошивки OTA - т.е. по Wi-Fi.
Вам понадобится готовая скомпелированная из скетча прошивка в формате *.bin. Что бы обновить уже готовое рабочее устройство перейдите в вашей локальной сети по адресу http://ip_вашего_шлюза/update и попадете на страницу обновления прошивки.
прошивку в бин формате можно получить после заgуска проверки в Ардуино IDE в папке приблизительно по следующему пути: C:\Users\Дмитрий\AppData\Local\Temp\arduino_build_720426 она вас будет ждать там пока не закроете Ардуино IDE.
прошивку в бин формате ещё можно получить выбрав в меню "импортировать файл бин" - он скопируется в папку с скетчем.
Пробовал этот вариант заливал в плату бин, но не заработало - ПОМОГЛО очистить еепром! СПАСИБО, ЧТО РАЗЖЕВАЛИ! прошился скетчем и без проблем стартанула точка доступа... Ещё вопрос созрел, а класс esp8266 самому создать? его нет и не появляется... может глупые вопросы, но я чайник тут
@ZAMCTB, да класс создавать самому, все должно быть так как на скринах у меня, буква в букву.
"прошивку в бин формате ещё можно получить выбрав в меню "импортировать файл бин" - он скопируется в папку с скетчем." да тоже так делал, но так есть косяк, исчезает поддержка русских символов для mqtt, не знаю по чему так, но прошивка как то по др. компилируется.
krepton85, всё как бы должно работать, но не работает, как проверить рабрту esp8266 - в терминале только при загрузке пишет пару строк и всё... может дам доступ в мой MajorDoMo - глянешь?! магарыч на карту переведу! https://t.me/ZAMCTB
@ZAMCTB, пока очень занет вечером гляну.
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 очень доволен, спасибо всем!
Собрал шлюз WiFi + IR + rf 433Mhz из 5 компонентов с али за 5$ (минут 5 собирается) как альтернативу Broadlink сэкономил 30$ - если кому не деньги то просто удобней - имхо (собрано на плате wemos d1 mini на ней присутствует вся обвязка и остаётся лишь добавить приёмники и передатчики rf / ir )
У кого будут проблемы с повторным срабатыванием виртуальной кнопки для RF части, добавьте в скетч в раздел void setup() строчку:
mySwitch.setRepeatTransmit(5);//количество повторов отправки кода
по умолчанию в библиотеке RC Switch прописано 10 повторов отправки кода, если вообще не использовать эту функцию, по этому у некоторых радио-приемных устройств 1 клик по кнопке в MD может быть расценен как 2 нажатия кнопки.
не соединяется с MQTT сервером, что может быть не так ?
yray, eeprom у esp8266 была чистая изначально?
yray прочитай мою запись выше чуть... та же проблема была - может поможет...
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
и так далее
Пароль у меня от wifi 30 символов, ну так надо, может он что-то переполняет в скетче ? и с отсутствие RF не должно же проблем быть ?
yray, точно не помню сколько на пароль wi fi выделил байт, но ssid 32 символа помню точно, посмотрю когда буду свободен.
Для wi fi пароля 64 символа можно, имя ssid 32 символа, для mqtt user 16 символов.
Mqtt pass - 16 символов.
все укладывается в допуски
yray, ssid и pass от wi fi верно восстанавливается из eeprom? В сериал должеен выводит если раскоментировать в void setup.
Если с этим все норм, а к wi fi не подключается, попробуйте скомпелировать прошивку пакетом другой версии в arduino IDE. У меня точно не помню какая версия пакета, помнется что 2.2.2 или 2.2.3. Обязательно не забывайте удалить текущий пакет перед установкой др. версии!!!
кто сказал что к wifi не подключается - с подключением к сети все отлично, нет подключения к MQTT
просто раскоментировать не достаточно, там неправильно указанны названия переменных для вывода в сериал
пакеты брал ваши по ссылкам, добавлял их в папку со скетчем таким образом скетч использует не мои библиотеки а ваши находящиеся с ним в одной папке
yray, кстати может у вас в брокере mqtt используется шифрование трафика, я никогда еще не проверял эту библиатеку pubsubclient подключаясь к зашифрованному серверу, но было бы интересно проверить.
нет шифрования нет, множество различных устройств в домашней сети прекрасно общаются по MQTT в том числе и самоделки помоем с такой же библиотекой MQTT
Очень странно тогда, почему не подключается у вас, у меня все нормально, у др. тоже, у вас так же как и у меня пахоже брокер на openwrt роутаре запущен. (Кстати что там в логах со стороны брокера (роутера) пишет)?
да брокер на роутере - zyxele там специфичная ос, фиг знает где там эти логи искать
yray, папробуйте накрайняк вручную, прямо в скетчь прописать параметры mqtt server, mqtt port - это в void setup; mqtt user, mqtt pass - это в void loop, вместо переменных.
в общем заработало, проблема ушла когда логин и пароль прописал вручную в строчке .set_auth(mqtt_user, mqtt_pass)
вписал данные естественно в кавычках, если кто повторить решит.
в чем дело не знаю, авторизация на MQTT брокере у меня отключена, логин и пароль не обязательны и не проверяются, то есть не может быть дело в неверных данных авторизации, что-то другое что мешает работе библиотеки.
@ZAMCTB "IR_remote/ заменил на "/IR_remote/ автоматом в notepad++ вышло 41 замена и всё после этого заработало" - это делать не нужно, вы действительно зря подписались на топик со слешем.
Выяснил что чистить флеш бланком или специальным скетчем сейчас уже не актуально, в среде ардуино сейчас есть пункт Erase Flash, по умолчанию выполняется только загрузка скетча, но если переключить то перед загрузкой скетча среда ардуино может сделать и очистку wi-fi и всего флеша целиком.
Еще вопрос для чего передается столько топиков - какие-то будильники макросы время, оно для чего-то нужно ?
Эти топики лишние для majordomo использовал их раньше для приложения Андроид.
Суть была такова, есть 4 пульта статично прописанных в скетчь и одна раскладка клавиатуры в приложении (на скринах все есть) можно выбрать любой пульт и управлять по mqtt без MD. Часы нужны были для 4-х будильников по дням недели, по будильникам выполнялись макросы - это последовательность нажатия на заранее выбранные кнопки в одном или разных из 4-х пультов. Макросы настраивались через это же приложение. Например мне было удобно по будильнику что бы включалась RGB led лампа в бра (эта лампа на 3 ватта продовалась вместе с ИК пультом).
Если есть желание то могу скинуть конфиг настроеек для этого приложения, дабы вам вручную не создовать все элементы управления?
здравствуйте. на схеме все верно? светодиоды 3 последовательно? их на сколько я знаю резистором ограничивают и всех в параллель ставят ? не? каковы параметры ИК диода ? они ж вроде как импульс до 1А поддерживают ?
qartz, мои там где покупал написано 1,3 вольта максимальный ток 100мА. По факту получилось 70мА при напряжении 1,5 вольта на светадиод. Пробовал и 2 и 1 и 3 светадиода последовательно в итоге, 2 - сгорают, 1 - тоже сгорает, 3 - само оптимально, 4 - слабый сигнал. В итоге запаял 2 цепочки по 3 последовательно. Размещенны на круглой банке вертикально по 3 шт, горизонтально 2 шт. За счет закругления в банке светадиоды направленны в разные стороны слегка, в 3 слоя , получается довольно мощный шлюз, ни один пульт не сравнится с мощностью этого шлюза. И да , важно применять полевой massfet транзистор, биполярные довольно быстро сгорают и большие потери мощности.
Ой ё...
Падение напряжения на инфракрасных светодиодах порядка 1В и ставить все параллельно нет смысла.
Включать их нужно с ограничительным резистором, тогда ничего не будет сгорать и будет стабильно работать. По 2 светодиода последовательно и токоограничивающий разистор - самое то для надежной работы и температурной стабильности.
Или купить готовый ИК шилд https://ru.aliexpress.com/item/V1-0-0-lolin-D1/328... приемник и 4 излучателя паять кроме ножек ничего не надо, готовое устройство за копейки.
yray, да видел, видел такое.
Сейчас добавил еще один шлюз на кухне в систему Majordomo, только там на esp-01 работает только ИК передатчик. И написал метод для последовательного нажатия комбинаций кнопок на разных пультах (для TV BBK, и приставки world wision t92a для старта iptv) здесь куча кнопок нужно нажать что бы включить iptv на приставке. :)
А так сейчас удобней, прежде чем идти на кухню тыкнул всего 1 кнопку (старт iptv) в меню Majordomo и пока идешь на кухню, система majordoma сама понажимает нужные кнопки и включит 1-ый канал из плейлиста. ;)
мне как раз пакет диодов приехал с китаю 940нМ, я тож склоняюсь к варианту гирлянды из 2 диодов и резюка Ом на 20-50 продублировав ее раз 5-6 и мосфетку поставить что нить типа IRLML2502 запитав всё от +3.3В
а кто во что упаковал изделие ? торчащие диоды ведь это не прям шедевр дизайна ? ик прозрачные пластики есть , ни кто не поделится идеей?
Привет всем у кого завелся девайс.
Перечитал все фиксики и столкнулся с такой проблемой не создаются все топики а только те которе на картинке
Регулярно обновляется 2 топика curent_time 17.июль.2020 --Пт-- 10:59:17 и online 1 подскажите как ее завести?)
Ну в MJDM обычно если в топик ничего не прилетает, то этот топик сам не создастся, его нужно вручную прописать в MJDM.
Добавил я все как на рисунке выше. Перепробывал все пульты которые были дома в топиках приемника и передатчика изменений нет. В ком порт устройство шлет логи работы ?
А вижу, надо ункомент все //Serial.print Еще как вижу вроде надо в топике вырать тип пульта от 1 до 4 и тип передатчика ИР или РФ?
Выбирать ничего не нужно.
Тип пульта, да закодирован в моих текстовых сообщениях по MQTT в виде цифры, но эти строки автоматически формируются. Да возможно я не все кодировки ИК пультов добавил для распознования. Например наш новый ТВ "Томсан" не поддердивается этим шлюзом.
Все автоматом работает, и как RF шлюз, и одновременно IR шлюз. Причем было замечано что каким то волшебным образом шлюз может сам себе отпровлять и получать ИК коды.
Приветствую!
Еле запустил шлюз... Не подключался к брокеру 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")
НЕ знаю почему так и как у всех работало... Пароли и шифрование не использую. А что самое смешное - логин пароль передавался в пакетах при не удачном подключении - видел в сетевом снифере. Прописал в тупую и пошло!
Ув. krepton85 подскажите, пожалуйста, если я не использую часы, макросы и будильники, можно всё это дело вырезать без потери функциональности шлюза?
Хочу закоментировать все упоминания о макросах и будильниках, нет ли там важны системных макросов?
И ещё вопрос - как шлюз реагирует на пульты? Что я должен увидеть? Бо похоже у меня очередная проблема (:
Лишнее вырезал, всё работает. Немного хромает направленность, - надо точно прицеливаться. Буду экспериментировать с диодами и рассеивателями...
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 сохранены, ожидание перезагрузки пользоватилем
Похоже на ошибку - один вывод на два действия повешено?
Please login to leave comments. Join us!