ESP8266

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Skull
Сообщения: 38
Зарегистрирован: Вт фев 17, 2015 1:52 pm

Re: ESP8266

Сообщение Skull »

Я уже пробовал ложить этот код- ничего не происходит. Или ручки ровнять пора....
А тот что выше- сейчас попробую и отпишусь
kostya066 писал(а): Этот код правильный, но у вас в классе объект называется ID устройство.
Я не силен в PHP, но делал как в Вики- там тоже так вроде- объект как ID....

UPD Данные появились, спасибо!!!
Skull
Сообщения: 38
Зарегистрирован: Вт фев 17, 2015 1:52 pm

Re: ESP8266

Сообщение Skull »

Теперь родился второй вопрос- если переменные мы сделали глобальными- как подключить другие модули ??
И как должен работать код, который давали ранее ? Может имеет смысл его попробовать чтобы иметь возможность подключить несколько модулей
kostya066
Сообщения: 53
Зарегистрирован: Чт ноя 27, 2014 10:43 am

Re: ESP8266

Сообщение kostya066 »

Skull писал(а):Теперь родился второй вопрос- если переменные мы сделали глобальными- как подключить другие модули ??
И как должен работать код, который давали ранее ? Может имеет смысл его попробовать чтобы иметь возможность подключить несколько модулей

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

$light=$params['light'];  //Данные с датчика BH1750
$ds=$params['ds'];        //Данные с датчика DS18B20
$bmpt=$params['bmpt'];  //Данные с датчика BMP (температура)
$bmpp=$params['bmpp'];  //Данные с датчика BMP (давление)
$dhtt1=$params['dhtt1']; //Данные с первого датчика DHT (температура)
$dhth1=$params['dhth1'];  //Данные с первого датчика DHT (влажность)
$dhtt2=$params['dhtt2']; // Данные со второго датчика DHT (температура)
$dhth2=$params['dhth2'];  //Данные со второго датчика DHT (влажность)
$idesp=$params['idesp'];  //ID устройства
$ver=$params['ver'];     //Версия прошивки
$vdd=$params['vdd']; //Напряжение на модуле
$freemem=$params['freemem']; //Объем свободной памяти модуля
setGlobal(($idesp.".light"),$light);
setGlobal(($idesp.".ds"),$ds);
setGlobal(($idesp.".bmpt"),$bmpt);
setGlobal(($idesp.".bmpp"),$bmpp);
setGlobal(($idesp.".dhtt1"),$dhtt1);
setGlobal(($idesp.".dhtt2"),$dhtt2);
setGlobal(($idesp.".dhth1"),$dhth1);
setGlobal(($idesp.".dhth2"),$dhth2);
setGlobal(($idesp.".idesp"),$idesp);
setGlobal(($idesp.".ver"),$ver);
setGlobal(($idesp.".vdd"),$vdd);
setGlobal(($idesp.".freemem"),$freemem); 
с этим кодом точно знаю что можно хоть сколько подключать модулей. у самого 3 модуля в сети.
А в объектах должно быть к примеру:
ESP8266
-ID устройства.
-ID устройства.
-ID устройства.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: ESP8266

Сообщение Amarok »

А как из сценария создать объект, если его нет?
Моя Алиска живёт на Proxmox в Debian 12
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром

Re: ESP8266

Сообщение AirKing »

Всем привет.
А подскажите пож. у вас данные модули устойчиво работают?
мой что то постоянно виснет, пинг на него идет 30-1500 мс, и каждые 15-12 пакетов обрывается.
Веб морда вообще тупит. главная страница открывается, остальные могут вообще не открыться.
питание подаю от стабилизатора 3.3в.
Получи Cashback до 18% с покупок
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Контактная информация:

Re: ESP8266

Сообщение MaksMS82 »

Или питание все же плохое или расстояние большое. Может какая-то проблема совместимости скорости с роутером.
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром

Re: ESP8266

Сообщение AirKing »

[quote="MaksMS82"
MaksMS82 писал(а):Или питание все же плохое или расстояние большое. Может какая-то проблема совместимости скорости с роутером.
растояние 3 метраю. питание http://www.ebay.com/itm/LM2596-S-ADJ-DC ... 4ae536f9a1
ну а если не совпадение протоколов Wi-Fi хз незнаю как проверить
Получи Cashback до 18% с покупок
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Контактная информация:

Re: ESP8266

Сообщение MaksMS82 »

Этот преобразователь может давать высокочастотные помехи, можно попробовать линейный стабилизатор 1117 например или тут наставить керамик емкостей
Skull
Сообщения: 38
Зарегистрирован: Вт фев 17, 2015 1:52 pm

Re: ESP8266

Сообщение Skull »

AirKing писал(а): питание http://www.ebay.com/itm/LM2596-S-ADJ-DC ... 4ae536f9a1
ну а если не совпадение протоколов Wi-Fi хз незнаю как проверить
У меня такой же. проблема ушла после установки LC фильтра и танталовой емкости на ноги модуля. по 6 суток полет нормальный. Иногда народмон жалуется на неверные показания датчика температуры, но думаю это связано с датчиком DHT11.(0.0 показания)


Вопрос на засыпку- код, что выкладывали как прикручивается и что где показать должен ?

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

$idesp=$params['idesp'];
if (!$idesp) return;
$esp=getObjectsByClass("ESP8266");
foreach($esp as $obj) 
{
    if (gg($obj['TITLE'].".idesp") ==$idesp)
    {
        if (is_array($params)) {
           foreach($params as $k=>$v) {    
            if ($k!="script") {
            sg($obj['TITLE'].".".$k,$v);
               }
           }
         }
    }
} 
Платная прошивка отличается от бесплатной по кол-ву данных и кто его знает что там искать надоть...
Jon2015
Сообщения: 28
Зарегистрирован: Чт фев 05, 2015 8:07 pm

Re: ESP8266

Сообщение Jon2015 »

Skull писал(а): Вопрос на засыпку- код, что выкладывали как прикручивается и что где показать должен ?

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

addClass('ESP8266'); 
$idesp=$params['idesp'];
if (!$idesp) return;
$esp=getObjectsByClass("ESP8266");
foreach($esp as $obj) 
{
    if (gg($obj['TITLE'].".idesp") ==$idesp)
    {
        if (is_array($params)) {
           foreach($params as $k=>$v) {    
            if ($k!="script") {
            sg($obj['TITLE'].".".$k,$v);
               }
           }
         }
    }
}
Этот код записывается в сценарий с обязательным именем espdata .
Сценарий запускается самим модулем ESP8266 с заданной периодичностью.
Вслед за командой запуска, модуль пристегивает к запросу показания своих внутренних переменных.
Код сценария анализирует эти переменные и добавляет (если не находит) к классу с именем ESP8266 эти переменные в виде свойств объекта.
Короче все автоматизировано до предела.
Главное правильно указать в модуле ИП адрес МДМ и в мажордоме иметь сценарий espdata с этим кодом.
Через 5 минут работы в классе ESP8266 появится объект с уникальным именем (ИД модуля) и со списком свойств в виде названий переменных и показаниями этих переменных.
Замечу, что список будет состоять только из тех переменных, которые активированы в модуле.
А куда вывести эти значения переменных это уже другой вопрос.
P.S. В начале сценария добавил строчку кода по добавлению класса ESP8266.
Последний раз редактировалось Jon2015 Вс фев 22, 2015 12:56 pm, всего редактировалось 1 раз.
Ответить