Estoy trabajando en mi proyecto de domótica. Tengo un servidor en el océano digital. Quiero poner mi código php en ese servidor y ese servidor se conectará a mi Raspberry Pi. ¿Cómo puedo pasar mensajes entre mi servidor y Raspberry Pi? Quiero controlar mi sitio web a través de internet.
Encienda la luz (desde internet) -> Digital Ocean Server -> My Home Router -> Raspberry Pi
Y viceversa. Entonces, la razón por la que escribo esta pregunta es ¿Cómo conectar estas cosas? Cada vez que el servidor recibe un mensaje, tiene que pasar el mensaje a Raspberry Pi (push) o Raspberry Pi tiene que verificar si hay algún mensaje para mí o no (sondeo). pero como hacer esto? Cómo pasar mensajes entre intranet e internet.
ACTUALIZACIÓN: He encontrado algunas cosas. ¿Alguien puede decirme si es útil o no? Porque soy nuevo en esto.
https://nodejs.org/api/http.html#http_http
http://aiohttp.readthedocs.io/en/stable/client.html
fuente
Si decide seguir la ruta de MQTT, esto es lo que debe hacer en el Pi :
Elija un idioma para escribir el código del cliente. Las bibliotecas que vinculó en su edición son bibliotecas HTTP para Node.js y Python, respectivamente, por lo que su elección dependerá de la que le resulte más cómoda.
Encuentre una biblioteca de cliente MQTT para su idioma. Yo no lo recomendaría usar directamente una librería HTTP; es demasiado trabajo usar MQTT sobre una conexión sin formato. En su lugar, use una biblioteca como
paho-mqtt
para Python. Hay algunos ejemplos en HiveMQ .Suscríbase a un tema que indique si la luz debe estar encendida .
Aquí hay un ejemplo de eso usando
paho-mqtt
:Solo necesita implementar
lightbulb_on
ylightbulb_off
, luego, enviar el mensajeon
ooff
al tema MQTTlightbulb/state
para alternar el estado de la bombilla. Esto se haría desde el dispositivo desde el que desea controlar la bombilla.fuente
Es posible que desee ver muestras de protocolo MQTT. Le ayudará a conectar el servidor un Pi a través de un intermediario para permitir la comunicación pub-sub.
Pruebe estos: https://github.com/bluerhinos/phpMQTT y https://eclipse.org/paho/clients/java/ Solo observe la versión de especificaciones MQTT que los clientes / intermediarios admiten. Menciono esto, porque estos son proyectos de diferentes repositorios.
fuente