LusoRobótica - Robótica em Português

Discussão Geral => Ideias => Tópico iniciado por: samc em 05 de Dezembro de 2015, 00:38

Título: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 05 de Dezembro de 2015, 00:38
Viva,

Num dos meus projetos pessoais (word clock) tenho a necessidade de realizar um sistema que permita configurar o dispositivo, como é normal em qualquer projeto.

A forma mais comum é criar uma interface física com botões/menus e configurar o dispositivo. No entanto, tenho pensado numa solução mais alternativa e que está a se tornar comum com a popularização dos módulos Wi-Fi baratos como os ESP8266 que é criar um ponto de acesso com uma página de configurações. A vantagem deste método é que permite a configuração do dispositivo através de qualquer sistema (o acesso através de um browser é praticamente universal) e não exige uma conexão always on à Internet (existe outra forma onde se liga o módulo à rede doméstica comum nos projetos Internet of things).

Ao pesquisar mais sobre esta solução vi que um dos maiores problemas é a estabilidade destes módulos Wi-Fi como servidores. Múltiplas ligações TCP fazem com que o módulo fique instável e caso uma página web tenha imagens ou seja mais "pesada" a ligação é lenta/instável.

Não era preciso que a página de configurações fosse muito "elaborada", mas também não queria que fosse uma página super básica como se costuma ver (com meia dúzia de linhas no código HTML). Com uma compressão eficiente das imagens e do código HTML e CSS seria possível armazenar a página em cerca de 1MB.

O problema é que parece que alojar uma página assim é uma tarefa pouco recomendada: armazenar o conteúdo numa memória externa (já que na ROM do Micro seria impraticável) e depois existiram os problemas da limitação da velocidade da comunicação serial com o módulo Wi-Fi (transmitir 1MB demoraria demasiados segundos).

Depois disto tudo a minha questão é a seguinte:
Alguém já fez algo similar? Existem módulos baratos (5€) que sirvam para este fim?
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: senso em 05 de Dezembro de 2015, 02:40
Metes BT no módulo lol.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 05 de Dezembro de 2015, 09:17
Não percebi essa resposta de meter BT
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: senso em 05 de Dezembro de 2015, 13:15
Ligas-te ao bicho por BT, configuras e depois ele sabe usar o WiFi.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: metRo_ em 05 de Dezembro de 2015, 15:13
Isso implica fazer uma app, ele queria uma interface web. Podes e' ter essa interface web alojada num servidor tipo RPI 5$ e depois so envias as configuracoes para o clock. Ou entao em vez de web fazes uma app para o pc ou mobile.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 05 de Dezembro de 2015, 15:16
Se calhar não me expliquei bem senso, queria incluir no meu post mais algumas informações que era para transmitir algum conhecimento para quem quisesse aprender alguns pormenores e a pergunta ficou pouco clara.

Não estou a ver como utilizar um módulo bluetooth poderia resolver este problema. Utilizar uma app para realizar a comunicação por BT e configurar as definições é uma solução muito profissional e com bom aspeto. O problema é que uso exclusivamente iOS e não dá para desenvolver tão facilmente e sem grandes custos como uma app como para dispositivos Android.
Daí a vantagem do Wi-Fi, é um acesso universal sem necessidade de uma app dedicada.

Os maiores problemas neste caso são criar um servidor web mais eficiente/poderoso de forma a conseguir suportar uma página Web mais pesada (com imagens e mais código).
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 05 de Dezembro de 2015, 15:30
metRo_ a solução Raspberry Pi é uma boa solução, neste caso dava substituir completamente o microcontrolador. As minhas dúvidas com respeito a uma solução dessas VS microcontrolador tem a ver com a estabilidade de algo ligado 24h. Embora num projeto deste género o software iria correr sem recurso a grandes leituras/escritas da memória (pelo que li um dos problemas mais comuns é a corrupção dos dados do cartão de memória com o passar do tempo).

Estão satisfeitos com a estabilidade de um Raspberry Pi num projeto 'always on'?

Depois há a questão dos custos finais, teria de conseguir arranjar um desses modelos de 5$ a esse preço, e teria de adicionar o módulo Wi-Fi USB. Se conseguisse arranjar o Raspberry Pi por esse valor iria ser uma solução muito interessante do ponto de vista económico.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: senso em 05 de Dezembro de 2015, 21:20
A minha resposta foi um bocado meta e provavelmente não entendeste, peço desculpa, á coisas que só fazem sentido na minha cabeça.
Basicamente era algo do estilo mete BT porque é da cena num servidor WiFi.
Resumindo:
 yo dog, you like wireless so much you need wireless to use wireless.
/voltandoparaoburaco..

De qualquer das formas, é meia duzia de campos e umas imagens, um cortex A-banana a correr a 1Ghz ou perto não serve uma página web, os modems/routers/AP's é quase tudo cores MIPS a 300-600Mhz com 4-16MB de RAM e servem bem aquelas páginas todas, algo errado se passa por ai(em relação a um RPi).
Um ESP mesmo assim com jeitinho devia ser mais rápido, de qualquer das formas são uns forms e pouco mais, ou não?
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 06 de Dezembro de 2015, 01:32
Já percebi melhor senso :-)

