Mqtt ???

Тема в разделе "Флудилка", создана пользователем Igor68, 2 апр 2021.

  1. Igor68

    Igor68 Гуру

    Доброго времени суток! С праздником Победы!
    Вот это:
    PHP:
    <?php
        //
        //$redicet = $_SERVER['HTTP_REFERER'];
        $cmd = $_GET['cmd'];
        if($cmd == "0") {
            $res = shell_exec("./lamptest 0");
        }
        else if($cmd == "1") {
            $res = shell_exec("./lamptest 1");
        }
        //echo $res;
        //header ("Location: $redicet");
    ?>
    Заготовка PHP управления лампочкой из браузера...
    А это:
    HTML:
    <!DOCTYPE html PUBLIC>
    <html>
    <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>Тест лампочки</title>
    </head>
    <body style="color: rgb(0, 0, 0); background-color: rgb(51, 51, 51);" alink="#000099" link="#000099" vlink="#990099">
    <div id="lamptest">
            <button onclick="fCmd(1)">ON</button>
            <button onclick="fCmd(0)">OFF</button>
        <div id="test">---</div>
    </div>

    <script type="text/javascript" >
    function fCmd(cmd) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 ) {
                if(xmlhttp.status == 200){
                getElementById("test").innerHTML = "Ok!";
                }
            }
        }
        if(cmd != "0") {  
            xmlhttp.open("GET", "index.php?cmd=1&dtime=" + new Date().getTime, true);
        } else {
            xmlhttp.open("GET", "index.php?cmd=0&dtime=" + new Date().getTime, true);
        }
        xmlhttp.send();
    }
    </script>
    </body>
    </html>
    Заготовка ВЭБ морды управления лампочкой. Это просто заготовки, но работают...если конечно файл "lamptest" находится в одной директории с этими index.html и index.php. Потом надо прикинуть как сделать своего рода "будильник".
     
  2. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Вот это:
    lamp2.zip
    несколько изменённый опыт. А именно теперь файлы включения/выключения лампы находятся отдельно. Не надо анализировать данные Wireshark и что-то компилировать каждый раз. Достаточно только дампы пакетов для включения/выключения сохранить в бинарном виде.
    Программа самостоятельно извлечёт данные для посылки - соответственно для каждой лампы свои два файла (включения и выключения)
    Код (Text):
    igor@debianNUC7PJYH:~/coding/test/lamp2/work$ ./lamp2 --sndTCPwaitUDP lamp2off.bin
    Размер данных: 189 байт. Дамп:

    0000: D8 BF C0 E5 BB 61 38 94 96 A8 7A 87 08 00 45 00
    0010: 00 AF E5 30 40 00 40 06 C4 1D C0 A8 07 C3 C0 A8
    0020: 07 E7 EA 74 1A 0C 67 17 49 2A 00 17 FE B6 50 18
    0030: 3C B8 24 04 00 00 00 00 55 AA 00 00 00 05 00 00
    0040: 00 07 00 00 00 77 33 2E 33 00 00 00 00 00 00 01
    0050: A0 00 0B 6A 63 37 87 EA 40 C2 B5 FD A8 43 03 1D
    0060: 0A 80 ED FF 22 85 0F 71 84 18 2E 0F C1 0C B8 FA
    0070: F5 7E F0 52 3F 13 92 A5 8B F9 9C 2E D9 95 66 4D
    0080: E7 C5 A1 D4 9B 24 73 BE 82 A0 35 2A AA 94 C8 E7
    0090: C1 BA 7F D3 3C 37 F2 8D DB 33 BB B0 7B 02 2A EC
    00A0: 09 17 19 F4 C7 FA 35 DF D5 0F 0F 2F D4 7D 85 E0
    00B0: 29 2A D5 6E C9 47 D5 BE DB 00 00 AA 55
    MAC адрес источника: 38:94:96:A8:7A:87
    IP адрес источника:  192.168.7.195
    IP адрес приёмника:  192.168.7.231
    Протокол:            TCP(06)
    Порт приёмника:      6668

    0000: 00 00 55 AA 00 00 00 05 00 00 00 07 00 00 00 77
    0010: 33 2E 33 00 00 00 00 00 00 01 A0 00 0B 6A 63 37
    0020: 87 EA 40 C2 B5 FD A8 43 03 1D 0A 80 ED FF 22 85
    0030: 0F 71 84 18 2E 0F C1 0C B8 FA F5 7E F0 52 3F 13
    0040: 92 A5 8B F9 9C 2E D9 95 66 4D E7 C5 A1 D4 9B 24
    0050: 73 BE 82 A0 35 2A AA 94 C8 E7 C1 BA 7F D3 3C 37
    0060: F2 8D DB 33 BB B0 7B 02 2A EC 09 17 19 F4 C7 FA
    0070: 35 DF D5 0F 0F 2F D4 7D 85 E0 29 2A D5 6E C9 47
    0080: D5 BE DB 00 00 AA 55
    ---IP: 192.168.7.231 port: 6667
    IPclient: 192.168.7.231
    Len: 188

    0000: 00 00 55 AA 00 00 00 00 00 00 00 13 00 00 00 AC
    0010: 00 00 00 00 DA 96 8E 82 63 02 86 CC 94 B6 AA 8C
    0020: 1B 28 DE F1 75 2E 17 7F 5A B7 76 27 56 26 1A 92
    0030: 54 76 5C CC D3 02 AD 04 4E FB F8 C5 1B 22 34 57
    0040: C3 C8 43 55 ED 8A 99 1C CD DD 8A F0 03 A0 8C C2
    0050: BC 6C 42 12 4C B2 E9 6C 0A 7F 1E 41 3B AE D1 8D
    0060: 2F 9C E8 9D D9 8A 20 83 CC 86 3E 53 24 9C DF ED
    0070: 5E C9 31 22 B4 B2 BB EE CE 58 82 C4 5B 23 69 7E
    0080: 1D AA C6 FC FF 42 80 41 EC 6A B5 7E 8B AB F1 13
    0090: E3 B2 A6 82 B4 2F B4 D3 82 DA 37 49 8C 8D DD 04
    00A0: 59 0F D7 52 76 8F FC 6A B3 34 85 95 66 B8 DB 83
    00B0: B5 BC 22 15 EF 5B 65 CB 00 00 AA 55
    TCPconnect: 192.168.7.231:6668
    TCPconnected: 192.168.7.231 !
    Loop...

    igor@debianNUC7PJYH:~/coding/test/lamp2/work$ ./lamp2 --sndTCPwaitUDP lamp2on.bin
    Размер данных: 189 байт. Дамп:

    0000: D8 BF C0 E5 BB 61 38 94 96 A8 7A 87 08 00 45 00
    0010: 00 AF E5 33 40 00 40 06 C4 1A C0 A8 07 C3 C0 A8
    0020: 07 E7 EA 74 1A 0C 67 17 49 B1 00 17 FF 4D 50 18
    0030: 3C B8 A6 9A 00 00 00 00 55 AA 00 00 00 06 00 00
    0040: 00 07 00 00 00 77 33 2E 33 00 00 00 00 00 00 01
    0050: A1 00 0B 6A 63 37 87 EA 40 C2 B5 FD A8 43 03 1D
    0060: 0A 80 ED FF 22 85 0F 71 84 18 2E 0F C1 0C B8 FA
    0070: F5 7E F0 52 3F 02 2B CE 6E C3 CA 0F 7E 00 DA B9
    0080: 08 96 15 22 21 6E 7F 76 D8 8E F0 CB F0 61 0E A4
    0090: 65 23 57 AC B6 95 A1 DD BE 2F A2 91 C5 1D 47 0C
    00A0: 23 81 21 D9 F7 65 90 D8 C4 40 9F 4A D2 5C 4C 52
    00B0: 18 A4 9A FA FC FF 47 20 B1 00 00 AA 55
    MAC адрес источника: 38:94:96:A8:7A:87
    IP адрес источника:  192.168.7.195
    IP адрес приёмника:  192.168.7.231
    Протокол:            TCP(06)
    Порт приёмника:      6668

    0000: 00 00 55 AA 00 00 00 06 00 00 00 07 00 00 00 77
    0010: 33 2E 33 00 00 00 00 00 00 01 A1 00 0B 6A 63 37
    0020: 87 EA 40 C2 B5 FD A8 43 03 1D 0A 80 ED FF 22 85
    0030: 0F 71 84 18 2E 0F C1 0C B8 FA F5 7E F0 52 3F 02
    0040: 2B CE 6E C3 CA 0F 7E 00 DA B9 08 96 15 22 21 6E
    0050: 7F 76 D8 8E F0 CB F0 61 0E A4 65 23 57 AC B6 95
    0060: A1 DD BE 2F A2 91 C5 1D 47 0C 23 81 21 D9 F7 65
    0070: 90 D8 C4 40 9F 4A D2 5C 4C 52 18 A4 9A FA FC FF
    0080: 47 20 B1 00 00 AA 55
    ---IP: 192.168.7.231 port: 6667
    IPclient: 192.168.7.231
    Len: 188

    0000: 00 00 55 AA 00 00 00 00 00 00 00 13 00 00 00 AC
    0010: 00 00 00 00 DA 96 8E 82 63 02 86 CC 94 B6 AA 8C
    0020: 1B 28 DE F1 75 2E 17 7F 5A B7 76 27 56 26 1A 92
    0030: 54 76 5C CC D3 02 AD 04 4E FB F8 C5 1B 22 34 57
    0040: C3 C8 43 55 ED 8A 99 1C CD DD 8A F0 03 A0 8C C2
    0050: BC 6C 42 12 4C B2 E9 6C 0A 7F 1E 41 3B AE D1 8D
    0060: 2F 9C E8 9D D9 8A 20 83 CC 86 3E 53 24 9C DF ED
    0070: 5E C9 31 22 B4 B2 BB EE CE 58 82 C4 5B 23 69 7E
    0080: 1D AA C6 FC FF 42 80 41 EC 6A B5 7E 8B AB F1 13
    0090: E3 B2 A6 82 B4 2F B4 D3 82 DA 37 49 8C 8D DD 04
    00A0: 59 0F D7 52 76 8F FC 6A B3 34 85 95 66 B8 DB 83
    00B0: B5 BC 22 15 EF 5B 65 CB 00 00 AA 55
    TCPconnect: 192.168.7.231:6668
    TCPconnected: 192.168.7.231 !
    Loop...

    igor@debianNUC7PJYH:~/coding/test/lamp2/work$
    Одним словом теперь можно применять данный код для разных ламп. Прилагается и заготовка BASH скрипта...
    Вот подсказка:
    Код (Text):
    igor@debianNUC7PJYH:~/coding/test/lamp2/work$ ./lamp2

    Не определены параметры!!!
    Параметр: "--help" для подсказки.

    igor@debianNUC7PJYH:~/coding/test/lamp2/work$ ./lamp2 --help

    --help                       - эта подсказка
    --rdfile <file>              - вывод дампа файла <file> в консоль в шестнадцатеричном виде
    --fileanalisys <file>        - разбор данных пакета из файла <file>
    --udprcv <port>              - ожидание и приём пакета UDP на порт <port>
    --udprcvwaitIP <ip> <port>   - ожидание и прием пакета UDP от адреса <ip> на порт <port>
    --sndTCPwaitUDP <file>       - посылка TCP пакета с параметрами из файла <file> с ожиданием UDP пакета

    igor@debianNUC7PJYH:~/coding/test/lamp2/work$
    Замечено, что при новой регистрации лампы на сайте пакеты управления меняются и управление уже не возможно... а если каждый раз не проводить новую регистрацию (что есть баловство), то всё работает нормально.
    Пока что пакеты не "взломаны" для полного управления.
    PS: Когда придёт железо из Китая? Вот и веду никому не нужный поиск.
     

    Вложения:

    • lamp2.zip
      Размер файла:
      37,7 КБ
      Просмотров:
      186
  3. Igor68

    Igor68 Гуру

    Доброго времени суток!
    создатели приложения HIPER IoT ошалавились!!!!!
    Дело было в том, что лампа(слава богу что одна) была выключена программно, а не физически (выключатель напряжения включен). И... стали дергать электричество перед тем как свет вырубили вовсе... а утром когда дали свет лампа заморгала. Ну думаю ладно, приложение есть - настрою. Сбросил в заводские настройки, лампа стала тоской доступа wifi и надо бы подключиться этим приложением (HIPER IoT), а оно поменяло и внешний вид и захотело регистрации акаунта или вход в него. Подключаюсь к нормальному соединению WIFI, ну там указываю мыло для новой регистрации (старую не помню - не пользуюсь), и опа: " Ваше соединение не пригодно"... думаю как так? И как не крутил-вертел то к одному соединению, то к другому - они с доступом к интернету... ни в какую и точка.
    В чём может быть дело?
     
  4. ZAZ-965

    ZAZ-965 Гуру

  5. Igor68

    Igor68 Гуру

    Да именно такой оно и приобрело вид потом - первое изображение(которое про регистрацию) - там и затыт. Не желает регистрироваться по сети WIFI(я так понял). Прошлое до обновления(будь оно не ладно) спрашивало QR код в документации на лампочку, но можно было и без этого. Сразу появлялось меню поиска устройств(а) и далее по ходу.
    Мало того, что ТЫВА(ЯВА), так ещё и за бесплатное надо что-то. Вот пока не знаю, что надо... и как надо...
    Передача данных по мобильной сети выключена, всегда выключена... потому как не надо - никогда не надо... никогда!

    PS: При регистрации приложения: "Ошибка сети, повторите попытку". Что при создании нового аккаунта, что при попытке войти в старый. Ошибка идентичная.
     
    Последнее редактирование: 5 ноя 2021