Ключевое ?лово

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Железо для умного дома

ТЕМА: Конструктор кода в конструкторе прошивки ESP8266

Конструктор кода в конструкторе прошивки ESP8266 17 Авг 2016 07:03 #14040

  • abv2003
  • abv2003 аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 69
  • Спасибо получено: 8
  • Репутация: 2
В дополнение или "Утро вечера мудрене́е"

В конструкторе кода написал программу состоящую только из одной крамольной строки (ну кроме обязаловки)
void ICACHE_FLASH_ATTR
startfunc(){ //функция, запускаемая при старте модуля
analogWrite(1,0); //при старте выключаем ШИМ
}

void ICACHE_FLASH_ATTR
timerfunc(uint32_t  timersrc) {
}


void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,"</div><div class=blockk>");
}

Усе - контроллер примерно три с половиной минуты живет своей жизнью.
Строка искуственного интелекта ?

P.S. по команде http://[ip_adr]/pwmprint должен выдаваться уровеь ШИМа, а у меня только "ОК"
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 17 Авг 2016 08:01 #14044

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7184
  • Спасибо получено: 1114
  • Репутация: 194
Пока странное поведение для меня не ясно, ничего в этом плане не менялось.

Сейчас поправил url pwmprint - там должно быть все корректно.
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 26 Авг 2016 13:15 #14219

  • kurs
  • kurs аватар
  • Не в сети
  • Новый участник
  • Сообщений: 6
  • Спасибо получено: 1
  • Репутация: 0
строю датчик протечки и управление кранами

кран кручу такой штукой tm-motoviliha.ru/internetmagazin?mode=pr...product_id=965882003

у не направление меняется с меной полярности для этого использую такие реле
ru.aliexpress.com/item/Free-Shipping-1PC...13010608.0.75.J1QogU

если переключать реле под напряжением то боюсь будет КЗ

поэтому решил другим реле буду подавать нагрузку после переключения полярность

программист из меня плохой ((

подскажите как написать в в конструкторе код который будет делать простые действия

если сработал датчик то на 2 минуты включить реле1 и через 10 секунд на 1 минуту включить реле2

в идеале возможно это можно оформить как какую то функцию и ее вызывать из логики

я думаю я не первый кто делает такое устройство может кто уже все по умному придумал

буду очень благодарен зап помощь
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 27 Авг 2016 08:10 #14231

  • Lsar
  • Lsar аватар
  • Не в сети
  • Завсегдатай
  • Сообщений: 190
  • Спасибо получено: 15
  • Репутация: 1
Для этого не обязательно программу писать, можно использовать 2х или 4х контактные реле и подключить как на рис. 1 и 2 на мотор + и - и так понятно. У меня на МегаД это реализовано, правда в несколько ином виде.
Последнее редактирование: 27 Авг 2016 08:13 от Lsar.
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 28 Авг 2016 15:13 #14240

  • Dmitry77
  • Dmitry77 аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 89
  • Спасибо получено: 39
  • Репутация: 11
термостат датчик dsw1 на гпио 5 с управлением настройкой по мктт
//собирая в конструкторе выбирать : Количество настроек - 2 настройки и Глобальные переменные - 2 . В Des code option модуля вводить настройки значений температуры умноженными на 10 !!!
int32_t fpkt0 = 220; // значение термостата на старте (22 градуса)
int32_t fpkt1 = 5; // значение гестерезиса на старте (0,5 градусов)
void ICACHE_FLASH_ATTR
startfunc(){
digitalWrite(5,0); //установка состояния выхода 5 esp8266 на старте
}
void ICACHE_FLASH_ATTR
timerfunc(uint32_t  timersrc){

if (sensors_param.cfgdes[0] != fpkt0){ valdes[0] = sensors_param.cfgdes[0];} else { sensors_param.cfgdes[0] = valdes[0];}  //значения термостата по мктт (значения температуры умножены на 10)
fpkt0=sensors_param.cfgdes[0];
if (sensors_param.cfgdes[1] != fpkt1){ valdes[1] = sensors_param.cfgdes[1];} else { sensors_param.cfgdes[1] = valdes[1];}  //значения термостата по мктт (значения температуры умножены на 10)
     
fpkt1=sensors_param.cfgdes[1];
          
if(data1wire[0]< (fpkt0 - fpkt1) ) digitalWrite(5,1); //нижняя граница термостата , включение гпио - значение уставки минус гестерезис
    
if(data1wire[0]> fpkt0 ) digitalWrite(5,0); //верхняя граница термостата , выключение гпио - значение уставки
 
}
void webfunc(char *pbuf) {
    
//отбражаем на главной состояние гпио
        if(digitalRead(5)!=0) {
        os_sprintf(HTTPBUFF," термостат -  <b><font color=\"green\"> ON </font></b>," );
            } else {
                os_sprintf(HTTPBUFF," термостат -  <b><font color=\"red\">OFF </font></b>," );
                }
os_sprintf(HTTPBUFF," целевая <b>%s</b> ,", fltostr(valdes[0]));

os_sprintf(HTTPBUFF," гестерезис <b>%s</b> ", fltostr(valdes[1]));

}
D77
Последнее редактирование: 28 Авг 2016 22:37 от Dmitry77.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Vbifyz1, Roofcat, kurs

Конструктор кода в конструкторе прошивки ESP8266 28 Авг 2016 15:23 #14241

  • Dmitry77
  • Dmitry77 аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 89
  • Спасибо получено: 39
  • Репутация: 11
скрины
D77
Администратор запретил публиковать записи гостям.
Модераторы: FlyRouter
Время создания страницы: 0.133 секунд

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.