Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер Mega-ESP

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Драйвер Mega-ESP

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @Haus:

      @Bluefox:

      @Haus:

      Bluefox помоги, ни как команду с 'http://espIP/sec/?pt=3&r=25&g=180&b=164' вывести не могу в main.js sendCommandToRGB, то всё одного цвета то Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 :x

      main.js "function sendCommandToRGB" `
      Мне было бы проще, если бы код был на гите.

      ! ```
      `var rgbs = {};
      ! ....
      ! function sendCommandToRGB(rgbId) {
      rgbs[rgbId].timer = null;
      var port = ports[rgbId + '_blue'].native.port;

      //'http://espIP/sec/?pt=3&r=25&g=25&b=25'
      var data = 'pt=' + port + '&r=' + (rgbs[rgbId].red || 0) + '&g=' + (rgbs[rgbId].green || 0) + '&b=' + (rgbs[rgbId].blue || 0);
      

      ! var parts = adapter.config.ip.split(':');
      ! var options = {
      host: parts[0],
      port: parts[1] || 80,
      path: '/' + adapter.config.password + '/?' + data
      };
      adapter.log.debug('Send command "' + data + '" to ' + adapter.config.ip);
      // Set up the request
      http.get(options, function (res) {
      var xmldata = '';
      res.setEncoding('utf8');
      res.on('error', function (e) {
      adapter.log.warn(e.toString());
      });
      res.on('data', function (chunk) {
      xmldata += chunk;
      });
      res.on('end', function () {
      adapter.log.debug('Response "' + xmldata + '"');
      });
      }).on('error', function (e) {
      adapter.log.warn('Got error by post request ' + e.toString());
      });
      }
      ! .....
      ! adapter.on('stateChange', function (id, state) {
      ....
      if (ports[id].common.type === 'string') { ////////////////////////////////////////////////////
      ! } else if (id.match(/_red|_blue|green^/)) {
      var pos = id.lastIndexOf('
      ');
      var rgbId = id.substring(0, pos);
      var color = id.substring(pos + 1);

        rgbs[rgbId] = rgbs[rgbId] || {};
        rgbs[rgbId][color] = state.val;
        // stop timer if running
        if (rgbs[rgbId].timer) clearTimeout(rgbs[rgbId].timer);
        // if no more changes in 100 ms, send command to device
        rgbs[rgbId].timer = setTimeout(sendCommandToRGB, 100, rgbId);	
      } else {
        ...
      }`
      

      Спасибо, сейчас буду про бывать 🙂

      ! Уже две недели там :roll: https://github.com/ausHaus/ioBroker.megaesp
      ! P.S. Всё вроде неплохо но один цвет отправляет на "cmd"
      ~~[code]~~megaesp-0 2016-08-23 17:52:39.516 debug Response for 192.168.1.20[all]: 155;255;80;temp:20.00/hum:79.60;temp:19.50;ON;RGB;NC;NC;33 megaesp-0 2016-08-23 17:52:39.420 debug getPortState http://192.168.1.20/sec/?cmd=all megaesp-0 2016-08-23 17:52:35.634 debug Response "Back P6 val. 0-255 megaesp-0 2016-08-23 17:52:35.615 debug Send command "pt=6&r=255&g=209&b=0" to 192.168.1.20 inMem 2016-08-23 17:52:35.591 debug message megaesp.0.* megaesp.0.p6_P6 val=null, ack=true, ts=1471963955585, q=0, from=system.adapter.megaesp.0, lc=1471961464774 megaesp-0 2016-08-23 17:52:35.568 debug Response "Done" megaesp-0 2016-08-23 17:52:35.547 debug Send command "cmd=6:43" to 192.168.1.20 megaesp-0 2016-08-23 17:52:35.546 info try to control megaesp.0.p6_P6_blue with 43 inMem 2016-08-23 17:52:35.541 debug message megaesp.0.* megaesp.0.p6_P6_blue val=43, ack=false, ts=1471963955507, q=0, from=system.adapter.socketio.0, lc=1471963954498 megaesp-0 2016-08-23 17:52:35.514 info try to control megaesp.0.p6_P6_green with 209 inMem 2016-08-23 17:52:35.511 debug message megaesp.0.* megaesp.0.p6_P6_green val=209, ack=false, ts=1471963955497, q=0, from=system.adapter.socketio.0, lc=1471963954490 megaesp-0 2016-08-23 17:52:35.486 info try to control megaesp.0.p6_P6_red with 255 inMem 2016-08-23 17:52:35.479 debug message megaesp.0.* megaesp.0.p6_P6_red val=255, ack=false, ts=1471963955466, q=0, from=system.adapter.socketio.0, lc=1471963952798[/code]
      ! P.S.2 Добавил "....|blue|^..."
      ~~[code]~~} else if (id.match(/_red|_green|_blue|_^/)) {[/code] работает нормально
      filename="RGB.png" index="0">~~
      Там ошибка была в regexp. Я тебе pull request отправил.[/color]
      ```

      1 Reply Last reply Reply Quote 0
      • H
        Haus last edited by

        @Bluefox:

        @Haus:

        @Bluefox: Там ошибка была в regexp. Я тебе pull request отправил. `
        Спасибо, всё работает

        1 Reply Last reply Reply Quote 0
        • H
          Haus last edited by

          @MSapogov:

          @Haus:

          @MSapogov: `
          Подправил, пробуй 0.0.3

          cd /opt/iobroker
          npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/
          iobroker upload megaesp
          iobroker restart megaesp
          ```` `  
          

          Спасибо!

          Теперь норм.

          PS: А у Вас P6 как сконфигурирован? Вопрос снят… понял что WS2811.

          А кто встречал в продаже и где WS2811 в DIP корпусе, чтобы отдельно к нему усилители подключить можно было. `
          Вариантов море https://www.google.com/search?q=WS2811+ … dlaMmvM%3A

          Если я правильно понимаю это сигнальная линия и на ленте к каждой WS2811 подключены три диода R,G,B, WS2812 там в диоде всё уже засунуто чип,R,G,B. Зачем усилитель?

          1 Reply Last reply Reply Quote 0
          • M
            MSapogov last edited by

            @Haus:

            Если я правильно понимаю это сигнальная линия и на ленте к каждой WS2811 подключены три диода R,G,B, WS2812 там в диоде всё уже засунуто чип,R,G,B. Зачем усилитель? `
            Это в том случае если хочется использывать уже имеющиеся световые линии RGB. У меня нет задачи управлять каждым диодом в линии.

            Просто экономия по GPIO получается.

            1 Reply Last reply Reply Quote 0
            • H
              Haus last edited by

              @MSapogov:

              @Haus:

              Если я правильно понимаю это сигнальная линия и на ленте к каждой WS2811 подключены три диода R,G,B, WS2812 там в диоде всё уже засунуто чип,R,G,B. Зачем усилитель? `
              Это в том случае если хочется использывать уже имеющиеся световые линии RGB. У меня нет задачи управлять каждым диодом в линии.

              Просто экономия по GPIO получается. `
              Я думаю на этот случай есть и поддерживается прошивкой расширитель шим портов PCA9685. Кстати ещё можно заказать голую плату http://www.ab-log.ru/forum/viewtopic.ph … 180#p22605

              1 Reply Last reply Reply Quote 0
              • H
                Haus last edited by

                Bluefox помогай

                192.168.1.20/sec

                Это стандарт только ESP у которой 9(настраиваемых "pty" портов) + 1(всегда ADC и только на этом порту P9)

                Всё это у нас сделано на 90%

                При подключении устройств по I2C шине, на 192.168.1.20/sec появляются дополнительные устройства.

                –EXT-IO--

                (MCP23017) начиная с P10-...(mc=10;..) порты, все 15(настраиваемых "in" портов) могут быть IN(in=1)/OUT(in=0).

                --EXT-PWM--

                (PCA9685) начиная с P10-...(pc=10;..) порты, все 15 только PWM.

                --Ext-DS--

                (BMP085/180) начиная с P10 (bm=10)

                (BME280) начиная с P10 (be=10)

                (BH1750) начиная с P10 (bh=10)

                в конце всегда если подключён LCD (lcd=1), пока что неважно

                ! 443_megaesp.png
                html

                <title>MegaESP</title>MegaESP api by [ab-log.ru](http://ab-log.ru) (fw: 0.33b3)
                [Config](/sec/cfg/)
                -- Ports --
                [P0 - IN](/sec/?pt=0)
                [P1 - PWM_OUT](/sec/?pt=1)
                [P2 - SL_OUT](/sec/?pt=2)
                [P3 - DS](/sec/?pt=3)
                [P4 - DS](/sec/?pt=4)
                [P5 - SW_OUT](/sec/?pt=5)
                [P6 - WS281x](/sec/?pt=6)
                [P7 - I2C_SDA](/sec/?pt=7)
                [P8 - I2C_SCL](/sec/?pt=8)
                [P9 - ADC](/sec/?pt=9)
                -- ExtIO --
                [EXT - IO](/sec/?mc=1)
                [LCD](/sec/?lcd=1)
                
                

                –EXT-IO--

                ! 443_megaesp_extio.png
                html

                <title>MegaESP</title>[Back](/sec/)
                -- Ports --
                [P10 - IN](/sec/?mc=10)
                [P11 - IN](/sec/?mc=11)
                [P12 - IN](/sec/?mc=12)
                [P13 - OUT](/sec/?mc=13)
                [P14 - OUT](/sec/?mc=14)
                [P15 - OUT](/sec/?mc=15)
                [P16 - OUT](/sec/?mc=16)
                [P17 - OUT](/sec/?mc=17)
                [P18 - OUT](/sec/?mc=18)
                [P19 - OUT](/sec/?mc=19)
                [P20 - IN](/sec/?mc=20)
                [P21 - OUT](/sec/?mc=21)
                [P22 - OUT](/sec/?mc=22)
                [P23 - OUT](/sec/?mc=23)
                [P24 - OUT](/sec/?mc=24)
                [P25 - OUT](/sec/?mc=25)
                
                

                –EXT-IO--

                --Ext-DS--

                
                    <title>MegaESP</title>
                
                    MegaESP api by[ab-log.ru](http://ab-log.ru)(fw: 0.33b4)
                
                    [Config](/sec/cfg/)
                
                    -- Ports --
                
                    [P0 - NC](/sec/?pt=0)
                
                    [P1 - PWM_OUT](/sec/?pt=1)
                
                    [P2 - NC](/sec/?pt=2)
                
                    [P3 - WS281x](/sec/?pt=3)
                
                    [P4 - DS](/sec/?pt=4)
                
                    [P5 - DS](/sec/?pt=5)
                
                    [P6 - NC](/sec/?pt=6)
                
                    [P7 - I2C_SDA](/sec/?pt=7)
                
                    [P8 - I2C_SCL](/sec/?pt=8)
                
                    [P9 - ADC](/sec/?pt=9)
                
                    -- ExtIO --
                
                    [EXT - IO](/sec/?mc=1)
                
                    [EXT - PWM](/sec/?pc=1)
                
                    -- ExtDS --
                
                    [BMP085/180](/sec/?bm=1)
                
                    [BME280](/sec/?be=1)
                
                    [BH1750](/sec/?bh=1)
                
                

                Отсюда вопрос

                1. Как ограничить опрос path: '/' + pass + '/?pt=' + port c 0 до 9 и продолжить опрос c 10…. path: '/' + pass + '/?mc=' + port , path: '/' + pass + '/?pc=' + port , path: '/' + pass + '/?bm=' + port , path: '/' + pass + '/?be=' + port , path: '/' + pass + '/?bh=' + port ?

                function detectPortConfig(ip, pass, length, callback, port, result) {
                    if (port === undefined) {
                        port = 0;
                        result = [];
                    } else {
                        port++;
                        if (port >= length) {
                            return callback(result);
                        }
                    }
                
                    var parts = ip.split(':');
                    var options = {
                        host: parts[0],
                        port: parts[1] || 80,
                        path: '/' + pass + '/?pt=' + port
                    };
                
                    adapter.log.info('read config from port: http://' + ip + options.path);
                    .......
                
                1 Reply Last reply Reply Quote 0
                • H
                  Haus last edited by

                  Добавил MCP23017 v0.0.5 пока настройки не считывает( только 10 портов, астальное руками )

                  cd /opt/iobroker
                  npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/
                  iobroker upload megaesp
                  iobroker restart megaesp
                  
                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    MegaD самая сложная система в принципе реализации конфигурации. У неё может быть 100 различных видов настроек. И никакой возможности считать эту конфигурацию, кроме, как парсить HTML страницы. Прошлый век..

                    Я уже писал http://www.ab-log.ru/forum/viewtopic.ph … =80#p22955

                    но они хотят оставаться в прошлом веке...

                    Я понимаю, если действительно места в памяти нет. Но в esp то вроде больше всего.

                    Почему не пропарсить главную страницу просто regexp?

                    var m = body.match(/[](\/([^)
                    ```` [Как результат:
                    

                    /sec/?pt=0
                    /sec/?pt=1
                    /sec/?pt=2
                    /sec/?pt=3
                    /sec/?pt=4
                    /sec/?pt=5
                    /sec/?pt=6
                    /sec/?pt=7
                    /sec/?pt=8
                    /sec/?pt=9
                    /sec/?mc=1
                    /sec/?pc=1
                    /sec/?bm=1
                    /sec/?be=1
                    /sec/?bh=1

                    1 Reply Last reply Reply Quote 0
                    • H
                      Haus last edited by

                      @Bluefox:

                      MegaD самая сложная система в принципе реализации конфигурации. У неё может быть 100 различных видов настроек. И никакой возможности считать эту конфигурацию, кроме, как парсить HTML страницы. Прошлый век..

                      Я уже писал http://www.ab-log.ru/forum/viewtopic.ph … =80#p22955

                      но они хотят оставаться в прошлом веке...

                      Я понимаю, если действительно места в памяти нет. Но в esp то вроде больше всего.

                      Почему не пропарсить главную страницу просто regexp?

                      var m = body.match(/[](\/([^)
                      ```` [Как результат:
                      

                      /sec/?pt=0
                      /sec/?pt=1
                      /sec/?pt=2
                      /sec/?pt=3
                      /sec/?pt=4
                      /sec/?pt=5
                      /sec/?pt=6
                      /sec/?pt=7
                      /sec/?pt=8
                      /sec/?pt=9
                      /sec/?mc=1
                      /sec/?pc=1
                      /sec/?bm=1
                      /sec/?be=1
                      /sec/?bh=1

                      ](\/([^) ` [По твоему примеру нагородил вот такой скрипт](\/([^)
                      [request ( 'http://192.168.1.20/sec', function ( error, response, body ) {
                      if ( !error && response.statusCode == 200 ) {
                      var m = body.match(/](/([^)[](/([^)

                      
                      >! 22:09:07.207 [info] javascript.3 script.js.1A_testESP: /sec/?pt=0
                      >! 22:09:07.208 [info] javascript.3 script.js.1A_testESP: /sec/?pt=1
                      >! 22:09:07.208 [info] javascript.3 script.js.1A_testESP: /sec/?pt=2
                      >! 22:09:07.208 [info] javascript.3 script.js.1A_testESP: /sec/?pt=3
                      >! 22:09:07.208 [info] javascript.3 script.js.1A_testESP: /sec/?pt=4
                      >! 22:09:07.209 [info] javascript.3 script.js.1A_testESP: /sec/?pt=5
                      >! 22:09:07.209 [info] javascript.3 script.js.1A_testESP: /sec/?pt=6
                      >! 22:09:07.209 [info] javascript.3 script.js.1A_testESP: /sec/?pt=7
                      >! 22:09:07.209 [info] javascript.3 script.js.1A_testESP: /sec/?pt=8
                      >! 22:09:07.210 [info] javascript.3 script.js.1A_testESP: /sec/?pt=9
                      >! 22:09:07.262 [info] javascript.3 script.js.1A_testESP: /sec/?mc=10
                      >! 22:09:07.264 [info] javascript.3 script.js.1A_testESP: /sec/?mc=11
                      >! 22:09:07.265 [info] javascript.3 script.js.1A_testESP: /sec/?mc=12
                      >! 22:09:07.265 [info] javascript.3 script.js.1A_testESP: /sec/?mc=13
                      >! 22:09:07.265 [info] javascript.3 script.js.1A_testESP: /sec/?mc=14
                      >! 22:09:07.265 [info] javascript.3 script.js.1A_testESP: /sec/?mc=15
                      >! 22:09:07.265 [info] javascript.3 script.js.1A_testESP: /sec/?mc=16
                      >! 22:09:07.266 [info] javascript.3 script.js.1A_testESP: /sec/?mc=17
                      >! 22:09:07.266 [info] javascript.3 script.js.1A_testESP: /sec/?mc=18
                      >! 22:09:07.266 [info] javascript.3 script.js.1A_testESP: /sec/?mc=19
                      >! 22:09:07.266 [info] javascript.3 script.js.1A_testESP: /sec/?mc=20
                      >! 22:09:07.266 [info] javascript.3 script.js.1A_testESP: /sec/?mc=21
                      >! 22:09:07.267 [info] javascript.3 script.js.1A_testESP: /sec/?mc=22
                      >! 22:09:07.267 [info] javascript.3 script.js.1A_testESP: /sec/?mc=23
                      >! 22:09:07.267 [info] javascript.3 script.js.1A_testESP: /sec/?mc=24
                      >! 22:09:07.267 [info] javascript.3 script.js.1A_testESP: /sec/?mc=25
                      >! 22:09:07.333 [info] javascript.3 script.js.1A_testESP: /sec/?lcd=1&cl=1
                      >! 22:09:07.335 [info] javascript.3 script.js.1A_testESP: /sec/?lcd=1&bl=1
                      >! 22:09:07.336 [info] javascript.3 script.js.1A_testESP: /sec/?lcd=1&bl=2
                      Подскажи как его оптимизировать, и всунуть в драйвер](\/([^)
                      1 Reply Last reply Reply Quote 0
                      • H
                        Haus last edited by

                        Обновил инфу о железе. Это аппаратная реализация проекта ESP8266 MegaD api. Основная информация в документе Guide.pdf на git

                        1 Reply Last reply Reply Quote 0
                        • A
                          AvaloncheG last edited by

                          Установил я драйвер, нашел, ESP считал конфигурацию, ничего не меняя нажал "Записать настройки" и ESP перестала отвечать, к роутеру подключается, IP тот же, но зайти на нее не могу, и по статистике с роутера вообще не отправляет пакеты. В чем может быть проблема?

                          UPD: У меня выбрано DHCP, если "Записать настройки", IP на ESP выставляется вручную и все заполнено 255.255.255.0. Как с этим бороться?

                          1 Reply Last reply Reply Quote 0
                          • H
                            Haus last edited by

                            @AvaloncheG:

                            Установил я драйвер, нашел, ESP считал конфигурацию, ничего не меняя нажал "Записать настройки" и ESP перестала отвечать, к роутеру подключается, IP тот же, но зайти на нее не могу, и по статистике с роутера вообще не отправляет пакеты. В чем может быть проблема? Помогло полное вытирание флеша, просто перепрошивка модуля ничего не меняла. `
                            При первоначальной прошивке модуля желательно прошить модуль пустой прошивкой 443_0x00000_blank1m.zip , после прошить нужной прошивкой в зависимости от модуля. Первоначальные настройки сети делаются в веб модуля.

                            Какой у тебя модуль?

                            Есть ли проблема в данный момент?

                            1 Reply Last reply Reply Quote 0
                            • A
                              AvaloncheG last edited by

                              @Haus:

                              Какой у тебя модуль?

                              Есть ли проблема в данный момент? `
                              Модуль 12f.

                              Вот в чем проблема:

                              вот настройки которые я выставил:
                              1550_dhcp.png
                              если нажать "Записать настройки", меняются на:
                              1550_stat.jpg

                              1 Reply Last reply Reply Quote 0
                              • H
                                Haus last edited by

                                @AvaloncheG:

                                @Haus:

                                Какой у тебя модуль?

                                Есть ли проблема в данный момент? `
                                Модуль 12f.

                                Вот в чем проблема:

                                вот настройки которые я выставил:

                                dhcp.png

                                если нажать "Записать настройки", меняются на:

                                stat.JPG `
                                После получения ip DHCP модулем лучше сменить на Static, в противном случае после каких не будь ребутов рутера или ESP и смене ip драйвер потеряет связь.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  AvaloncheG last edited by

                                  @Haus:

                                  после каких не будь ребутов рутера или ESP и смене ip драйвер потеряет связь. `
                                  У меня на роутере IP-шники зарезервированы.

                                  Сейчас мне не проблема прописать вручную, но на будущее, вдруг понадобится, можно как то запретить драйверу трогать настройки сети?

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Haus last edited by

                                    @AvaloncheG:

                                    @Haus:

                                    после каких не будь ребутов рутера или ESP и смене ip драйвер потеряет связь. `
                                    У меня на роутере IP-шники зарезервированы.

                                    Сейчас мне не проблема прописать вручную, но на будущее, вдруг понадобится, можно как то запретить драйверу трогать настройки сети? `
                                    Посмотрю наверно добавлю выбор Ip cfg, только какой смысл в настройке DHCP? У меня на роутере тоже зарезервирован ip вне диапазона DHCP и при смене настройки Static на DHCP , ESP получает другой ip из свободных DHCP.

                                    PS кое что поправил пере залей.

                                    cd /opt/iobroker
                                    npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/
                                    iobroker upload megaesp
                                    iobroker restart megaesp
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      AvaloncheG last edited by

                                      @Haus:

                                      PS кое что поправил пере залей. `
                                      Спасибо, теперь все хорошо.

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        vtec last edited by

                                        Bluefox, а почему бы драйвер не добавить в ioBroker?

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Haus last edited by

                                          @vtec:

                                          Bluefox, а почему бы драйвер не добавить в ioBroker? `
                                          Добавить можно, но нужно доделать а времени нет. Сейчас уважаемый lams прикручивает 1WireBus (10 датчиков) я уже и правки сделал у себя, так он опять кардинально переделал структуру странички настройки, надо подождать пока устаканится 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          898
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          7
                                          37
                                          9202
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo