/*
-- NodeMCUcloud --
Nodemcu V3 Lua WI-FI Модуль esp8266 + Дополнительная память 32 м flash, usb-serial ch340g
от компании RobotDyn
плюс датчик BME280 (температура, давление, влажность);
под управлением RemoteXY
вариант скетча для работы через облако
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
// настройки соединения
#define REMOTEXY_WIFI_SSID "******" // SSID вашего WiFi роутера
#define REMOTEXY_WIFI_PASSWORD "*****" // ваш пароль для подключения к роутеру
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "***************" // ваш токен полученный на сайте RemoteXY
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255, 0, 0, 27, 0, 87, 0, 8, 161, 0,
67, 4, 4, 28, 24, 5, 164, 26, 9, 67,
4, 36, 28, 28, 5, 164, 26, 9, 67, 4,
72, 28, 23, 5, 164, 26, 9, 129, 0, 2,
17, 97, 6, 17, 84, 32, 40, 208, 179, 209,
128, 46, 208, 161, 41, 32, 32, 32, 208, 148,
208, 176, 208, 178, 208, 187, 46, 40, 208, 188,
208, 188, 208, 160, 209, 130, 41, 32, 32, 208,
146, 208, 187, 208, 176, 208, 182, 208, 189, 32,
40, 37, 41, 0
};
// структура определяет все переменные вашего интерфейса управления
struct {
// output variable
char temp_1[9]; // =строка UTF8 оканчивающаяся нулем
char press_2[9]; // =строка UTF8 оканчивающаяся нулем
char hum_3[9]; // =строка UTF8 оканчивающаяся нулем
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
#include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
#define pin_sda D1 // default sda pin //вставить свое значение
#define pin_scl D2 // default scl pin //вставить свое значение
void setup()
{
RemoteXY_Init ();
// TODO you setup code
Serial.begin(9600);
Wire.begin(D1, D2); // настройка выходов для I2C датчика BME280 D1 NodeMCU -> SDA датчика; D2 NodeMCU -> SCL датчика;
if (!bme280.init()) {
Serial.println("Device error!");
}
delay(10);
}
float t, p, h; // переменные температуры, давления, влажности
void loop()
{ RemoteXY_Handler ();
// получение данных с датчика
t = (bme280.getTemperature());
p = (bme280.getPressure() * 0.00750063); // перевод в мм ртутного столба
h = (bme280.getHumidity());
//get and print temperatures
//Serial.print("Temp: "); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
Serial.print(t);
//Serial.println(" C"); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
dtostrf(t, 0, 2, RemoteXY.temp_1);
//get and print atmospheric pressure data
//Serial.print("Pressure: "); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
Serial.print(p);
//Serial.println(" mm.Hg"); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
dtostrf(p, 0, 2, RemoteXY.press_2);
//get and print humidity data
// Serial.print("Humidity: "); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
Serial.print(h);
//Serial.println(" %"); // раскомментируйте эти строки для первоначального теста датчика через монитор порта Ардуино IDE
dtostrf(h, 0, 2, RemoteXY.hum_3);
// раскомментируйте строку с задержкой в 1,5с для первоначального теста датчика через монитор порта Ардуино IDE
// delay(1500); // закомментируйте эту задержку при работе с RemoteXY !!!
}