Страница 33 из 121

Re: ESP8266

Добавлено: Вт апр 28, 2015 8:58 pm
Kod.Begemot
skysilver писал(а):Kod.Begemot, кодом не поделитесь? Думаю, многим будет полезно. У меня самого пара штук esp ждет своей очереди. :)
Поделюсь конечно, я не жадный :)
Только это тема довольно обширная, и начал я её на дружественном форуме... Думаю никто не будет против ссылки:
http://www.ab-log.ru/forum/viewtopic.php?f=1&t=795
Там и выложу код.
Код пока "ужасный", но работает. Его ещё причесывать и причесывать, пока что это ещё альфа версия, отладочная.
Ещё нет реакции на кнопки, нет работы с EEPROM, а следовательно и нет режима обучения высоте окна, нет обратной связи с сервером.

Re: ESP8266

Добавлено: Вт апр 28, 2015 9:07 pm
Kod.Begemot
Cyoko
Попробуйте другую (на другом чипе) точку доступа, будет понятно "откуда ноги растут".

Re: ESP8266

Добавлено: Вт апр 28, 2015 9:14 pm
ignat99
Kod.Begemot писал(а):Cyoko
Попробуйте другую (на другом чипе) точку доступа, будет понятно "откуда ноги растут".
Гадать можно долго. Может блок питания. Может шумы. Может конфигурация роутера.
Вся отладка требует знаний (роутер свой проверенный с OpenWRT), блок питания, который работает и т.д.
А желание въехать в рай за 3$ вполне понятно :-)

Re: ESP8266

Добавлено: Вт апр 28, 2015 9:18 pm
Kod.Begemot
Я просто тоже у себя долго искал проблему, уже и осциллом тыкал и форумы читал...
а потом переключился на старый асус вместо новомодного тплинка, и всё заколосилось!
Понятное дело - надо бы знать что тут не так... И я хочу разобраться, тплинк уже на днях будет перепрошит в dd или open-wrt... Но на лицо факт "избирательной" работоспособности.
Кстати на homes-smart тоже об этом писали, потому и попробовал сам. Не дело это конечно, точку под девайс подбирать...

Re: ESP8266

Добавлено: Вт апр 28, 2015 9:52 pm
Cyoko
специально сейчас посмотрел.... Обновил страничку homesmarta- обновилась. Выключил люминисцентный светильник, подключенный к тому же тройнику что и зарядка 5 вольтовая от которой все питается, обновил страничку - не обновилась. Совпало или как то влияет не знаю, завтра может еще попробую...

Re: ESP8266

Добавлено: Вт апр 28, 2015 9:55 pm
Cyoko
А можно ресетить esp через сценарий Алисы ? Тогда даже если раз в сутки будет падать не страшно :)

Re: ESP8266

Добавлено: Ср апр 29, 2015 12:39 am
ignat99
Cyoko писал(а):А можно ресетить esp через сценарий Алисы ? Тогда даже если раз в сутки будет падать не страшно :)
Это зависит от прошивки. Или от внешнего реле, да хоть от сенсора движения за 9 евро перегружайтесь. Всё зависит от вас.

Re: ESP8266

Добавлено: Ср апр 29, 2015 12:23 pm
Cyoko
Очередной тест :)
esp8266 прошитая NODmcu. К GPIO2 подключен через резистор светодиод. Запитано от ардуины меги.
Что получилось : вкл/выкл светодиод через веб морду, вкл/выкл по кнопке в меню управления.
С утра тестирую на стабильность, надеюсь до вечера не отвалится.....

Вот код прошивки:

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

wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","пароль")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(client,request)
        local buf = "";
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            end
        end
        buf = buf.."<h1> ESP8266 Web Server</h1>";
        buf = buf.."<p>GPIO0 <a href=\"?pin=ON1\"><button>ON</button></a>&nbsp;<a href=\"?pin=OFF1\"><button>OFF</button></a></p>";
        buf = buf.."<p>GPIO2 <a href=\"?pin=ON2\"><button>ON</button></a>&nbsp;<a href=\"?pin=OFF2\"><button>OFF</button></a></p>";
        local _on,_off = "",""
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.HIGH);
        elseif(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.LOW);
        elseif(_GET.pin == "ON2")then
              gpio.write(led2, gpio.HIGH);
        elseif(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.LOW);
        end
        client:send(buf);
        client:close();
        collectgarbage();
    end)
end) 
Кнопку привязал к объекту со свойством Value, и ввел метод perekluchenie

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

$Value=$this->getProperty("Value");
if ($Value) {
 $this->callMethod('turnOn');
} else {
 $this->callMethod('turnOff');
}
я так понял он просто по очереди дергает другие методы....
В методах turn* вот такой код :

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

$cmdUrl = "http://192.168.1.132/?pin=OFF2"; getURL($cmdUrl,0);
$this->setProperty("Value",0);
Все это брал из других примеров, поэтому походу много лишнего , а то и вообще подход не правильный. Поэтому нужна помощь :)

Во первых , как мне кажется , не нужна веб морда. Ведь эти кнопочки в Алисе будут, можно и отдельную сцену сделать со светом , да и голосовые команды.... Чтоб это сделать надо просто с local до if все удалить ? :)
Второе, это хотелось бы чтоб esp при каждом изменении значения отсылала новое значение Алисе. Я так понимаю это где условия надо добавить строчку отсылки....Как она точно должна выглядеть ? http://192.168.0.17/objects/?object=esp ... =Value&v=0 Ну типа если выключили , то 0 , если включили то 1. Так ?

Это что касается прошивки :)
Вопрос по организации на Алисе, я получается организовал через методы объекта. Правильно ли это ? Вот думаю может надо через сценарии ? Шаблон для запуска метода получилось создать в blockly , можно как то в нем посмотреть код , который получился ?

Вообщем разбираюсь дальше :)

Re: ESP8266

Добавлено: Ср апр 29, 2015 4:16 pm
Cyoko
Во как , уже прогресс :)
https://youtu.be/_yGKF8l460U

кстати , если в приложении для андроида выбрать активацию по фразе, то управление голосом работает не один раз, как если активировать по кнопке. А то я по началу каждый раз закрывал и открывал приложение :)

Re: ESP8266

Добавлено: Ср апр 29, 2015 11:12 pm
ignat99
Cyoko писал(а):То есть для не электронщика проще купить вот такой выключатель, который имеет неплохой дизайн и может работать как физически(тыкать на него пальцем), так и управляться с помощью Алисы. http://www.broadlink.com.ua/#!tc/cgpt
Кстати кто-то пробовал этот выключатель подключать напрямую к Алисе , а не через http://www.broadlink.com.ua/#!rm-serie/cs4k
Нашёл вам правильный выключатель за 37 евро c хорошим дизайном и настоящим WiFi:
http://smartliving.ru/forum/viewtopic.p ... 332#p21332

Купить можно тут:
http://ru.aliexpress.com/item/USR-WSA-F ... 28804.html