• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Оптимум набор выключатель (розетка) на ESP

Сергей_Ф

Moderator
Команда форума
так как в sonoff придется питание поменять.
посмотрел. Честно говоря никакого криминала не заметил. Выглядит всё очень грамотно. Посмотрим как долго проживут. Осталось впаять интерфейс и запрограммировать датчик для вентилятора :). Родной софт работает, но его функционал для меня не очень понятен. Не могу придумать куда его применить.
Модули вот как здесь Альтернативная прошивка для sonoff и управления Livolo
Кстати, классно, помимо управления вентилятором по датчику, я могу управлять ещё всеми своими выключателями по 433 МГц радиоканалу с помощью всего одного модуля sonoff!! Передатчик пришел как раз недавно. В дополнении к пультам будет не плохо - могу детям свет выключить во всех комнатах со смартфона :) .
 
Последнее редактирование:

Dinovadya

New member
@tretyakov_sa,
взглянул. Софт однозначно свой нужен.
Нужно выбрать наиболее симпатичную для себя и допилить..

Вот что на ибее один пишет про прошивку:
Switch working as expected when you connect it to AC, no issues. With update of firmware to MQTT version it became home automation beast - universal switch communicating both way via MQTT to home automation hub (in my case OpenHab). PROS: works as expected from 1st plug to AC, Possible upgrade of firmware to MQTT version CONS: if you want MQTT you need to solder terminal to be able connect FTDI programmer, No terminal for switch - you can use micro-switch on board or solder terminal parallel to micro-switch for MQTT firmware search for "Sonoff-MQTT-OTA-Arduino"

А в предыдущем сообщении Сергей_Ф уже отписал что да как.. примерно так и поступлю
 

tretyakov_sa

Moderator
Команда форума
@tretyakov_sa,
взглянул. Софт однозначно свой нужен.
Нужно выбрать наиболее симпатичную для себя и допилить..

Вот что на ибее один пишет про прошивку:
Switch working as expected when you connect it to AC, no issues. With update of firmware to MQTT version it became home automation beast - universal switch communicating both way via MQTT to home automation hub (in my case OpenHab). PROS: works as expected from 1st plug to AC, Possible upgrade of firmware to MQTT version CONS: if you want MQTT you need to solder terminal to be able connect FTDI programmer, No terminal for switch - you can use micro-switch on board or solder terminal parallel to micro-switch for MQTT firmware search for "Sonoff-MQTT-OTA-Arduino"

А в предыдущем сообщении Сергей_Ф уже отписал что да как.. примерно так и поступлю
У меня есть, там еще исправления на веб страницах делаются. GitHub - tretyakovsa/Sonoff_WiFi_switch: Прошивка для Sonoff - WiFi switch
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa что то у меня проблема при загрузке его на Witty (в качестве тестовой платформы). Что-то есть тоько в режиме 1 Mбайт\256 кбайт - но только file not found (если FS не загружена), либо виснит - если загрузит. Что в корень, что кдато ещё обращаюсь. Один раз что то показало на /# - но ничего не насканировала - зависла. Непойму что не так.
 

tretyakov_sa

Moderator
Команда форума
@tretyakov_sa что то у меня проблема при загрузке его на Witty (в качестве тестовой платформы). Что-то есть тоько в режиме 1 Mбайт\256 кбайт - но только file not found (если FS не загружена), либо виснит - если загрузит. Что в корень, что кдато ещё обращаюсь. Один раз что то показало на /# - но ничего не насканировала - зависла. Непойму что не так.
Да была ошибка. Исправил.
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa что то теперь не компилируется даже
на другом компе, но всё же. Как будто не подключаются другие ino из папки. Пробовал другой многофайловый скетч - всё работает.
Код:
Arduino: 1.6.12 (Linux), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/Sonoff_WiFi_switch.ino: In function 'void setup()':
Sonoff_WiFi_switch:70: error: 'FS_init' was not declared in this scope
  FS_init();
          ^
Sonoff_WiFi_switch:72: error: 'loadConfig' was not declared in this scope
  loadConfig();
             ^
Sonoff_WiFi_switch:74: error: 'Tach_0' was not declared in this scope
  attachInterrupt(Tach0, Tach_0, RISING); //прерывание сработает, когда состояние вывода изменится с низкого уровня на высокий
                         ^
Sonoff_WiFi_switch:76: error: 'WIFIAP_Client' was not declared in this scope
  WIFIAP_Client();
                ^
Sonoff_WiFi_switch:80: error: 'HTTP_init' was not declared in this scope
  HTTP_init();
            ^
