SmartLiving.ru

Обсуждение проекта
 
Текущее время: Вс фев 19, 2017 5:19 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.
Автор Сообщение
 Заголовок сообщения: FAQ ESP8266
СообщениеДобавлено: Сб мар 12, 2016 3:54 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
Возьму на себя смелость, создать такую ветку, по модулям ESP. Надеюсь, никто не будет против.

Я конечно не специалист далеко в настройке и программировании majordomo, но те вопросы, которые возникали - успешно решились, благодаря этому форуму.
Но конечно всё не идеально, и найти ответ на вопрос - порой бывает очень сложно. Посему хотелось-бы создать путёвый FAQ вроде как на форуме 4PDA. Безумно удобно там всё происходит, и на каждый девайс, например смартфон - есть шапка, которая постоянно обновляется, и в ней собрано всё самое важное. И главное упорядочено. И не приходится просматривать сотни страниц форума, в поисках нужной инфы.

Итак, по модулям ESP уже сказано и написано сотни статей, но для себя я решил, что ESP это одно из лучших устройств, для умного дома. Функционал и цена - просто космос!

Для начинающих:
[Показать] Скрытый текст: О модулях


[Показать] Скрытый текст: Первоначальные настройки (как запустить)
Первый запуск модуля оказался достаточно непрост, но потом понеслось как по маслу!
Хорошо помогла статья: http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
Очень много инфы, получились у меня некоторые ошибки, но всё позади =)

Как делал я:
ESP12-q ~140 рублей http://ru.aliexpress.com/item/Free-Shipping-ESP8266-serial-WIFI-model-ESP-12-Authenticity-Guaranteed-ESP12/32251314761.html
Макетная плата ~8 рублей http://ru.aliexpress.com/item/10Pcs-DIY-Prototype-Paper-PCB-Universal-Experiment-Matrix-Circuit-Board-5x7cm-11651-01-01-Free-shipping/1855063290.html
Стабилизатор 3.3v (1117-3.3) ~2.7 рубля - http://ru.aliexpress.com/item/10pcs-AMS1117-3-3-AMS1117-LM1117-1117-3-3V-1A-Voltage-Regulator/32348815272.html
Конденсатор танталовый 10мкф (для стабилизатора) ~6х2шт рублей http://ru.aliexpress.com/item/Free-shipping-20pcs-A-3216-10uF-10V-SMD-tantalum-capacitor/32321455486.html
Резисторы 10ком ~0,54рубля http://ru.aliexpress.com/item/10Pcs-DIY-Prototype-Paper-PCB-Universal-Experiment-Matrix-Circuit-Board-5x7cm-11651-01-01-Free-shipping/1855063290.html
Итого получаем около 166 рублей Карл! 166 рублей, за девайс, который без проблем интегрируется в MajorDomo, и может выполнять десятки разных задач. Функционал такого устройства - порой просто поражает.
Правда ещё придется потратить 100 рублей, за прошивку (если нет желания изобретать велосипед)

По ссылке есть большая статья, но из неё по сути надо только вот эту схему:
Изображение
Проблемка с этой схемой у меня была только одна. Я привык программатор подключать наоборот, rx к tx, а tx к rx. Толи мой программатор с перепутанным обозначением, толи ещё проблема какая имеется, но заработало у меня только при rx-rx, tx-tx
Всё паяем на макетной плате, или травим - если не лень. Также добавляем туда стабилизатор ams1117-3.3 по этой схеме:
Изображение
Правда, я использовал другие конденсаторы, но всё отлично работает.



Вот, что получилось в итоге:
[Показать] Скрытый текст:
Можно и плату растравить, но мне как-то лениво. Тем-более, что каждое готовое устройство, в итоге не похоже на друг на друга.
В качестве соединителей, использовал жилы от обычной витой пары. Медные проводки в ней легко паяются, и валяются без дела на каждом углу.
Сам ESP-12 висит на некотором расстоянии от макетной платы, и под ним спрятались 5 резисторов на 10ком.

Изображение
Изображение