Segundo li (isto porque não tenho experiência prática com algo do género), um RBpi tinha mais que capacidade para servir como servidor web de uma página tão simples. A minha dúvida não é com respeito às capacidades do "bicho" mas mais com respeito à estabilidade do modulo em si com condições específicas (sempre ligado durante 24h a executar um programa simples).
Neste link está um benchmark que fizeram com 200 conexões simultâneas ao servidor. O RBpi até se porta muito bem num cenário de maior stress como esse (é claro que para "servidor web real" não serve como substituto)

http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 06 de Dezembro de 2015, 01:38
Quanto ao ESP ele funciona relativamente bem com uma página web simples (com as tais forms e texto simples). Alem disso apenas terá um cliente ligado de cada vez.
O problema passa quando quisermos complicar a página para lhe dar uma melhor aparência.
Dá para contornar as múltiplas ligações TCP por embeber o código CSS e as imagens em base64, mas aí surge o problema do tamanho final da página e do armazenamento/ comunicação com o ESP. Aí as limitações do ESP ficam bem visíveis.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: StarRider em 07 de Dezembro de 2015, 22:34
MIPS a 300-600Mhz com 4-16MB de RAM e servem bem aquelas páginas todas

A maioria das paginas estão em ROM/FLASH, e muitas são criadas dinamicamente, o
problema não é a RAM, é mais a ROM/FLASH para os elementos estáticos.

Não percebi que o teu "MIPS" se refere à arquitectura (Interlocked Pipeline Stages) ou
do desempenho de  (Milhões de Instruções Por Segundo) ... mas de qualquer forma
existem por ai muitos Web Server (Aplication WS) a correr em MCU a 70Mhz e com
90Kb de RAM ... o que vem reforçar a ideia que querias passar.

Alias, já em tempos vi por aqui um Web Server implementado no AVR a 16Mhz

Edit: o texto tinha alguns erros.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: StarRider em 07 de Dezembro de 2015, 22:44
Boas,

Podes implementar um WS com um ESP8266 na boa, no fundo um ESP8266 acaba
por ser um ETHERNET PHY com um stack TCP/IP que em vez de usar uma interface
MII/RMII usa uma ligação série com um protocolo (AT Command Set).

Acho que já em tempos passou aqui pelo forum um exemplo de um WS feito com
um AVR e um ESP8266 ... existem BUEEEEE de exemplos na net :)

Abraços
PA
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: StarRider em 07 de Dezembro de 2015, 22:47
Boas novamente,

Dá uma vista de olhos aqui:
http://wa0uwh.blogspot.pt/2015/07/esp8266-my-experimental-webserver.html (http://wa0uwh.blogspot.pt/2015/07/esp8266-my-experimental-webserver.html)

Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 11 de Dezembro de 2015, 01:50
Obrigado pelas informações StarRider.
Já fui ver o link e está interessante. Todos os outros projetos que vi disponibilizavam uma página muito simples ou então tinham tentado usar um cartão SD para servir de memória flash mas com resultados muito pobres (velocidade de comunicação entre o cartão e o módulo Wi-Fi muito lentas).

Nas minhas pesquisa deparei me com o sucessor do ESP8266, o ESP32

http://esp32.de/

Podem ver neste link mais detalhes. Ainda não vi informações concretas sobre o preço, mas para já o módulo promete:
Um processador dual core 32bits
400Kb de SRAM
Bluetooth
Low power mode
Muitos GPIO
Uma futura IDE para programação (nota: não tem USB o que deve ter sido uma opção para baixar os custos)

Possivelmente com um módulo destes o segundo microcontrolador que servia de "base" ao ESP8266 fica definitivamente sem fazer sentido.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 11 de Dezembro de 2015, 01:54
Falta acrescentar que o ESP32 tem suporte a SSL o que será uma óptima feature para elevar os projetos IoT a outro nível e entrar no campo mais "profissional" (tem de se ler com as aspas que há ainda muitas limitações e outros pormenores que sabemos que são importantes em ambiente industrial ou profissional).

Não consegui foi encontrar a informação da memória ROM e EEPROM deste novo módulo
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: senso em 11 de Dezembro de 2015, 09:09
Mas se vais nessa onda, já viste os(as?) Carambola/Carambola 2?
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 11 de Dezembro de 2015, 11:14
Não conhecia, ja fui ver agora :-)

Tem specs mais elevadas que o futuro ESP32 mas também acredito que o ESP seja comercializado a um preço mais baixo (o modelo anterior teve o sucesso e popularização devido principalmente ao preço ). Eu aponto para uns 10$ inicialmente que será completamente revolucionário para o quem vai usar isto nos seus projetos pessoais.
Título: Re: Módulo Wi-Fi - ponto de acesso para realizar as configurações
Enviado por: samc em 12 de Dezembro de 2015, 09:23
Possivelmente não encontrei detalhes sobre a memória ROM, porque é possível que à semelhança do ESP8266EX, este módulo faça uso de uma memória flash externa (comunicação através do protocolo SPI). No caso do ESP8266EX suporta até 16MB e vários protocolos (dual e quad SPI, etc).