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

IoT Manager и обратная связь с внешним миром

Alex403

New member
Возможно не нашел этой информации в других разделах, но мне кажется это можно отнести и к работе с приложением.

1) Не нашел как записывать в EEPROM значения выключателей, чтоб они после сброса не были по умолчанию.

2) Обработка GPIO на вход, чтоб можно было поставить физический выключатель который будет вносить изменение через сервер.

3) Можно ли переключать RX/TX на другие порты, для того что-бы можно было управлять другими мк, объединенных например RS485?

P.S. Я новичек в IoT и Arduino. Пишу для pic24 и stm32. Не уверен что именно здесь надо спрашивать эти вопросы.
 

Victor

Administrator
Команда форума
1) Не нашел как записывать в EEPROM значения выключателей, чтоб они после сброса не были по умолчанию.
ESP8266 стартует и может работает без участия IoT Manager, т.е. записывать/восстанавливать состояние переключателей вы должны в скетче

2) Обработка GPIO на вход, чтоб можно было поставить физический выключатель который будет вносить изменение через сервер
не совсем понял, что значит "вносить изменение через сервер", но если речь о физическом выключателе, подключенном к GPIO, состояние которого вы хотите видеть в IoT Manager, то можно использовать например, виджет [inline]anydata[/inline] и отправлять ему статусы [inline]{status: "Включено"}[/inline] или [inline]{status: "Выключено"}[/inline] в зависимости от состояния вашего выключателя

3) Можно ли переключать RX/TX на другие порты, для того что-бы можно было управлять другими мк, объединенных например RS485?
У esp8266 два UART - 0 и 1. Чаще всего используют 0 - для него большинство примеров, но на практике удобнее использовать uart1 для подключения debug терминала (только TX), а UART0 для прошивки и подключения других устройств.
Подробнее Reference · ESP8266 Arduino Core
 

Юрий Ботов

Moderator
Команда форума
Правильно понимаю что пишете в Arduino IDE с надстройкой для esp8266?
Для начала гляньте сюда: http://esp8266.ru/arduino-ide-esp8266/
1.EEPROM там есть (реально вместо несуществующего EEPROM используется кусочек FLASH), также можно работать с FLASH через SPIFFS - как с файловой системой.
2.Как с обычным Arduino. НО не работает обработка по событию (прерыванию). Только поллинг.
3. Третий вопрос может не понял... Но ардуиновский SoftwareSerial на esp тоже работает.
 

Alex403

New member
Не понятно мне как у ардуино библиотеки смотреть, обычно в Keil можно прямо тыкнув на функцию посмотреть где она и открыть файл. Я не смог найти где хранятся функции с EEPROM.

Вот у меня заработал пример как я хотел. Считываю состояние GPIO и отправляю на сервер, а он уже отображает состояние в приложении.Теперь надо нормально оформить и сделать если нет вайфая чтоб лампочкой можно было через порт управлять.

Код:
      if (timeNow - timer1s > 1000) { // события каждую 1 sec
getSensorData();
        Serial.print("."); // print programm activity
        timer1s = timeNow;
int zzz;
zzz=digitalRead(16);
Serial.print(zzz); 
      if(zzz==0){
   pubStatus(sTopic[0], "{\"status\":\"" + String(0) + "\"}");;digitalWrite(5,0);
      }
      if(zzz==1){  
    pubStatus(sTopic[0], "{\"status\":\"" + String(1) + "\"}");;digitalWrite(5,1);
        }
      } //////события каждую секунду
 
Последнее редактирование:

Alex403

New member
Еще такой вопрос, можно где-то взять время через вайфай, чтоб можно было по расписанию фонарь включать/выключать? Можно было бы сделать надстройку к переключателям в приложении. Но тут есть опасность, что может не всегда сработать, если телефон не активен:)
 

nikolz

Well-known member
Еще такой вопрос, можно где-то взять время через вайфай, чтоб можно было по расписанию фонарь включать/выключать? Можно было бы сделать надстройку к переключателям в приложении. Но тут есть опасность, что может не всегда сработать, если телефон не активен:)
На сервере точного времени по протоколу SNTP.
см документацию на SDK: 2c-esp8266_non_os_sdk_api_reference_en стр 123
 
Сверху Снизу