Estou trabalhando no meu projeto de automação residencial. Eu tenho um servidor no oceano digital. Quero colocar meu código php nesse servidor e esse servidor se conectará ao meu Raspberry Pi. Como posso passar mensagens entre meu servidor e o Raspberry Pi. Quero controlar meu site pela internet.
Turn On Light (da internet) -> Servidor Digital Oceano -> My Home Router -> Raspberry Pi
E vice versa. Portanto, a razão pela qual estou escrevendo esta pergunta é Como conectar essas coisas? Cada vez que o servidor recebe uma mensagem, ele deve passar a mensagem para o Raspberry Pi (push) ou o Raspberry Pi deve verificar se há alguma mensagem para mim ou não (pesquisa). Mas como fazer isso? Como passar mensagens entre intranet e internet.
ATUALIZAÇÃO: Encontrei algumas coisas. Alguém pode me dizer se é útil ou não. Porque eu sou novo nisso.
https://nodejs.org/api/http.html#http_http
http://aiohttp.readthedocs.io/en/stable/client.html
fonte
Se você decidir seguir a rota do MQTT, eis o que você precisa fazer no Pi :
Escolha um idioma para escrever o código do cliente. As bibliotecas que você vinculou em sua edição são bibliotecas HTTP para Node.js e Python, respectivamente, portanto, sua escolha dependerá de qual você se sentir mais confortável.
Encontre uma biblioteca do cliente MQTT para o seu idioma. Eu não recomendaria usar uma biblioteca HTTP diretamente; é muito trabalhoso usar o MQTT em uma conexão bruta. Em vez disso, use uma biblioteca como
paho-mqtt
para Python. Existem alguns exemplos no HiveMQ .Inscreva-se em um tópico que indica se a luz deve estar acesa .
Aqui está um exemplo disso usando
paho-mqtt
:Você só precisa implementar
lightbulb_on
elightbulb_off
, em seguida, enviar a mensagemon
ouoff
para o tópico MQTTlightbulb/state
para alternar o estado da lâmpada. Isso seria feito no dispositivo do qual você deseja controlar a lâmpada.fonte
Você pode querer olhar para amostras do protocolo MQTT. Isso ajudará você a conectar um Pi ao servidor por meio de um broker para ativar a comunicação pub-sub.
Tente estes: https://github.com/bluerhinos/phpMQTT e https://eclipse.org/paho/clients/java/ Apenas fique de olho na versão de especificação do MQTT que os clientes / corretores suportam. Estou mencionando isso, porque esses são projetos de diferentes repositórios.
fonte