MajorDoMo и другие (обновлено: 20 Oct 2018, 16:30:57)

В настройках датчиков указывается IP адрес сервера MajorDoMo, Node-red или другого сервиса.

В бесплатном режиме не доступно изменение интервала отправки, только 600 сек.


Функция позволяет с установленным интервалом отправлять данные GET запросом на свой домашний сервер.

Это может быть сервер MajorDoMo, Node-red или другая система или свой простенький php скрипт.

Папка с скриптом должна находится по адресу /objects, но адрес можно поменять на другой в конструкторе прошивки, например /test.php. Скрипт должен обрабатывать входящие данные согласно метрикам, указанным в конце статьи.

Если на веб сервере используются vhost, то в его настройках необходимо указать vhost с именем homeserver

Отправка данных так же происходит при следующих событиях: при срабатывании прерываний (Active send, Key) , при входящей команде SMS, DTMF, звонке, при срабатывании ключа RFID ридера.

Работа с системой MajorDoMo

В системе необходимо создать сценарий с именем espdata, где уже обрабатываются перечисленные ниже данные.

Более подробно как работать с модулем можно почитать на форуме проекта MajorDoMo


Работа с системой Node-red

В прошивке указать порт - 1880 и любое имя формате - ИМЯ/

Пример: TV/



В вебинтерфейсе node-red прописать /ИМЯ

Пример: /TV


А так можно передать данные в облако, используя mqtt.


В кубик mqtt добавить код:

context.mail="mail@gmail.com";//сюда пишем свой емаил

var major=(toString.call(msg.payload)=='[object Object]')?JSON.stringify(msg.payload):msg.payload;  

var arr = major.split(',');

var msgg= [];

for (var i=0; i

{var topmetr=arr[i];

    var topi=topmetr.split('"')[1].split('":"')[0];

    if(topi!="hostname"&&topi!="errconn"&&topi!="idesp"&&topi!="script"&&topi!="ver"&&topi!="wanip"&&topi!="vdd")

{msgg[i]={};

        msgg[i].topic=context.mail+"/"+(major.split('"hostname":"')[1].split('"')[0])+"/" + topi ;

        msgg[i].payload=topmetr.split('":"')[1].split('"')[0] ;}    

}

return [msgg];


Метрики, передаваемые  на сервер:

Key
idesp ID устройства
hostname Имя устройства
mac MAC адрес устройства
wanip IP адрес устройства
freemem Свободное ОЗУ
ver Версия и дата сборки прошивки
uptime Время работы
rssi Уровень сигнала (нет на старых SDK)
vdd Напряжение питания (ESP8266)
apdsc APDS9960 Освещенность
apdsr APDS9960 Освещенность красный
apdsg APDS9960 Освещенность зеленый
apdsb APDS9960 Освещенность синий
thermo_setX Установка термостата
thermo_enX Состояние термостата вкл/выкл
ccsco2 CO2 датчика CCS811
ccstvoc TVOC датчика CCS811
lorsXY Метрики LORA
rtd MAX31865 Температура
hdct Температура датчика HDC1080
hdch Влажность датчика HDC1080
pmspm10 PM1.0
pmspm25 PM2.5
pmspm100 PM1.00
vl53l0x Расстояние VL53L0X
mbYYXX ModBus метрики
as5600 Угол AS5600
gpslat Широта GPS приемник
gpslon Долгота GPS приемник
heightgps Высота GPS приемник
speedgps Скорость GPS приемник
coursegps Курс GPS приемник
numsatgps Количество спутиков GPS приемник
btXrssi BT HUB RSSI
btXt BT HUB Температура
btXl BT HUB Освещенность
btXf BT HUB Плодородие
btXm BT HUB Влажность(почвы)
btXh BT HUB Влажность
btXb BT HUB Заряд батареи
adc Внутренний АЦП (ESP8266)
iadcX Внутренние АЦП (ESP32)
lm Температура с датчика LM75 или DS1621
inav Напряжение с датчика INA219
inac Ток с датчика INA219
dhttХ Температура датчиков DHT22 DHT11
dhthХ Влажность датчиков DHT22 DHT11
bmpt Температура датчиков BMP180/085
bmpp Давление датчиков BMP180/085
cntXi Данные с счетчика 60
light Освещенность с датчика BH1750
amt Температура с датчика AM2321
amh Влажность с датчика AM2321
dswX Температура датчиков DS18B20
bmet Температура с датчика BME280
bmeh Влажность с датчика BME280
bmep Давление с датчика BME280
shtt Температура с датчика SHT21
shth Влажность с датчика SHT21
sht30t Температура с датчика SHT30
sht30h Влажность с датчика SHT30
heat Температура с термопары MAX6675
cvv Напряжение с устройства CC/CV
cvc Ток с устройства CC/CV
pmv Напряжение с устройства Power Monitor
pmc Ток с устройства Power Monitor
pmw Мощность с устройства Power Monitor
pmwh Расход с устройства Power Monitor
rfid Данные с RFID
co2 Датчики CO2 MH-Z1x
ping ping тест статус
adcX Данные с АЦП PCF8591
rcdata Прием кода с радио пульта
rtct Температура DS3231
nrfYcX Счетчик с модулей NRF24
nrfYtX Температура с модулей NRF24
nrfYhX Влажность с модулей NRF24
nrfYaX АПЦ с модулей NRF24
nrfYgX Состояние GPIO с модулей NRF24
nrfYbX Другие данные с модулей NRF24
rssigsm RSSI GSM
irdata Прием кода с ИК пульта
pcfcntX Счетчик импульсов PCF8583
rcsXt Температура с модулей RC датчик
rcsXh Влажность с модулей RC датчик
rcsXa АЦП с модулей RC датчик
countrstX Счетчики импульсов сбрасываемый.
counterX Счетчики импульсов.
gpiointX Событие прерывания
pwmX Состояние ШИМ
gpioX Состояние GPIO входа
gpioutX Состояние выхода и установка
valuedesX Глобальные переменные конструктора кода
scale Весы HX711
mcpa1 Данные с АЦП MCP3201
ring Номер входящего звонка из GSM модуля
sms Текст входящей SMS GSM модуля
tel Номер телефона при входящей SMS GSM модуля
dtmf Входящая команда DTMF GSM модуля
adsX Данные с АЦП ADS1115
nexX Данные с дисплеев Nextion. Прием нажатий с сенсорного экрана
vzco2 CO2 VZ-89T
nlXt Температура с датчиков NooLite
nlXh Влажность с датчиков NooLite
hcsr04 HC-SR04
tsllux Данные с TSL2561
ibutton ID iButton ключа
ibuttonst Статус ключа iButton
upsi Данные с UPS Монитора. Напряжение на входе.
upsf Данные с UPS Монитора. Напряжение на входе.
upso Данные с UPS Монитора. Напряжение на выходе.
upsh Данные с UPS Монитора. Частота сети
upst Данные с UPS Монитора. Температура в корпусе
upsb Данные с UPS Монитора. Напряжение батареи.
upss Данные с UPS Монитора. Нагрузка
mlxo Температура объекта MLX90614
mlxa Температура окружающая MLX90614
vwtXY Температура с VirtualWire
vwhXY Влажность с VirtualWire
vwcXY Счетчики с VirtualWire
vwaXY АЦП с VirtualWire
vwbXY Один байт с VirtualWire
hlw_w HLW8012 (Sonoff POW) Мощность
hlw_v HLW8012 (Sonoff POW) Напряжение
hlw_c HLW8012 (Sonoff POW) Ток
hlw_wh HLW8012 (Sonoff POW) Ватт/ч