[Показать] Скрытый текст: Прошивка
В программировании я не силён, посему выбор пал на готовую прошивку. Цена вопроса - 100 рублей за прошивку для одного модуля.
Есть такой замечательный сайт
http://www.wifi-iot.ru/ - конфигуратор прошивок.
По этой ссылке открывается конфигуратор, в котором отмечаем галочками нужный функционал, и сгенерированую прошивку скачиваем и соответственно заливаем в модуль.
Есть бесплатная версия, со вполне неплохим функционалом.
Также здесь можно почитать:
http://homes-smart.ru/index.php/oborudovanie/bez-provodov-wi-fi/proekt-umnogo-modulya-na-baze-esp8266 - Описание прошивки и некоторых возможностей.

Для прошивки я использую вот такой usb адаптер:
http://media.nn.ru/data/ufiles/2016-03/59/9c/5d/56e4309bb816f_dsc04249.JPG
и nodemcu flasher
Программатор проверенный, и рабочий. Покупался достаточно давно. Дрова ставятся автоматом.
В Nodemcu, в разделе "Operation" выбираем Com порт (смотрим в диспетчере устройств). Никаких танцев с AT командами тут ненужно.
Затем в разделе "Config" выбираем загруженный файл прошивки
Не забываем закоротить нулевое gpio на модуле - на землю (это режим прошивки).
В завершении вертаемся в первый раздел "Operation" и жмём Flash.
Модуль прошит и готов к работе. Вынимаем перемычку с gpio0 на gnd, жмём три раза кнопку reset модуль перезагружается, и работает как точка доступа.
Подключаемся к новой точке доступа, и проводим настройки модуля.



Варианты установки (коробки, боксы и т.п.)
[Показать] Скрытый текст: Распределительный короб
Вариант с использованием распределительного короба. Около 30 рублей в магазинах электрики.
В данной реализации стоит два мосфета, для управления яркостью светодиодной ленты на кухне.
Также планируется подключение датчика DHT, модуля реле, и IR светодиода, для управления музыкальным центром:
http://media.nn.ru/data/ufiles/2016-03/17/03/57/56e43c664bed4_dsc04250.JPG



Железные вопросы, и варианты их реализации
[Показать] Скрытый текст: Подключение светодиодной ленты, ШИМ (PWM)
Подключать нагрузки, с управлением по ШИМ можно с помощью мосфет транзистора. Прошивка от HomeSmart поддерживает 3 канала для ШИМ. То-есть можно подключить до трёх устройств.
Принцип подключения такой-же, как и в Arduino. Поэтому нагуглить элементарно:
http://cxem.net/beginner/beginner61.php - подключение RGB ленты к Arduino.
По ссылке выше - нам нужна всего-лишь одна схема:
Изображение
В статье рекомендуют мосфеты: STP16NF06 на алишке цены на них что-то недешевые. от 30 и выше рублей. По даташиту, мощность у них 16 ампер.

А к примеру http://ru.aliexpress.com/item/10pcs-free-shipping-IRF3205-IRF3205PBF-MOSFET-MOSFT-55V-98A-8mOhm-97-3nC-TO-220-new-original/32385779122.html
Стоят уже 15 рублей, и мощность 98 ампер. Будет работать или нет - пока не проверял. Но свои светодиодные ленты, я запустил от мосфета, выпаянного из дохлого БП от компьютера,
там мосфеты около 50 ампер. И успешно работают. Я взял дохлый БП от компа, выпаял оттуда всё, что похоже на транзистор, и начал гуглить даташиты на каждый элемент. И все, где встречается
подобная схема:
Изображение
- должны подойти.

Управление:
В мажордомо создаём слайдербокс, с мин. знач. 0 и макс. знач. 255, с кодом:
Код:

$value
= $params['VALUE']; 
$url 
= getURL("192.168.1.16/pwm?ch=0&set=$value",0);

Где "ch=0" - номер канала от 0 до 2.
Если 255 значений в слайдер боксе лишку, то меняем макс. знач. в слайдербоксе до 10, тогда код будет вот такой:
Код:

$value
= $params['VALUE']*25.5; 
$url 
= getURL("192.168.1.16/pwm?ch=0&set=$value",0);


Можно потестить и без MajorDomo - забить в адресную строку браузера:
Код:
192.168.1.16/pwm?ch=0&set=255

Где "192.168.1.16" - адрес ESP модуля, а "set=255" значение яркости светодиодной ленты, от 0 до 255
Если в конец строки добавить "&flash=1" то заданное значение яркости запишется в энергонезависимую память модуля,
и при перезагрузке модуля - светодиодная лента включится, с ранее установленным значением яркости.


