Страница 1 из 1

Кто может помочь

Добавлено: Вс окт 29, 2017 11:19 pm
ArturioS
Всем добрый день кто решил помочь.
Первый день начал изучать данную систему.
Для теста на модуль ардуино ESP8266 написал скетч который измеряет температуру и отсылает значения каждые 5 сек GET запросом в умный дом.
В умном доме создал в объектах: ESP8266 Общий класс для ESP8266
1.png
1.png (12.59 КБ) 3778 просмотров
2.png
2.png (46.02 КБ) 3778 просмотров
и тд, чтоб не отвлекать Вас на писанину добавил всё в скрины.
В окно меню вывел температуру
3.png
3.png (4.26 КБ) 3778 просмотров
, а вот загвоздка в шаблоне поведения. Создал шаблон отправляю команду из шаблона ответ не получаю
4.png
4.png (128.27 КБ) 3778 просмотров
.
Понимаю, что видимо в коде php неверно определяю переменную моего Объекта. Подскажите люди добрые

Скетч вдруг кому пригодиться для ESP8266 Lion
SPOILERSPOILER_SHOW
Скетч вдруг кому пригодиться для ESP8266 Lion
//Подключаем требуемые библиотеки для работы

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS D2 //Куда посадили датчик(какой разъём)

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

ESP8266WiFiMulti WiFiMulti;
long rssi = WiFi.RSSI();

void setup() {
Serial.begin(115200);
delay(10);
// Подключение к Wi-Fi сети
WiFiMulti.addAP("ИмяСети", "Пароль");
Serial.println();
Serial.println();
Serial.print("Wait for WiFi... ");

while(WiFiMulti.run() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}

delay(500);
sensors.begin();
WiFi.mode(WIFI_STA);
}


void loop() {
const uint16_t port = 80;
const char * host = "IP mojardomo"; //Ваш ip сервера
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
WiFiClient client;

if (!client.connect(host, port)) {
Serial.println("connection failed");
delay(5000);
return;
}
//temperatureKitchen-Объект уст-ва который вы создали; temperature-переменная свойста объекта и т.д.
client.print("GET /objects/?object=temperatureKitchen&op=set&p=temperature&v="); // заносим температуру
client.print(temp);
client.println("");
client.stop();
delay(5000);


if (!client.connect(host, port)) {
Serial.println("connection failed");
delay(5000);
return;
}
client.print("GET /objects/?object=temperatureKitchen&op=set&p=ip&v="); // заносим в базу ip устройства
client.print(WiFi.localIP());
client.println("");
client.stop();
delay(5000);


if (!client.connect(host, port)) {
Serial.println("connection failed");
delay(5000);
return;
}
client.print("GET /objects/?object=temperatureKitchen&op=set&p=rssi&v="); //уровень сигнала
client.print(rssi);
client.print(" dBm");
client.println("");
delay(5000);
client.stop();
delay(20000);

}

Re: Кто может помочь

Добавлено: Вс окт 29, 2017 11:26 pm
skysilver
ArturioS писал(а):Создал шаблон отправляю команду из шаблона ответ не получаю
А ответ где ожидаете получить? В чате? Тогда вместо return надо say написать.

Код: Выделить всё

say('Температура ' . $temp. ' С', 0);

Re: Кто может помочь

Добавлено: Вс окт 29, 2017 11:30 pm
ArturioS
skysilver писал(а):
ArturioS писал(а):Создал шаблон отправляю команду из шаблона ответ не получаю
А ответ где ожидаете получить? В чате? Тогда вместо return надо say написать.

Код: Выделить всё

say('Температура ' . $temp. ' С', 0); 
Спасибо добрый человек, чёт я видимо затупил. Работает

Re: Кто может помочь

Добавлено: Вс окт 29, 2017 11:35 pm
skysilver
ArturioS писал(а):Спасибо добрый человек, чёт я видимо затупил. Работает
И вам спасибо. Приятно на такие вопросы отвечать, когда все по полочкам и со скриншотами, и не приходится телепатов привлекать. ))

Re: Кто может помочь

Добавлено: Пн окт 30, 2017 6:22 am
nick7zmail
А если в меню bkb yf cwtyt вывести хотите - %TemperatuteLitchen.temperature%