Arduino Mega Server для esp8266
Модератор: Alex
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server для esp8266
В стандартной поставке есть много упоминаний о модуле Nrf24, но нет 90 процентов кода. Я в программировании вообще никак))) и сделал по принципу " найдите 10 отличий" .Поэтому в слепую добавил 4 вкладки обслуживания модуля из скетча МЕГИ. Я понимаю ,что так нельзя, но учиться как то надо. Соответственно в файлах "СД карты" не было файлов nrf24.htm и nrf24.js. Вначале добавил их по воздуху , скопированные из Меги. Там все файлы написаны большими буквами. Они заливались,но были битыми (редактор ЕСП их открывал пустыми). когда переименовал маленькими буквами- все встало на место. С разбегу запустить не получилось,потому что уперся в таймеры. Не могу сообразить как объединить вывод в сериал данные с ЕСП и Nrf. АМС стартует,но при 5 выводе в сериал перезапускается.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server для esp8266
Теперь по поводу градусников. В чистом виде для платы NodeMcu V3 нормально запустилось только на D2 ( в скетче пин 4) .После прикручивания экрана (D1-SCL , D2-SDA ) вывод оказался занят и подошел только D5 (в скетче пин 14).
На всех остальных либо не передавали данные ( ID определялся правильно) , либо не запускалась плата. Причем даже в таком варианте ( 1 датчик, в скетче прописаны три) по факту значения "уличного" градусника не определяется, а второе и третье соответствует правде.
На всех остальных либо не передавали данные ( ID определялся правильно) , либо не запускалась плата. Причем даже в таком варианте ( 1 датчик, в скетче прописаны три) по факту значения "уличного" градусника не определяется, а второе и третье соответствует правде.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server для esp8266
Теперь понятно.В стандартной поставке...
Код для всех платформ очень похожий и отличия больше косметические, особенно для таймеров.С разбегу запустить не получилось,потому что уперся в таймеры.
А в чём с ними проблема?Не могу сообразить как объединить вывод в сериал данные с ЕСП и Nrf.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server для esp8266
Простой перенос файлов не сработал. Скетч компилируется и заливается, но АМС не работает. Он стартует, конектится к сети,один раз запрашивает время и перегружается.( на NODEMCU и D1 одинаково себя ведет). Вообще с ESP не все так просто. Вроде бы куча пинов, но полноценных для 1wire нашел только 3. И то ,если в скетче активировать I2c Для экрана , далласы запустились только на одном. Наверное при неправильном подключении NRF24 АМС не запустится.Попробую еще отключить все модули . Хотя у Макса связка работает. http://homes-smart.ru/index.php/oborudo ... i-nrf24le1 С таймерами вроде разобрался, осталось понять что и как выводится в сериал.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 41
- Зарегистрирован: Вс июл 10, 2016 5:52 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server для esp8266
Alex, приветствую!
В документации надо добавить, что модули есть и с 512 кб на борту,
обладателем которой я и оказался.
Как Вы советовали,
достать из ящиков запылившиеся модули версии 01, и тут оба-на, облом...
Очень огорчился
и заказал с Китая на Таобао WeMOS D1 mini.
Ну это так, предисловие.
А по компиляции проекта вылезли вопросы.
Кстати, при установке ядра 8266 в менеджере плат,
почему то не установился файл FS.h
пришлось в ручную его забирать на Гитхабе и копировать в папку.
Устал бороться, победить не получается....
И далее вот:
В документации надо добавить, что модули есть и с 512 кб на борту,
обладателем которой я и оказался.
Как Вы советовали,
достать из ящиков запылившиеся модули версии 01, и тут оба-на, облом...
Очень огорчился
и заказал с Китая на Таобао WeMOS D1 mini.
Ну это так, предисловие.
А по компиляции проекта вылезли вопросы.
Кстати, при установке ядра 8266 в менеджере плат,
почему то не установился файл FS.h
пришлось в ручную его забирать на Гитхабе и копировать в папку.
Устал бороться, победить не получается....
И далее вот:
Код: Выделить всё
server_ajax.ino: In function 'void parseRequest(WiFiClient)':
server_ajax.ino:87:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:87:80: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:100:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:100:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:107:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:107:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:113:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:113:73: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:119:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:119:74: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:125:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:125:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:126:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:127:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:135:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:140:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:144:52: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:149:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:154:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:166:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:171:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:176:50: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:180:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void SetLEDs()':
server_ajax.ino:310:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:313:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:317:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:320:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:324:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:327:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:331:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:334:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setSettings()':
server_ajax.ino:439:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:442:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setThemes()':
server_ajax.ino:469:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:470:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:471:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:472:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:473:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:474:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:475:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:476:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void setControl()':
server_ajax.ino:511:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:515:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:520:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:524:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:529:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:533:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:538:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:542:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:547:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:551:44: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino: In function 'void checkPage()':
server_ajax.ino:677:49: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:678:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:679:46: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:680:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
server_ajax.ino:681:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.cpp: In member function 'boolean FtpServer::doRetrieve()':
D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.cpp:678:59: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'char*' [-fpermissive]
int16_t nb = file.readBytes((uint8_t*) buf, FTP_BUF_SIZE );
^
In file included from D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.h:36:0,
from D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.cpp:21:
C:\Users\Small\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/FS.h:62:12: error: initializing argument 1 of 'virtual size_t fs::File::readBytes(char*, size_t)' [-fpermissive]
size_t readBytes(char *buffer, size_t length) override {
^
Ошибка компиляции.
-
- Сообщения: 72
- Зарегистрирован: Пт июл 10, 2015 8:44 pm
- Благодарил (а): 9 раз
- Поблагодарили: 7 раз
Re: Arduino Mega Server для esp8266
Как оказалось запустить веб-сервер на ESP недостаточно, как и пинов(полноценных) на модуле. Может просто перепилить FSBrowser из примеров под свои нужды?serghei писал(а):Простой перенос файлов не сработал. Скетч компилируется и заливается, но АМС не работает. Он стартует, конектится к сети,один раз запрашивает время и перегружается.( на NODEMCU и D1 одинаково себя ведет). Вообще с ESP не все так просто. Вроде бы куча пинов, но полноценных для 1wire нашел только 3. И то ,если в скетче активировать I2c Для экрана , далласы запустились только на одном. Наверное при неправильном подключении NRF24 АМС не запустится.Попробую еще отключить все модули . Хотя у Макса связка работает. http://homes-smart.ru/index.php/oborudo ... i-nrf24le1 С таймерами вроде разобрался, осталось понять что и как выводится в сериал.
А поменять флеш ?zilibob4ik писал(а):... модули есть и с 512 кб на борту, обладателем которой я и оказался.
...достать из ящиков запылившиеся модули версии 01, и тут оба-на, облом....
Последний раз редактировалось relict Вс июл 10, 2016 6:38 pm, всего редактировалось 1 раз.
Debian GNU/Linux 8 (jessie)
Arduino 1.8.5 / esp32 1.0.1
Arduino 1.8.5 / esp32 1.0.1
-
- Сообщения: 41
- Зарегистрирован: Вс июл 10, 2016 5:52 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server для esp8266
Да без проблем...relict писал(а):А поменять флеш ?zilibob4ik писал(а):... модули есть и с 512 кб на борту, обладателем которой я и оказался.
...достать из ящиков запылившиеся модули версии 01, и тут оба-на, облом....
А теперь элементарный расчёт...
СпойлерПоказать
Проблема в том, что чипы надо заказывать, и ждать их одинаково долго, как и готовые модули.
Чипы 10 штук - от 215 руб, а модулей у меня всего 2 !
Т.е, не зависимо от количества присланных микросхем, рабочих модулей мы получим 2шт, за 215 руб.
Готовый модуль D1 mini - 160 руб.
В итоге D1 mini, 2 модуля - 320 руб, против перепайки 2-х чипов за 215 руб.
При одинаковом времени ожидания посылки.
Да и на старые модули были тоже потрачены деньги, учитывая что я их брал,
как только они появились, то стоили они как то не мало, иначе я бы их не заказал всего 2 штуки.
Обычно подобное (NRF-ки, Arduin-ки и пр. заказываю по 5-10 штук)
Вот такая элементарная математика, с выводом - они того не стоят.
Покопаюсь в барахле, если найду флешки со старых мамок (или гаджетов) то перепаяю...
Чипы 10 штук - от 215 руб, а модулей у меня всего 2 !
Т.е, не зависимо от количества присланных микросхем, рабочих модулей мы получим 2шт, за 215 руб.
Готовый модуль D1 mini - 160 руб.
В итоге D1 mini, 2 модуля - 320 руб, против перепайки 2-х чипов за 215 руб.
При одинаковом времени ожидания посылки.
Да и на старые модули были тоже потрачены деньги, учитывая что я их брал,
как только они появились, то стоили они как то не мало, иначе я бы их не заказал всего 2 штуки.
Обычно подобное (NRF-ки, Arduin-ки и пр. заказываю по 5-10 штук)
Вот такая элементарная математика, с выводом - они того не стоят.
Покопаюсь в барахле, если найду флешки со старых мамок (или гаджетов) то перепаяю...
Последний раз редактировалось zilibob4ik Вс июл 10, 2016 8:28 pm, всего редактировалось 1 раз.
-
- Сообщения: 72
- Зарегистрирован: Пт июл 10, 2015 8:44 pm
- Благодарил (а): 9 раз
- Поблагодарили: 7 раз
Re: Arduino Mega Server для esp8266
zilibob4ik писал(а):Меня вот больше сейчас волнует, почему не компилится скетч...
А с этим просто, версия arduino не соответствует версии esp, т.е. для arduino-1.6.5 нужно установить 2.0.0, а не 2.3.0(она для arduino 1.6.8 и выше).zilibob4ik писал(а):In file included from D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.h:36:0,
from D:\Downloads\Arduino\arduino-1.6.5-r5\libraries\ESP8266FtpServer\ESP8266FtpServer.cpp:21:
C:\Users\Small\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores
P.S.
Как по мне так при наличии SPIFFS вроде FtpServer не особо и нужен.
Последний раз редактировалось relict Вс июл 10, 2016 7:11 pm, всего редактировалось 2 раза.
- За это сообщение автора relict поблагодарил:
- zilibob4ik (Вс июл 10, 2016 7:07 pm)
- Рейтинг: 1.16%
Debian GNU/Linux 8 (jessie)
Arduino 1.8.5 / esp32 1.0.1
Arduino 1.8.5 / esp32 1.0.1
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server для esp8266
По ходу экспериментов с АМС удалось вывести температуру в даш-панель и на LCD 20*4. Пробую запустить счетчик воды и электроэнергии.
ESP реагирует на замыкание контакта морганием светодиода, но счетчик не увеличивается. В описании ESP написано,что прерывания есть на всех пинах,кроме 16. Понимаю,что не хватает какой то мелочи, а вот что делаю не так? Как вообще работают прерывания в ESP ?
СпойлерПоказать
Код: Выделить всё
/*
YF-S201 Hall Effect Water Flow Meter / Sensor
http://www.hobbytronics.co.uk/yf-s201-water-flow-meter
Read Water Flow Meter and output reading in litres/hour
Тупо регистрируем замыкания контактов
*/
#ifdef YFS201_FEATURE
int pin = 3; // 3-й цифровой пин, первое прерывание
long counter = 0; // счётчик импульсов
long vol1; //счетчик литров
void yfs201Init()
{
// Настраиваем последовательный интерфейс, для вывода информации
Serial.begin(115000);
//Настраиваем цифровой вход
pinMode(pin, INPUT); // Сюда будем подключать подтягивающий резюк
digitalWrite(pin, HIGH); // "Подключаем" подтягивающий резистор (реализован внутри ATmega)
attachInterrupt(1, count, FALLING); // задаём обработчик прерывания 1 (3-й пин).
// прерывание будет при изменении уровня с HIGHT на LOW
// вызывать функицю count
}
void yfs201Works ()
{
// основной рабочий цикл
vol1 = (counter / 430); //430 оборотов на литр
/*
#ifdef YFS201_FEATURE
if (vol1NeedSend) {
sendPacket(DTA_VOL_1);
}
#endif
*/
//checkTemp();
#ifdef SERIAL_PRINT
Serial.print(F("Volume: "));// вывод литров . Надо дописать условие - выволить при изменении на 1 литр
Serial.println(vol1);
Serial.print(F("V: ")); // для проверки работы счетчика
Serial.println(counter);
#endif
}
void count(){
// вызывается прерыванием 1 от 3-го цифрового входа
counter++; // ясен перец, увеличиваем переменную. Утекло ещё 2 грамма
}
#endif
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 72
- Зарегистрирован: Пт июл 10, 2015 8:44 pm
- Благодарил (а): 9 раз
- Поблагодарили: 7 раз
Re: Arduino Mega Server для esp8266
Вам то хорошо, а я так и не смог победить ds18b20 на NODEMCU.serghei писал(а):По ходу экспериментов с АМС удалось вывести температуру в даш-панель
Debian GNU/Linux 8 (jessie)
Arduino 1.8.5 / esp32 1.0.1
Arduino 1.8.5 / esp32 1.0.1