[Показать] Скрытый текст: Управление реле
Самый простейший вариант управление нагрузками, с помощью модуля реле для Arduino.
Бывает массу разных вариантов, от модулей на одно реле, до 16шт на одной плате.
Для более богатых есть твердотельные реле. Они бесшумны.
Вот несколько вариантов:
http://ru.aliexpress.com/item/5V-Two-2-Channel-Relay-Module-With-optocoupler-For-Arduino-PIC-AVR-DSP-ARM-SG037-SZ/32430236404.html?btsid=0f8b523f-d782-4c07-913f-c1fc26a4129f&s=p&ws_ab_test=searchweb201556_1%2Csearchweb201602_2_10017_10010_10011_10012_10018_10019_505_506_503_504_10034_10032_10020_502_10001_10002_10005_10006_10021_10003_10022_10004_10009_10007_10008%2Csearchweb201603_1&spm=2114.03020208.3.20.9NQp0h
http://ru.aliexpress.com/item/4-channel-relay-module-4-channel-relay-control-board-with-optocoupler-Relay-Output-4-way-relay/1624699191.html?spm=2114.03020208.3.63.9NQp0h&ws_ab_test=searchweb201556_1,searchweb201602_2_10017_10010_10011_10012_10018_10019_505_506_503_504_10034_10032_10020_502_10001_10002_10005_10006_10021_10003_10022_10004_10009_10007_10008,searchweb201603_1&btsid=0f8b523f-d782-4c07-913f-c1fc26a4129f
http://ru.aliexpress.com/item/5V-DC-1-Channel-Solid-State-Relay-Board-module-High-Level-fuse-for-arduino/32419488549.html?spm=2114.03020208.3.20.b8BmbT&ws_ab_test=searchweb201556_1,searchweb201602_2_10017_10010_10011_10012_10018_10019_505_506_503_504_10034_10032_10020_502_10001_10002_10005_10006_10021_10003_10022_10004_10009_10007_10008,searchweb201603_1&btsid=4c0ff852-bc68-40cb-9d42-e393f23a6bee

Подключение к ESP:
Если ESP питается от 5 вольт с использованием стабилизатора 1117-3,3 то очевидно, что на входе 5 вольт, их и подключаем к нашему блоку реле.
Gnd от куда угодно, хоть от Esp хоть от стабилизатора. А входы на реле помечены как in - к gpio esp модуля.

Управлять можно gpio командой вида http://IP_ADRES/gpio?st=1&pin=12 - этим Вы установите на 12 GPIO логическую единицу. Дополнительные команды: &flash=1 - настройка запишется в энергонезависимую память. Просмотреть состояние GPIO можно по адресу http://IP_ADRESS/gpioprint



Интеграция в MajorDomo:
[Показать] Скрытый текст: Сценарий espdata полный, с пустыми полями
Изображение от пользователя: alekszander
Изображение

Но более продвинутый код, от пользователя: oleglapo, мне понравился больше, есть вроде как всё.
Только почему-то значение температуры от датчика ds18b20 - не ведет историю. Изменил 366 в датчике - на 50, и история появилась.