Sonoff_WiFi_switch:83: error: 'SSDP_init' was not declared in this scope
  SSDP_init();
            ^
Sonoff_WiFi_switch:86: error: 'Time_init' was not declared in this scope
  Time_init(timezone);
                    ^
Sonoff_WiFi_switch:88: error: 'alert' was not declared in this scope
  tickerAlert.attach(1, alert);
                        ^
Sonoff_WiFi_switch:89: error: 'ip_wan' was not declared in this scope
   ip_wan();
          ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/Sonoff_WiFi_switch.ino: In function 'void loop()':
Sonoff_WiFi_switch:96: error: 'handleUDP' was not declared in this scope
  handleUDP();
            ^
Sonoff_WiFi_switch:112: error: 'ip_wan' was not declared in this scope
    ip_wan();
           ^
Sonoff_WiFi_switch:121: error: 'Time_init' was not declared in this scope
     Time_init(timezone);
                       ^
Sonoff_WiFi_switch:125: error: 'Time_init' was not declared in this scope
   Time_init(timezone);
                     ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/Sonoff_WiFi_switch.ino: In function 'void alert()':
Sonoff_WiFi_switch:132: error: 'XmlTime' was not declared in this scope
  String Time=XmlTime();
                      ^
Sonoff_WiFi_switch:135: error: 'Time01' was not declared in this scope
  Time01();
         ^
Sonoff_WiFi_switch:139: error: 'Time02' was not declared in this scope
  Time02();
         ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/HTTP_init.ino: In function 'void handle_TimeZone()':
HTTP_init:44: error: 'Time_init' was not declared in this scope
  Time_init(timezone);
                    ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/HTTP_init.ino: In function 'void handle_Time()':
HTTP_init:79: error: 'Time_init' was not declared in this scope
  Time_init(timezone);
                    ^
HTTP_init:80: error: 'XmlTime' was not declared in this scope
  String Time = XmlTime();
                        ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/HTTP_init.ino: In function 'void HTTP_init()':
HTTP_init:116: error: 'handle_ConfigXML' was not declared in this scope
  HTTP.on("/configs.json", handle_ConfigXML); // формирование config_xml страницы для передачи данных в web интерфейс
                           ^
HTTP_init:117: error: 'handle_IplocationXML' was not declared in this scope
  HTTP.on("/iplocation.xml", handle_IplocationXML);  // формирование iplocation_xml страницы для передачи данных в web интерфейс
                             ^
HTTP_init:122: error: 'inquirySSDP' was not declared in this scope
  HTTP.on("/devices", inquirySSDP);         // Блок для
                      ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/Tach.ino: In function 'void Time01()':
Tach:14: error: 'setT1' was not declared in this scope
   tickerSetLow.attach(TimeLed*60, setT1, 0);
                                   ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/Tach.ino: In function 'void Time02()':
Tach:19: error: 'setT2' was not declared in this scope
   tickerSetLow.attach(TimeLed*60, setT2, 0);
                                   ^
/home/sergey/Документы/Arduino/Sonoff_WiFi_switch/WIFI.ino: In function 'void WIFIAP_Client()':
WIFI:12: error: 'StartAPMode' was not declared in this scope
       StartAPMode();
                   ^
exit status 1
'FS_init' was not declared in this scope
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa дома новый вариант скомпилировался, значит на работе что-то не то. Из того что заметил сразу - опечатка
загрузить профишвку (bin)

