Closed pandability closed 7 years ago
Добрый день, да я подготовлю вариант на этой неделе
pinya, Отлично, как раз хотел сейчас с этим же вопросом обратиться. Буду ждать.
Я пока не опубликовал этот вариант, т.к. навожу порядок в коде основной ветки. Сделаю в ближайшие несколько дней, после завершения #2
C нетерпением жду
Опубликовал версию для BME280 в отдельной ветке: https://github.com/pinya/kuhomon/tree/bme280
На руках у меня BME280 нет, чтобы проверить, но должно работать
Такая беда "IP address: 192.169.1.107 Load config... Config loaded blynk server: blynk-cloud.com port: 8442 token: Blynk token Connecting to blynk... Connecting to blynk... Connecting to blynk... и тд, не может приконнектиться. "
Может это проблема роутера, с портами что-то?
Проблема:
token: Blynk token
При настройке не указан токен blynk
Нужно сбросить на заводские настройки, Вообще, Для сброса на заводские настройки нужно на время подсоединить GPIO 12 (D6) на землю, но здесь этот метод не сработает. Я подумаю как это можно обойти.
Простая перепрошивка не поможет.
но здесь этот метод не сработает.
Почему? Я так понимаю этот токен я где-то получить должен? Извиняюсь, если глупости пишу, просто совсем не в теме.
Upd. Так, я понял, должен скачать приложение для андроида, зарегиться, создать проект и получить там токен?
Upd2. Ок. Получил. Я так понимаю теперь если его впишу и перепрошью, то это мне не поможет?
При обычной перепрошивке данные подключения не удалятся, они хранятся в другой части памяти. Как я уже писал, есть предусмотренный в прошивке метод для сброса на заводские настройки,
Для сброса на заводские настройки нужно на время подсоединить GPIO 12 (D6) на землю,
Но этот метод не очень корректно организован, он работает, когда устройство полностью загружено. Здесь же оно останавливается в процессе загрузки.
Чтобы не ждать моего полноценного решения добавьте первой строкой в main.cpp в функцию setup()
(строка 415) вызов factoryReset();
void setup() {
factoryReset();
Прошейте, подождите минутку, потом удалите эту строчку и прошейте снова. Это сработает, он снова войдет в режим настройки и вы сможете указать верный token
Так, теперь работает, но с BME по нулям получает. Я его отдельно проверял, сенсор в порядке, может проблема с пинами, хотя вроде всё правильно и в дебаге ничего не пишет.
Я обновил код, можете прошить и прислать что он выводит в консоль после загрузки, при каждом измерении?
В моем случае:
Getting Temperature from SI7021
Getting Temperature from BMP085
Getting Humidity from SI7021
Getting Pressure from BMP085
Getting CO2
CO2:400
H: 41%
T: 28C
P: 742mmHg
CO2: 400ppm
Всё так же как и было, я сенсор отдельно с библиотекой bme280t из менеджера проверял, всё работало.
Getting Temperature from BME280
Getting Humidity from BME280
Getting Pressure from BME280
Getting CO2
CO2:710
H: 0.00%
T: 0.00C
P: 0.00mmHg
CO2: 710ppm
Попробуйте сменить адрес в инициализации устройства. BME280 может работать на разных адресах. в строке 439 укажите адрес 0x76 (по умолчанию 0x77)
// Init Pressure/Temperature sensor
if (!bme.begin(0x76)) {
DEBUG_SERIAL.println("Could not find a valid BME280 sensor, check wiring!");
}
Если это не поможет, то попробуйте посмотреть на каких адресах у вас вообще есть устройства, это можно сделать при помощи вот этой прошивки: https://playground.arduino.cc/Main/I2cScanner Она выведет все i2c устройства в консоль
Таки да, в адресе была проблема.
Отлично, можно закрывать этот вопрос?
Ага, огромное спасибо за помощь и идею для устройства. Потом может парочка идей придет по улучшению функционала, отпишусь.
Да, тут есть над чем поработать. Вероятно займусь новой версией в июле. Удачи и спасибо за отзыв!
Добрый день. Не будете ли вы столь любезны выложить вариант кода при использовании датчика BME280? В силу того, что желание познакомиться с IoT возникло исключительно благодаря вашей статье про метеостанцию на GT, собственных сил и знаний пока не хватает.