Код:
if ($params['idesp']=="") { return; } //Если ID устройства отсутствует, то перестаем отрабатывать сценарий
addClass('ESP8266'); //Создаем класс ESP8266
addClassObject('ESP8266',$params['idesp']); //Создаем в классе ESP8266 объект где в качестве имени 
addClassProperty('ESP8266', 'vdd', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'bmpp', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'bmpt', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhth1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhth2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhtt1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhtt2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw3', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw4', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw5', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'amt', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'amh', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'updated', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'updatedTime', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'alive', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm0', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm1', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm2', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'rssi', 1); //уровень сигнала
addClassProperty('ESP8266', 'gpiout0', 1); //Данные выход GPIO 0
addClassProperty('ESP8266', 'gpiout1', 1); //Данные выход GPIO 1
addClassProperty('ESP8266', 'gpiout2', 1); //Данные выход GPIO 2
addClassProperty('ESP8266', 'gpiout3', 1); //Данные выход GPIO 3
addClassProperty('ESP8266', 'gpiout4', 1); //Данные выход GPIO 4
addClassProperty('ESP8266', 'gpiout5', 1); //Данные выход GPIO 5
addClassProperty('ESP8266', 'gpiout12', 1); //Данные выход GPIO 12
addClassProperty('ESP8266', 'gpiout13', 1); //Данные выход GPIO 13
addClassProperty('ESP8266', 'gpiout14', 1); //Данные выход GPIO 14
addClassProperty('ESP8266', 'gpiout15', 1); //Данные выход GPIO 15
addClassProperty('ESP8266', 'gpiout16', 1); //Данные выход GPIO 16
addClassProperty('ESP8266', 'gpio0', 1); //Данные вход GPIO 0
addClassProperty('ESP8266', 'gpio1', 1); //Данные вход GPIO 1
addClassProperty('ESP8266', 'gpio2', 1); //Данные вход GPIO 2
addClassProperty('ESP8266', 'gpio3', 1); //Данные вход GPIO 3
addClassProperty('ESP8266', 'gpio4', 1); //Данные вход GPIO 4
addClassProperty('ESP8266', 'gpio5', 1); //Данные вход GPIO 5
addClassProperty('ESP8266', 'gpio12', 1); //Данные вход GPIO 12
addClassProperty('ESP8266', 'gpio13', 1); //Данные вход GPIO 13
addClassProperty('ESP8266', 'gpio14', 1); //Данные вход GPIO 14
addClassProperty('ESP8266', 'gpio15', 1); //Данные вход GPIO 15
addClassProperty('ESP8266', 'gpio16', 1); //Данные вход GPIO 16

