Перейти к публикации
iT4iT.CLUB

Поиск по сайту

Результаты поиска по тегам 'bme280'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Операционные системы
    • UNIX
    • Mac OS
    • Windows
  • Системы мониторинга
    • Zabbix
  • Сетевое оборудование
    • Cisco Systems
    • MikroTik
    • Ubiquiti Networks
  • Микроконтроллеры
    • Arduino

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Календари

  • Календарь сообщества

Категории

  • Zabbix
    • Шаблоны
  • Arduino
    • Espressif Systems
    • Библиотеки
  • UNIX

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


Найдено 1 результат

  1. Метеостанция для измерения параметров в двух точках одинаковыми датчиками, например, дома и на улице. Собственно, пока что просто пример, как подключаются одинаковые датчики на одну шину I2C. Детали: Nodemcu v3, два датчика BME280, подключенные на один I2C. Для первого датчика с адресом 0х76 использовалась библиотека https://github.com/Seeed-Studio/Grove_BME280 и эта же библиотека отредактирована для второго датчика с адресом 0х77 (в прикрепленном файле). Как поменять адрес второго датчика например тут - http://arduino.ru/forum/apparatnye-voprosy/pomenyat-adres-i2c-na-bme280 Установить обе библиотеки. Метеостанция умеет выводить данные в UART. Также создает WEB-сервер, по WIFI соединяется с домашней сетью, данные с метеостанции можно посмотреть в браузере, перейдя по адресу, который дал роутер. В скетч вставить имя/пароль своей сети, а также указать к каким пинам подключены датчики. В моем случае это D1 и D2. В дальнейшем предполагается добавить в метеостанцию возможность регулировать температуру и влажность по домашнему датчику, включая обогреватель/кондиционер и ультразвуковой увлажнитель/вентилятор для проветривания. И возможно добавить датчик освещения и включать на ночь уличный свет/ прикрутить датчик влажности почвы и сделать автоматический полив/ добавить управление по WEB-интерфейсу уличным освещением и сливным бачком в тубзике Ну и скетч: #include "Seeed_BME280.h" #include "Seeed_BME280_77.h" #include <Wire.h> #include <ESP8266WiFi.h> BME280 bme280; BME280_77 bme280_77; #define pin_sda 5 // default sda pin //вставить свое значение #define pin_scl 4 // default scl pin //вставить свое значение const char* ssid = "ssid"; //вставить свое значение const char* password = "password"; //вставить свое значение WiFiServer server(80); void setup() { Serial.begin(115200); if(!bme280.init()){ Serial.println("Device error!"); } if(!bme280_77.init()){ Serial.println("Device error!"); } delay(10); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); server.begin(); Serial.println("Server started"); Serial.println(WiFi.localIP()); } void loop() { float t = (bme280.getTemperature()); float p = (bme280.getPressure()*0.00750063); float h = (bme280.getHumidity()); float t_77 = (bme280_77.getTemperature()); float p_77 = (bme280_77.getPressure()*0.00750063); float h_77 = (bme280_77.getHumidity()); //get and print temperatures Serial.print("Temp: "); Serial.print(t); Serial.println(" C");//The unit for Celsius because original arduino don't support speical symbols //get and print temperatures_77 Serial.print("Temp_77: "); Serial.print(t_77); Serial.println(" C");//The unit for Celsius because original arduino don't support speical symbols //get and print atmospheric pressure data Serial.print("Pressure: "); Serial.print(p); Serial.println(" mm.Hg"); //get and print atmospheric pressure data_77 Serial.print("Pressure_77: "); Serial.print(p_77); Serial.println(" mm.Hg"); //get and print humidity data Serial.print("Humidity: "); Serial.print(h); Serial.println(" %"); //get and print humidity data_77 Serial.print("Humidity_77: "); Serial.print(h_77); Serial.println(" %"); delay(1000); WiFiClient client = server.available(); if (!client) { return; } while(!client.available()){ delay(1); } String req = client.readStringUntil('\r'); client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<head></head><body>"); client.print("Temperatures_in: "); client.print(t); client.print(" &#8451"); client.print("<br>"); client.print("Pressure_in: "); client.print(p); client.print(" mm.Hg."); client.print("<br>"); client.print("Humidity_in: "); client.print(h); client.print(" %"); client.print("<br><br>"); client.print("Temperatures_out: "); client.print(t_77); client.print(" &#8451"); client.print("<br>"); client.print("Pressure_out: "); client.print(p_77); client.print(" mm.Hg."); client.print("<br>"); client.print("Humidity_out: "); client.print(h_77); client.print(" %"); client.println("</body></html>"); delay(1); client.stop(); } Grove_BME280_77-master.zip
×
×
  • Создать...