Я разработал веб-приложение с использованием Laravel (PHP) и сейчас пытаюсь связать его с устройством IoT (Rasberry Pi).
Идея такова: при нажатии кнопки приложение отправляет сообщение IQT на устройство IoT, чтобы начать запись данных с датчика и сохранить их на SD-карте.При повторном нажатии кнопки будет отправлено еще одно сообщение MQTT на устройство IoT, поэтому запись будет остановлена.
Должен сказать, что я только начинаю изучать, как использовать платформу IoT веб-служб Amazon, но ядостиг связи RasberryPi с моим компьютером с помощью одного из примеров Python SDK с использованием сценария Python на обоих устройствах.
Итак, можно сказать, у меня теперь есть сценарий Python, который прослушивает тему, установленную вRaspberry Pi.Я анализирую сообщение и затем выполняю следующие действия:
Теперь я пытаюсь сделать то же самое, но вызываю его из приложения Laravel.Итак, мой код выглядит так:
Кнопка HTML-код
<button type="button" id="start-button" class="btn btn-outline-success btn-lg" onclick="startRecording()"><i class="fas fa-play-circle"></i> Start recording</button>
Javascript
<script src="{{ asset('js/mqttws31.min.js') }}"></script>
<script>
function startRecording(){
MQTTconnect();
}
var mqtt;
var reconnectTimeout = 2000;
var host = "xxxxxxxxx.iot.eu-west-1.amazonaws.com";
var port = 443;
function onConnect(){
//Once a connection has been made, make a subscription and send a message.
console.log("Connected");
//mqtt.subscribe("VaultingTable1");
message = new Paho.MQTT.Message("Hello World");
message.destinationName = "myDevice1";
mqtt.send(message);
}
function MQTTconnect(){
console.log("connecting to "+ host + " " + port);
mqtt = new Paho.MQTT.Client(host, port, "myDevice1");
var options ={
timeout : 3,
onSuccess : onConnect,
};
mqtt.connect(options); //connect
}
В этомВ случае, если я получаю эту ошибку:
WebSocket connection to 'ws://xxxxxxxxx.iot.eu-west-1.amazonaws.com:443/mqtt' failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE
Может кто-нибудь помочь мне, как ее достичь?
Спасибо!