Como conectar vários dispositivos e jogar dados na web? Desenvolvimento de app para ESP8266a

Pessoal,

Estou desenvolvendo algumas automações residenciais e gostaria de conectar vários módulos ESP8266 em uma mesma rede, conversando entre si.

Em relação aos dispositivos (hardware) tentei usar o painlessMesh para criar uma rede entre eles, mas depois de "quebrar a cabeça" um tempo pesquisando descobri que não tem como manter uma rede mesh em conjunto com uma conexão Wifi normal (STA+AP).
Os próprios desenvolvedores sugerem o uso de dois ESPs interligados por comunicação serial, um deles comunicando com a mesh e o outro responsável por jogar a informação na web.

Digo isso pq queria que apenas um dos dispositivos ficasse "conectado" com a internet para jogar os dados dos outros dispositivos da rede "mesh" na web.

Enfim, ainda não escolhi se vou tentar fazê-los conversarem entre si com IPs fixos por meio de pacotes HTTP ou pacotes UDP, com apenas um deles sendo um AP+STA conectado na WEB a algum servidor.

Explicado este contexto, segue as questões:

1) Qual o melhor protocolo de comunicação para usar entre dispositivos? HTTP? UDP? outro?
Sei que o HTTP possui vantagens pela existência de controle de entrega dos pacotes.
Se tiverem alguma sugestão de outros protocolos que sirvam, agradeço.
Se alguém puder me explicar um pouco melhor sobre JSON...

2) Depois de "capturar" esses dados da "rede" de dispositivos, minha ideia é jogar essa informação para um app no Android.

Então PEÇO SUGESTÃO DE COMO DESENVOLVER UM APP... onde buscar este aprendizado?

Eu já dei uma pesquisada nesses sites de widgets, mas não queria ficar "amarrado" a um serviço de terceiros - penso em desenvolver algo mesmo, até pq esses sites tem muitas limitações. Servem apenas para ler sensores e mostrar a informação, sem nenhum tipo de "processamento dos dados".

Obs.: Eu já dei uma investigada no MIT App Inventor, mas achei que os apps ficam com um estilo muito básico, apesar de ser muito fácil de desenvolver por lá.

3) Além de jogar estes dados na web, preciso desenvolver um servidor que RECEBA ESTES DADOS e jogue tudo em um banco de dados.
Python seria uma ideia? Tem algum site que tenha algo desenvolvido para que eu possa usar como "ponto de partida"?

Exibições: 327

Responder esta

Respostas a este tópico

Olá,

Pesquise sobre node-red e um broker instalado no se computador, quem sabe....

Alguns videos no meu canal AQUI

Boa sorte.

Abs.

CK

Desenvolver um aplicativo Android não é uma tarefa simples, já que prefere não usar o MITT App Inventor. 

Precisará de bom conhecimento em JAVA e no uso da IDE Studio de Android. 

https://developer.android.com/studio/index.html?hl=pt-br

A Google lançou recentemente uma outra alternativa - a linguagem KOTLIN. 
Muita gente tem elogiado. Comecei a estudá-la e estou gostando. 

https://developer.android.com/kotlin/index.html

https://developer.android.com/kotlin/get-started.html

Muito obrigado pela contribuição. 

Vou dar uma estudada nos links e volto a chamá-los caso necessário.

José, sobre o desenvolvimento... é... se fosse fácil todo mundo fazia. kkkkk Ta aí o motivo pq temos o MIT App Inventor.
O problema é que a turma só pensa na funcionalidade, e esquece da "perfumaria" do projeto.

Olá Ricardo, bom dia.

Sei que esse seu post é antigo, mas já conseguiu o que queria? Gostaria de trocar algumas idéias sobre esse assunto.

Abcs.

Zé Roberto

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço