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

vk

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

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

Конструктор кода в конструкторе прошивки ESP8266 04 Фев 2017 00:09 #17018

  • iapet
  • iapet аватар
  • Не в сети
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
  • Репутация: 3
Dmitry77 пишет:
код для работы с 2мя роутерами каждые 50 реконектов переключается на другой роутер после 500 реконектов поднимает свою точку

Перед тем как вставить в окно конструктора кода вбить имена своих роутеров и пороли в 19,20,26,27 строке,после 500 реконектов поднимается точка доступа с хостнейм модуля и паролем 87654321

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
А простите для чего это?
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 04 Фев 2017 02:45 #17020

  • Dmitry77
  • Dmitry77 аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 89
  • Спасибо получено: 39
  • Репутация: 11
у меня есп в стенке и 2 роутера,летают самолетики падает wi-fi,если перепрыгнет с роутера на роутер отлично,ошибка в пароле не заставит снова сдергивать панели ,оно и так точку создаст минут через 10, читал что такое просили Макса,чтоб точки не менять параметры когда модуль с дома на работу таскаешь, делал себе,а остальным пример выложил,мало ли кому пригодится.
D77
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 05 Фев 2017 00:54 #17033

  • Cava_cd
  • Cava_cd аватар
  • Не в сети
  • Новый участник
  • Сообщений: 2
  • Репутация: 0
Доброй ночи.
Есть задача поливать цветы.
Есть решение, но не могу
разобраться с работой таймеров, а точнее как правильно его запрограммировать :(
Помогите разобраться с таймерами.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Помогите.
Последнее редактирование: 05 Фев 2017 00:55 от Cava_cd.
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 09 Фев 2017 21:59 #17116

  • Cava_cd
  • Cava_cd аватар
  • Не в сети
  • Новый участник
  • Сообщений: 2
  • Репутация: 0
Всем привет.
Разобрался я с таймерами.

Вот код который работает.
_______________________
static os_timer_t esp_timer; // глобально объявим таймер esp_timer

void ICACHE_FLASH_ATTR read_esp(){ // это функция которая вызывается по таймеру
digitalWrite(0,0); // выключаем реле
delay (500);
digitalWrite(0,1); // включаем реле
}

void ICACHE_FLASH_ATTR
startfunc(){
digitalWrite(0,0);
// выполняется один раз при старте модуля.
// запуск таймера:

}

void ICACHE_FLASH_ATTR
timerfunc(uint32_t timersrc) {// место для вставки кода, который будет выполнятся каждую 1 секунду.

if (digitalRead(02)==1){
os_timer_disarm(&esp_timer);
os_timer_setfn(&esp_timer, (os_timer_func_t *)read_esp, NULL); // read_esp -функцию, которую нужно вызвать по таймеру.
os_timer_arm(&esp_timer, 1000, 0); // 1000 миллисекунд. 1 - многократно. 0 -однократно.
}

if(timersrc%30==0){
// место для вставки кода, который будет выполнятся каждые 30 секунд.
}
}

void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,"Hello world"); // вывод данных на главной модуля
Последнее редактирование: 09 Фев 2017 22:00 от Cava_cd.
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 10 Фев 2017 08:00 #17122

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7195
  • Спасибо получено: 1114
  • Репутация: 194
По идее и delay (500); нужно заменить на таймер, можно вызвать этот же таймер еще раз и обратится к другой функци..
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.

Конструктор кода в конструкторе прошивки ESP8266 12 Фев 2017 22:27 #17159

  • goroxxx
  • goroxxx аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 25
  • Спасибо получено: 1
  • Репутация: 0
Нужен выключатель с несколькими режимами написал код:

int regim=1;
int flag=0;
static os_timer_t esp_timer1;
read_gpio(){
if(digitalRead(14)==1&&flag==0)//если кнопка нажата
// и перемення flag равна 0 , то ...
{
regim++;
flag=1;
if(regim>3)//ограничим количество режимов
{
regim=1;
}

}
if(digitalRead(14)==0&&flag==1)//если кнопка НЕ нажата
//и переменная flag равна - 1 ,то ...
{

flag=0;//обнуляем переменную "knopka"
}



if(regim==1)//первый режим
{
digitalWrite(12,0);//выключаем все светодиоды
digitalWrite(13,0);


//здесь может быть любое ваше действие
}
if(regim==2)//второй режим
{
digitalWrite(12,1);//включае красный светодиод
digitalWrite(13,0);

//здесь может быть любое ваше действие
}

if(regim==3)//третий режим
{

digitalWrite(13,1);
digitalWrite(12,1);


//здесь может быть любое ваше действие
}

//if(regim==4)//четвертый режим
// {

// digitalWrite(12,1);//включаем светодиоды одновременно
// digitalWrite(13,1);
//здесь может быть любое ваше действие
// }

}
void ICACHE_FLASH_ATTR
startfunc(){
digitalWrite(13,0);
digitalWrite(12,0);
// выполняется один раз при старте модуля.
os_timer_setfn(&esp_timer1, (os_timer_func_t *) read_gpio, NULL); //говорим, что при каждом тике надо вызвать read_gpio()
os_timer_arm(&esp_timer1, 20, 1); //включаем таймер, говорим, что тик должен происходить каждые 10мс
}

void ICACHE_FLASH_ATTR
timerfunc(uint32_t timersrc) {
// выполнение кода каждую 1 секунду
//if(timersrc%3==0){
// выполнение кода каждые 3 секунд
//TODO читать переменную в input



}
void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,""); // вывод данных на главной модуля

Теперь не могу управлять им с веб интерфейса и mqtt. Переключается в тоже состояние которое задаешь кнопкой.
Помогите кто сталкивался!
Администратор запретил публиковать записи гостям.
Модераторы: FlyRouter
Время создания страницы: 0.152 секунд

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