пароль на мой роутер не принял, очевидно из-за наличия в нём знака '
, обычно апостроф плохо обрабатывают в паролях
Странно, в отладке идут правильные имя сети и пароль, но соединения нет :(


Еще более странно, после переподключения питания - подключилось. Как теперь адрес найти? В отладке нет :(
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
@tretyakov_sa дома новый вариант скомпилировался, значит на работе что-то не то. Из того что заметил сразу - опечатка
загрузить профишвку (bin)

пароль на мой роутер не принял, очевидно из-за наличия в нём знака ' или @
счас точно узнаю, но обычно апостроф плохо обрабатывают в паролях
В пароле есть символ ' или @? Скорее всего проверку в web странице не проходит. Поправим.
На веб страницах есть много опечаток, но пока за их исправления не брались.
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa это нормально ?
Код:
Waiting for time
.
ITime Ready!
22:45:33
[HTTP] GET... failed, error: connection refused
Адрес нашел сканером сети. Работает шустро, но функционал бедноват, ИМХО. Для жалюзи сгодится, но остальное требует расширения и доработки. Или это просто заготовка?Снимок экрана_2016-11-10_23-26-36.png
Снимок экрана_2016-11-10_23-26-36.png

Пришел на работу - версия Arduino IDE таже что и дома 1.6.12, версия платы esp тоже (2.3.0). Но дома компилирует, тут нет.
Блин. Название папки на русском в пути скетча всему виной!!!!

А вот на работе в пароле сети есть знак & - он точно в пароле не проходит! Пароль обрезан в отладочной информации. Так что поправить всё таки придётся. Если подскажете где смотреть - сделаю сам.

Нашел ввод:
Код:
 <input id="password" value="{{password}}" pattern=".{8,15}" onfocus="this.type='text'" type="password" class="form-control" placeholder="Пароль">
и присвоение
Код:
    server = "/ssid?ssid="+val('ssid')+"&password="+val('password');
    send_request(submit,server);
думал что замена на
Код:
function set_ssid(submit){
    server = "/ssid?ssid="+val('ssid')+"&password="+encodeURIComponent(val('password'));
    send_request(submit,server);
   }
поможет, но нет. Не работает :(
работает. запаковать надо было. Кстати, зачем грузить и html и gz на esp?

Вот архив c двумя файликами с исправлением для ввода любого пароля. Возможно нужно подправить и для ssid?
 

Вложения

Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
@tretyakov_sa это нормально ?
Код:
Waiting for time
.
ITime Ready!
22:45:33
[HTTP] GET... failed, error: connection refused
Здесь получено время, а дальше ошибка обращения к сервису DynDNS.DK : Welcome (Dansk | English), там нужно вставить ссылку на свою страницу, чтоб можно было обратится из сети по символьному адресу при разных внешних IP.
Адрес нашел сканером сети. Работает шустро, но функционал бедноват, ИМХО. Для жалюзи сгодится, но остальное требует расширения и доработки. Или это просто заготовка?Посмотреть вложение 2512
Если wndows 7, то можно обратиться без сканирования сети через сетевое окружение.
Пришел на работу - версия Arduino IDE таже что и дома 1.6.12, версия платы esp тоже (2.3.0). Но дома компилирует, тут нет.
Блин. Название папки на русском в пути скетча всему виной!!!!
Компилируется на версии 1.6.12?
А вот на работе в пароле сети есть знак & - он точно в пароле не проходит! Пароль обрезан в отладочной информации. Так что поправить всё таки придётся. Если подскажете где смотреть - сделаю сам.
Нашел ввод:
Код:
 <input id="password" value="{{password}}" pattern=".{8,15}" onfocus="this.type='text'" type="password" class="form-control" placeholder="Пароль">
и присвоение
Код:
    server = "/ssid?ssid="+val('ssid')+"&password="+val('password');
    send_request(submit,server);
думал что замена на
Код:
function set_ssid(submit){
    server = "/ssid?ssid="+val('ssid')+"&password="+encodeURIComponent(val('password'));
    send_request(submit,server);
   }
поможет, но нет. Не работает :(
работает. запаковать надо было. Кстати, зачем грузить и html и gz на esp?

Вот архив c двумя файликами с исправлением для ввода любого пароля. Возможно нужно подправить и для ssid?
Html и dz применяются для разных браузеров. dz для сокращения времени загрузки страницы из медленной flash.
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa да, прекрасно компилируется на 1.6.12
у меня windows 7 отказывается обращаться по символьному имени, хотя bonjour стоит. Почему - так и не разобрался.
В моем случае FireFox на Линуксе требовал gz, потому первая правка в html не сработала. В zip положил оба файла правленных. Там теперь пароль вводтится правильно.
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa похоже что ссылка редактор HTML мало того что не работает, так ещё и настройки портит во флеше :( .
 

tretyakov_sa

Moderator
Команда форума
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa а какие настройки для памяти Вы ставите?
Попробовал новую версию, несколько раз вкл/выкл на странице управления и всё висит :(
Редактор html сейчас заработал, но если быстро пощелкать по файлам - тоже зависает
 

tretyakov_sa

Moderator
Команда форума
Не разу не встречался с этим эффектом. Кстати выложена новая версия.
@tretyakov_sa а какие настройки для памяти Вы ставите?
Попробовал новую версию, несколько раз вкл/выкл на странице управления и всё висит :(
Редактор html сейчас заработал, но если быстро пощелкать по файлам - тоже зависает
Сидел и щелкал по файлам, и вкл/выкл эффекта не наблюдаю.
 

Вложения

Сверху Снизу