Анатолий писал(а):А кто реализовал подключение датчика BME280 в скетче АМS??? При подключении одного скетча процессор грузится у меня на 100%, а при подключении другого вообще виснет...
Вот код второго скетча
Извините. Я в программировании очень далек....
Что я сделал не так? Подскажите!
Честно говоря - не совсем понимаю что вы пытаетесь сделать. Если вы пишите отдельный скетч - то тут явно не хватает кода. Если пытаетесь подключить к АМС - конструкции типа
Код: Выделить всё
client->print("\t\tAltitude: ");
client->print(altitude);
client->print((metric ? "m" : "ft"));
client->print("\t\tDew point: ");
client->print(dewPoint);
client->println("°"+ String(metric ? 'C' :'F'));
Тут явно лишние. АМС просто не может понять что вы от него хотите. Он грузит странички с sd-карты, а тут в него пытаются прямо в клиент впихнуть еще какие-то данные. Делайте по примеру скетча с DS (модуль rtemp). Создайте массив с названием датчиков, массив с данными датчиков. Соответствующие <div> на страничке sd-карты, и отправляйте туда данные через sever-ajax. И кстати - зачем вам delay-и я не понял. В Init'е цикл while (как мне кажется) тоже не нужен, как и delay...хотя я не работал с i2c. Init запускается разово, думаю ничего страшного не произойдет, если он не будет ждать секунду...весь сервер стартует порядка 4 секунд, этого будет достаточно чтобы обнаружить датчик, если он подключен...если его нет - то уже обработку в теле программы проводите, а не в ините...возможно из-за этого и виснет ваш скетч, то что он не может обнаружить датчик, и соотв. не может пройти стадию инита. А BME280Works() вызывайте по таймеру, по примеру того же rtemp, к примеру раз в 4 секунды, если вам нужно столь частое обновление, а delay тоже убирайте.
Если что-то опять не получится - приводите лог монитора порта помимо кода скетча, чтобы понять - на каком этапе стопорится АМС.
PS: Прикольный датчик, возможно закажу себе такой же на улицу)). Изначально хотел весить DHT22. А тут еще и давление - прям метеостанция)