//Распихиваем всё по свойствам. Если полученное значение пустое, то свойство не записываем
if ($params['bmpp']!="") { sg(($params['idesp'].".bmpp"),$params['bmpp']); } //Данные с датчика BMP (давление)
if ($params['bmpt']!="") { sg(($params['idesp'].".bmpt"),$params['bmpt']); } //Данные с датчика BMP (температура)
if ($params['counter']!="") { sg(($params['idesp'].".counter"),$params['counter']); } //Количество импульсов со счетчика
if ($params['dhth1']!="") { sg(($params['idesp'].".dhth1"),$params['dhth1']); } //Данные с первого датчика DHT (влажность)
if ($params['dhth2']!="") { sg(($params['idesp'].".dhth2"),$params['dhth2']); } //Данные со второго датчика DHT (влажность)
if ($params['dhtt1']!="") { sg(($params['idesp'].".dhtt1"),$params['dhtt1']); } //Данные с первого датчика DHT (температура)
if ($params['dhtt2']!="") { sg(($params['idesp'].".dhtt2"),$params['dhtt2']); } //Данные со второго датчика DHT (температура)
if ($params['dsw1']!="") { sg(($params['idesp'].".dsw1"),$params['dsw1']); } //Данные с датчика DS18B20 №1
if ($params['dsw2']!="") { sg(($params['idesp'].".dsw2"),$params['dsw2']); } //Данные с датчика DS18B20 №2
if ($params['dsw3']!="") { sg(($params['idesp'].".dsw3"),$params['dsw3']); } //Данные с датчика DS18B20 №3
if ($params['dsw4']!="") { sg(($params['idesp'].".dsw4"),$params['dsw4']); } //Данные с датчика DS18B20 №4
if ($params['dsw5']!="") { sg(($params['idesp'].".dsw5"),$params['dsw5']); } //Данные с датчика DS18B20 №5
if ($params['freemem']!="") { sg(($params['idesp'].".freemem"),$params['freemem']); } //Объем свободной памяти модуля
if ($params['hostname']!="") { sg(($params['idesp'].".hostname"),$params['hostname']); } //Имя модуля
if ($params['light']!="") { sg(($params['idesp'].".light"),$params['light']); } //Данные с датчика BH1750
if ($params['uptime']!="") { sg(($params['idesp'].".uptime"),$params['uptime']); } //Время непрерывной работы модуля
if ($params['vdd']!="") { sg(($params['idesp'].".vdd"),$params['vdd']); } //Напряжение на модуле
if ($params['ver']!="") { sg(($params['idesp'].".ver"),$params['ver']); } //Версия прошивки
if ($params['amh']!="") { sg(($params['idesp'].".amh"),$params['amh']); } //Данные с датчика AM2321 (влажность)
if ($params['amt']!="") { sg(($params['idesp'].".amt"),$params['amt']); } //Данные с датчика AM2321 (температура)
if ($params['wanip']!="") { sg(($params['idesp'].".wanip"),$params['wanip']); } //IP модуля
if ($params['pwm0']!="") { sg(($params['idesp'].".pwm0"),$params['pwm0']); } //ШИМ
if ($params['pwm1']!="") { sg(($params['idesp'].".pwm1"),$params['pwm1']); } //ШИМ
if ($params['pwm2']!="") { sg(($params['idesp'].".pwm2"),$params['pwm2']); } //ШИМ
if ($params['rssi']!="") { sg(($params['idesp'].".rssi"),$params['rssi']); } //Уровень сигнала
if ($params['gpio0']!="") { sg(($params['idesp'].".gpio0"),$params['gpio0']); } //Данные выход GPIO 0
if ($params['gpio1']!="") { sg(($params['idesp'].".gpio1"),$params['gpio1']); } //Данные выход GPIO 1
if ($params['gpio2']!="") { sg(($params['idesp'].".gpio2"),$params['gpio2']); } //Данные выход GPIO 2
if ($params['gpio3']!="") { sg(($params['idesp'].".gpio3"),$params['gpio3']); } //Данные выход GPIO 3
if ($params['gpio4']!="") { sg(($params['idesp'].".gpio4"),$params['gpio4']); } //Данные выход GPIO 4
if ($params['gpio5']!="") { sg(($params['idesp'].".gpio5"),$params['gpio5']); } //Данные выход GPIO 5
if ($params['gpio12']!="") { sg(($params['idesp'].".gpio12"),$params['gpio12']); } //Данные выход GPIO 12
if ($params['gpio13']!="") { sg(($params['idesp'].".gpio13"),$params['gpio13']); } //Данные выход GPIO 13
if ($params['gpio14']!="") { sg(($params['idesp'].".gpio14"),$params['gpio14']); } //Данные выход GPIO 14
if ($params['gpio15']!="") { sg(($params['idesp'].".gpio15"),$params['gpio15']); } //Данные выход GPIO 15
if ($params['gpio16']!="") { sg(($params['idesp'].".gpio16"),$params['gpio16']); } //Данные выход GPIO 16
if ($params['gpiout0']!="") { sg(($params['idesp'].".gpiout0"),$params['gpiout0']); } //Данные вход GPIO 0
if ($params['gpiout1']!="") { sg(($params['idesp'].".gpiout1"),$params['gpiout1']); } //Данные вход GPIO 1
if ($params['gpiout2']!="") { sg(($params['idesp'].".gpiout2"),$params['gpiout2']); } //Данные вход GPIO 2
if ($params['gpiout3']!="") { sg(($params['idesp'].".gpiout3"),$params['gpiout3']); } //Данные вход GPIO 3
if ($params['gpiout4']!="") { sg(($params['idesp'].".gpiout4"),$params['gpiout4']); } //Данные вход GPIO 4
if ($params['gpiout5']!="") { sg(($params['idesp'].".gpiout5"),$params['gpiout5']); } //Данные вход GPIO 5
if ($params['gpiout12']!="") { sg(($params['idesp'].".gpiout12"),$params['gpiout12']); } //Данные вход GPIO 12
if ($params['gpiout13']!="") { sg(($params['idesp'].".gpiout13"),$params['gpiout13']); } //Данные вход GPIO 13
if ($params['gpiout14']!="") { sg(($params['idesp'].".gpiout14"),$params['gpiout14']); } //Данные вход GPIO 14
if ($params['gpiout15']!="") { sg(($params['idesp'].".gpiout15"),$params['gpiout15']); } //Данные вход GPIO 15
if ($params['gpiout16']!="") { sg(($params['idesp'].".gpiout16"),$params['gpiout16']); } //Данные вход GPIO 16

sg(($params['idesp'].".idesp"),$params['idesp']); //           


А также список всех метрик, от производителя прошивки:
http://www.wifi-iot.ru/?menu=metrics (требуется авторизация)


