Padrões para dispositivos Wi-Fi não conectados à Internet?

10

Estou planejando fazer muita automação residencial. Para isso, hospedarei uma rede WiFi isolada privada à qual todos os meus dispositivos estarão conectados. Os dispositivos serão luzes simples, faixas de LED RGB (smd5050 e ws2812b), termostatos, ventiladores, abridores de janelas, controladores de cortinas de janelas e tomadas normais. Além disso, transmissores de infravermelho para simular um controle remoto para iniciar TVs etc. E um transmissor de 433MHz para simular um controle remoto que pode alternar entre tomadas padrão controladas por controle remoto.

Agora, estou me perguntando se existem padrões sobre que tipo de interface esses dispositivos devem expor à rede Wi-Fi.

É claro que eu poderia fornecer a cada dispositivo uma rota http simples e, em seguida, escrever aplicativos que entendam minha interface, mas seria bom se eu pudesse implementar um padrão que me permitisse usar aplicativos e programas que já foram escritos e que entendam o padrão .

Forivin
fonte

Respostas:

7

Sobre os protocolos de IoT, mais comumente HTTP, CoAP e MQTT são usados ​​na comunicação.

O HTTP e o CoAP são adequados para a (s) comunicação (ões) de cliente (s) para cliente (s) do servidor e o MQTT suporta a comunicação multiusuário baseada em publicação e assinatura, onde a origem pode ser facilmente de servidor para cliente, cliente para servidor e até cliente para cliente.

Respondendo à pergunta:

Use REST sobre HTTP ou CoAP para comunicações um para um ou MQTT para uso de tráfego multiponto.

Mais detalhes

Após o comentário abaixo, admito que minha resposta foi bastante parcial, por isso examinei e descobri um pouco mais:

Até as comunicações têm esse tipo de confusão de padrões, se todos calculados:

http://www.slideshare.net/butler-iot/butler-project-overview-13603599

Fonte: Projeto EU Butler - Problemas de comunicação

Também postscapes.com tem a seguinte lista com base em diferentes aspectos:

1  Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)
2  Identification (ex: EPC, uCode, IPv6, URIs)
3  Comms / Transport (ex: Wifi, Bluetooth, LPWAN)
4  Discovery (ex: Physical Web, mDNS, DNS-SD)
5  Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)
6  Device Management (ex: TR-069, OMA-DM)
7  Semantic (ex: JSON-LD, Web Thing Model)
8  Multi-layer Frameworks (ex: Alljoyn, IoTivity, Weave, Homekit)

Como visto na lista de cada exemplo, existem muitos deles e também outros mais personalizados e proprietários certamente existem.

Você deve abrir esse link e lê-lo, é impressionante. Eu acredito que você pode encontrar em seu (s) projeto (s) muitos deles, pelo menos se os sensores forem de forma muito compactada, ou seja. não apenas componentes no formato mais puro, mas partes de alguns ecossistemas já existentes. Nesses casos, talvez você não consiga negociar a maneira como os interage, basta selecionar entre os ecossistemas.

O problema agora parece ser encontrar um conjunto ou conjunto de produtos correto (grupo de conjuntos de produtos) com pilhas de protocolos idênticas ou quase correspondentes por wifi, conforme você define a meta (lembre-se de que o infravermelho é uma solução fora dessa área e lá existem muitas outras soluções de rede sem fio sem Internet, que você ainda pode enfrentar).

Os critérios seriam identificar o que todas as coisas que você deseja fazer e quantas pilhas você pode querer aprender dessa maneira. Ao aprender, quero dizer que você ainda quer brincar pouco com os gadgets e estar ciente de como o protocolo certo funciona sob o capô.

mico
fonte
11
"REST over http" é um pouco vago. Mesmo com isso em mente, eu poderia pensar em centenas de maneiras diferentes de projetar a interface, especialmente para dispositivos que entendem mais do que 'ligado' e 'desligado'. Idealmente, eu apenas forneceria o endereço IP, o tipo de dispositivo e o restante seria padronizado. Existe algo assim?
Forivin
7

Minha recomendação é MQTT. Versátil, leve e modular, pode até rodar em um ESP8266 (Hub e cliente). O protocolo MQTT está disponível para muitas plataformas, desde dispositivos móveis embarcados até grandes sistemas operacionais como MAC, Windows e Linux.

O protocolo possui um modelo Publisher, Subscriber para a comunicação. E uma QoS para que um Hub possa se lembrar se um assinante recebeu uma mensagem de um editor. Assim, um dispositivo adormecido pode acelerar quando acorda e procura por mensagens.

Eu corro meu servidor MQTT em um pequeno Raspberry Pi Zero W, é como um cartão de crédito na parede e, para a lógica, uso "Node Red" e comecei a procurar no OpenHAB uma solução mais complicada.

Também construí meus próprios dispositivos Arduino / MQTT para meus dispositivos de 12v DC e usa um produto baseado em ESP8266 para meus dispositivos de 230v AC.

MatsK
fonte