• Как лучше организовать беспроводное подключение между Arduino и блоком кнопок?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Самое простое - ИК https://kit.alexgyver.ru/tutorials/ir-remote/ есть куда готовых модулей и примеров, также на приемник можно программно прописать сигнады с любого пульта, хоть от ТВ хоть от кофеварки на сколько угодно кнопок. Занимает 1 любой пин - обмен данными в двоичном виде. Потребление - соответственно как и в пульте - живут годами. Минус - нужна прямая видимость, ну или хотя бы отраженная для сильных пультов.
    Посложнее - 433 МГц RF на таком обычно работают всякие люстры и тому подобное, также в разделе diy iot имеется куда готовых модулей, но сдесь уже посложнее и поэнергоемкей, иногда нужно сочинять/дебажить протоколы обмена данными. Зато стрелять можно хоть через стену, а при достаточной мощности передатчика и через улицу.
    Ответ написан
    7 комментариев
  • Как взаимодействуют nginx-push-stream-module и php?

    mrhard
    @mrhard
    web разработчик
    Я рекомендую использовать на фронтэнде JS либу PushStream https://github.com/wandenberg/nginx-push-stream-mo...

    Отправляем сообщение на фронтенд через nginx-push-stream-module сервер
    $message = array('message'=>'Привет!');
        $idChannel = 1; //ID канала
        $nginxPushStreamModuleHost = 'http://localhost/'  //ВАШ СЕРВЕР С nginx-push-stream-module
          //отправка сообщения
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL, $nginxPushStreamModuleHost.'pub/'.$idChannel);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_POST, true);
          curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($message));
          curl_exec($ch);
          print_r(curl_getinfo($ch));
          curl_close($ch);


    Прослушиваем nginx-push-stream-module сервер на фронтенде
    idChannel = 1; //ID канала
    nginxPushStreamModuleHost = 'http://localhost/'; //ВАШ СЕРВЕР С nginx-push-stream-module
    
    pushstream = new PushStream({
                            timeout: 20000,
                            modes: 'eventsource|stream',
                            host:nginxPushStreamModuleHost,
                        
                            useSSL:false 
                            
                          });
    
    pushstream.onmessage = function(json) {
    //Сработает если с сервера что-то пришло пользователю
    alert('О! что-то пришол! Сообщение: '+json.message)
    }
    
    pushstream.addChannel(idChannel);
    pushstream.connect();
    Ответ написан
    1 комментарий