[Показать] Скрытый текст: более короткий код сценария espdata
Принимает только те параметры, которые передаёт модуль ESP. Без пустых значений.
Код:
$idesp=$params['idesp'];
if (!$idesp) return;
say ($idesp);
addClass('ESP8266');                    //Создаем класс ESP8266
addClassObject('ESP8266',$idesp);     //Создаёт класс заданного имени дочерним от ParentClass
sg ('ESP8266.'.$idesp.".idesp",$idesp);
$esp=getObjectsByClass("ESP8266");
foreach(
$esp as $obj) 
{
    if (gg($obj['TITLE'].".idesp") ==$idesp) //
    {
        if (is_array($params)) {
         sg ($obj['TITLE'].".LastUpdate",date("H:i",time()));
           foreach($params as $k=>$v) {    
            if 
($k!="script") {
            sg($obj['TITLE'].".".$k,$v);
               }
           }
         }
    }
}


[Показать] Скрытый текст: Управление gpio
http://majordomo.smartliving.ru/forum/viewtopic.php?p=31638#p31638 - Включатель с изменением состояния


[Показать] Скрытый текст: Управление климатом
http://majordomo.smartliving.ru/forum/viewtopic.php?p=31266#p31266 - Настройка термостата (код от Aleks130699, инструкция от Oleglapo)
http://majordomo.smartliving.ru/forum/viewtopic.php?p=31267#p31267 - Настройка термостата часть 2 (код от Aleks130699, инструкция от Oleglapo)


Последний раз редактировалось Dimkas Вт мар 22, 2016 9:43 pm, всего редактировалось 27 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Сб мар 12, 2016 3:54 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
Народ, пишите - не стесняйтесь!
Что убавить, что добавить?
Хочется создать хорошую инструкцию для начинающих, чтоб избавить их от долгих поисков нужной информации.
Я и сам начинающий, и по началу было массу вопросов и непоняток, по самым элементарным вещам. (да и сейчас есть =) )


Последний раз редактировалось Dimkas Вс мар 13, 2016 1:45 am, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Сб мар 12, 2016 3:57 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
ещё резерв


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Сб мар 12, 2016 4:01 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
1214


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Сб мар 12, 2016 4:01 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
7874


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266 (в разработке)
СообщениеДобавлено: Пн мар 14, 2016 9:08 am 
Не в сети

Зарегистрирован: Ср сен 05, 2012 7:30 am
Сообщения: 390
Откуда: Киров
Благодарил (а): 0 раз.
Поблагодарили: 67 раз.
Список метрик передаваемые модулем для мажордомо https://wifi-iot.com/?m=wiki&id=24


Последний раз редактировалось MaksMS82 Пт май 13, 2016 10:38 am, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Пн мар 14, 2016 3:36 pm 
Не в сети

Зарегистрирован: Чт янв 08, 2015 10:05 am
Сообщения: 18
Благодарил (а): 2 раз.
Поблагодарили: 10 раз.
Dimkas писал(а):
Народ, пишите - не стесняйтесь!
Что убавить, что добавить?
Хочется создать хорошую инструкцию для начинающих, чтоб избавить их от долгих поисков нужной информации.
Я и сам начинающий, и по началу было массу вопросов и непоняток, по самым элементарным вещам. (да и сейчас есть =) )


[Показать] Скрытый текст:
espdata

Код:
$idesp=$params['idesp'];
if (!$idesp) return;
say ($idesp);
addClass('ESP8266');                    //Создаем класс ESP8266
addClassObject('ESP8266',$idesp);     //Создаёт класс заданного имени дочерним от ParentClass
sg ('ESP8266.'.$idesp.".idesp",$idesp);
$esp=getObjectsByClass("ESP8266");
foreach(
$esp as $obj) 
{
    if (gg($obj['TITLE'].".idesp") ==$idesp) //
    {
        if (is_array($params)) {
         sg ($obj['TITLE'].".LastUpdate",date("H:i",time()));
           foreach($params as $k=>$v) {    
            if 
($k!="script") {
            sg($obj['TITLE'].".".$k,$v);
               }
           }
         }
    }
}

Руслан оставлял, проверенно работает и короче, нет пустой инфы

ну и настройку термостата от Aleks130699

Код:
$url=('http://esp8266:0000@'.($this->getProperty("ip")).'/configtermo?st='.($this->getProperty("Select")).'&ln='.($this->getProperty("Sensor")).'&rmin='.($this->getProperty("rmin")).'&rmax='.($this->getProperty("rmax")).'&gpio='.($this->getProperty("gpio")));
$this->setProperty('url',$url);
getURL(''.($this->getProperty("url")).'', 0);
getURL('http://esp8266:0000@'.($this->getProperty("ip")).'/configtermo?trn='.($this->getProperty("status")).'&st='.($this->getProperty("Select")).'', 0);

если надо подробные скрины могу выложить


Последний раз редактировалось oleglapo Пн мар 14, 2016 9:08 pm, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Пн мар 14, 2016 3:49 pm 
Не в сети

Зарегистрирован: Пн сен 14, 2015 1:55 pm
Сообщения: 37
Благодарил (а): 7 раз.
Поблагодарили: 14 раз.
oleglapo писал(а):
если надо подробные скрины могу выложить

Спасибо, было-бы неплохо. Ещё по возможности, научите меня делать ссылки непосредственно на сообщение в форуме, это возможно здесь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266
СообщениеДобавлено: Пн мар 14, 2016 3:56 pm 
Не в сети

Зарегистрирован: Чт янв 08, 2015 10:05 am
Сообщения: 18
Благодарил (а): 2 раз.
Поблагодарили: 10 раз.
скрины сейчас сделаю и выложу


Последний раз редактировалось oleglapo Пн мар 14, 2016 5:57 pm, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ ESP8266 (в разработке)
СообщениеДобавлено: Пн мар 14, 2016 4:50 pm 
Не в сети

Зарегистрирован: Чт янв 08, 2015 10:05 am
Сообщения: 18
Благодарил (а): 2 раз.
Поблагодарили: 10 раз.
Создаём новый класс в объектах
Вложение:
2016-03-14 16-10-29 Скриншот экрана.png
2016-03-14 16-10-29 Скриншот экрана.png [ 23.83 КБ | Просмотров: 12060 ]

Вложение:
2016-03-14 16-13-48 Скриншот экрана.png
2016-03-14 16-13-48 Скриншот экрана.png [ 19.39 КБ | Просмотров: 12060 ]

В свойствах создаём новые свойства
Вложение:
2016-03-14 16-14-15 Скриншот экрана.png
2016-03-14 16-14-15 Скриншот экрана.png [ 13.26 КБ | Просмотров: 12060 ]

Добавляем новый метод
Вложение:
2016-03-14 16-15-07 Скриншот экрана.png
2016-03-14 16-15-07 Скриншот экрана.png [ 10.27 КБ | Просмотров: 12060 ]

Вложение:
2016-03-14 16-15-55 Скриншот экрана.png
2016-03-14 16-15-55 Скриншот экрана.png [ 28.77 КБ | Просмотров: 12060 ]

Код:
$url=('http://esp8266:0000@'.($this->getProperty("ip")).'/configtermo?st='.($this->getProperty("Select")).'&ln='.($this->getProperty("Sensor")).'&rmin='.($this->getProperty("rmin")).'&rmax='.($this->getProperty("rmax")).'&gpio='.($this->getProperty("gpio")));
$this->setProperty('url',$url);
getURL(''.($this->getProperty("url")).''0);
getURL('http://esp8266:0000@'.($this->getProperty("ip")).'/configtermo?trn='.($this->getProperty("status")).'&st='.($this->getProperty("Select")).''0); 

Добавляем новый объект
Вложение:
2016-03-14 16-36-30 Скриншот экрана (2).png
2016-03-14 16-36-30 Скриншот экрана (2).png [ 11.97 КБ | Просмотров: 12060 ]

Вложение:
2016-03-14 16-17-05 Скриншот экрана.png
2016-03-14 16-17-05 Скриншот экрана.png [ 23.97 КБ | Просмотров: 12060 ]

Вложение:
2016-03-14 16-17-42 Скриншот экрана.png
2016-03-14 16-17-42 Скриншот экрана.png [ 35.61 КБ | Просмотров: 12060 ]

в объектах должно выглядеть так
Вложение:
2016-03-14 16-12-48 Скриншот экрана.png
2016-03-14 16-12-48 Скриншот экрана.png [ 4.09 КБ | Просмотров: 12060 ]


Последний раз редактировалось oleglapo Пн мар 14, 2016 5:10 pm, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB