Página 1 de 4

Introduzindo no mundo dos IoT's

MensagemEnviado: 22 Abr 2017 18:32
por andre_luis
Olá Pessoal,


Decidi partir pros ESP8266 da vida pra fazer meus proximos projetos, já que está virando moda ter conectividade como requisito.
Como estou começando agora a ler sobre esses dispositivos, algo não ficou totalmente claro pra mim.

Se eu quizer os usar como microcontroladores, programando em C, depois vou ter mais dificuldades para lidar com os recursos de alto nivel, como LUA, PYTHON e etc ? Digo isso porque vejo muitos projetos por aí afora usando o ESP8266 mais como um módulo ( shield Arduino ! ) do que propriamente como uma CPU. Na verdade não sei qual é o tamanho da encrenca ter de trabalhar em C com esse cara, pois desconheço suas bibliotecas e não sei o que eu deveria depois ter de implementar na unha.

Por ser barato, continuo usando o uC que me sinto confortável, e uso o ESP8266 apenas como um módulo ?
Qual é a recomendação de voces com relação a isso ?

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 23 Abr 2017 08:03
por tcpipchip
andre_teprom escreveu:Decidi partir pros ESP8266 da vida pra fazer meus proximos projetos, já que está virando moda ter conectividade como requisito.
Como estou começando agora a ler sobre esses dispositivos, algo não ficou totalmente claro pra mim.


OK!

andre_teprom escreveu:Se eu quizer os usar como microcontroladores, programando em C, depois vou ter mais dificuldades para lidar com os recursos de alto nivel, como LUA, PYTHON e etc ? Digo isso porque vejo muitos projetos por aí afora usando o ESP8266 mais como um módulo ( shield Arduino ! ) do que propriamente como uma CPU. Na verdade não sei qual é o tamanho da encrenca ter de trabalhar em C com esse cara, pois desconheço suas bibliotecas e não sei o que eu deveria depois ter de implementar na unha.


OLHA, SE QUERES TER ACESSO COMPLETO AS LIBS, USA SDK ESP8266 DO FABRICANTE + MINGW + ECLIPSE.
SE TE ASSUSTAR, USA ARDUINO C, AS LIBS FICAM ENCAPSULADAS, ASSIM VOCE, FAZ POUCOS INCLUDES. O BOM DO ARDUINO É QUE FICA MAIS FÁCIL PARA PORTAR O TEU CÓDIGO PARA OUTRAS PLATAFORMAS...O ARDUINO USA O SDK DO FABRICANTE.
O LUA É BOM PQ TEM MUITAS COISAS PRONTAS TAMBEM E TENS UMA LINGUAGEM PODEROSA (TABELAS, EXPRESSÕES REGULARES). E ESTA BEM ESTÁVEL HOJE, APESAR DE ESTOUROS DE HEAP. PS: INTERPRETADO.
PYTHON (ENGINE) RODA FULL NO ESP8266, MAS FALTAM LIBS.
O BASIC ESP8266 TEM UMAS LIBS PARA TOUCH MAIS COMPLETAS QUE JÁ VI...E TAMBEM PARA WEB.

ENFIM, TESTA UM POR UM,,,COMEÇA COM SDK + ECLIPSE, DEPOIS LUA, DEPOIS ARDUINO, PYTHON E ENTAO BASIC... :)

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 23 Abr 2017 09:29
por andre_luis
tcpipchip escreveu:OLHA, SE QUERES TER ACESSO COMPLETO AS LIBS, USA SDK ESP8266 DO FABRICANTE + MINGW + ECLIPSE.


Por enquanto estou me baseando num tutorial desse camarada: https://www.youtube.com/watch?v=T-oSjMCmNYk
Nao sei ainda onde isso vai dar, mas Eclipse nunca foi minha praia, exceto quando vinha um pacote de instalação com tudo já configurado.
Acho que eu preferiria o SDK do proprio fabricante, já que nao teria conhecimento pra customizar alguma coisa.

tcpipchip escreveu:SE TE ASSUSTAR, USA ARDUINO C, AS LIBS FICAM ENCAPSULADAS, ASSIM VOCE, FAZ POUCOS INCLUDES. O BOM DO ARDUINO É QUE FICA MAIS FÁCIL PARA PORTAR O TEU CÓDIGO PARA OUTRAS PLATAFORMAS...O ARDUINO USA O SDK DO FABRICANTE.


Gosto muito do Arduino enquanto conceito para projetos rapidos, mas para o usar em trabalhos mais serios isso estaria em principio meio fora de questão. Recentemente fiz um projeto com o uC Atmega2560 iniciando na plataforma Arduino, mas vi que nao suportava interrução de Serial, e que para poder compilar com essa funcionalidade teria de incluir algumas coisas na mão e no final acabei migrando para o C no WinAVR. Mas...falando agora com toda sinceridade: Voce considera o Arduino uma plataforma confiável ? Ás vezes quando eu compilava algumas coisas o ambiente tinha um comportamento esquisito, ás vezes travando.

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 24 Abr 2017 09:59
por tcpipchip
Ainda nao considero confiável ainda...
Por isto...teste bem antes as libs...

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 24 Abr 2017 11:03
por denis
Utilizando o ESP8266, dá pra abrir um Socket server/client como se estivesse em uma máquina rodando linux?
Programando em C?

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 24 Abr 2017 11:17
por tcpipchip
cada arquitetura nova que surge...novos bugs tambem surgem...

Sim, pode ser client e server

Re: Introduzindo no mundo dos IoT's ( MQTT ??? )

MensagemEnviado: 04 Mai 2017 18:02
por andre_luis
Bom, agora cavando um pouco mais desse buraco me deparei com o MQTT.

Ok, trata-se de um protocolo leve e tal, mas acho que não entendi - fora isso - o que mais tem de ganho com esse approach ? Por exemplo, esse CLOUDMQTT, trata-se de um servidor para o qual eu posso jogar e coletar informações tal qual uma base de dados ? Se estou raciocinando corretamente, seria uma maneira de eu poder ter um sistema de monitoramento sem neessariamente ter um server online rodando full time ? Ou seja, ambos o sistema "sensor" como o sistema "monitor" poderiam estar operando como clients ?

AT+

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 05 Mai 2017 08:20
por tcpipchip
no mqtt voce registra "campos" para pode consultar depois...
Voce pode fazer o teu proprio servidor se quiser (mosquitto)

Tem tambem o thinkspeak

Acho que ambos sao HTTP...deve ter tambem HTTPS...mas teu ESP8266 nao daria conta...

Voce pode tambem por um servidor no amazon

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 17 Mai 2017 14:05
por andre_luis
Olá Pessoal,


Consegui reproduzir todos os passos do tutorial do AMAURO citado acima, que diga-se de passagem, um excelente material didático, bem detalhado.
Porém, ele foca no SDK compilando diretamente na linha de comando ( MAKE ), mas eu gostaria de interagir com uma interface mais "amigável".

Estava pensando em usar o ECLIPSE pra isso, mas nao estou conseguindo configurar o toolchain Xtensa usado nessa instalação.
Tentei seguir algumas dicas do StackOverflow sobre como fazer isso, mas nao encontrei nada especifico para esse compilador.

Alguem poderia recomendar algum link ou video tutorial de como fazer essa configuração ?

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 17 Mai 2017 18:28
por tcpipchip

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 17 Mai 2017 19:03
por andre_luis
Obrigado pela dica, mas por total ignorancia da minha parte, se não ''desenhar'' nao entendo. :lol:
Por exemplo, passos como esses abaixo, fico boiando nos detalhes:

  • install Code::Blocks (bundled with MinGW) if not installed
  • (additional tools required: mkdir.exe, mv.exe, rm.exe, true.exe) directory to SDK directory; these are taken from WinAVR
  • ...assuming that you have make tool...

Aparentemente o link acima é para quem já tem alguma experiencia com instalação/configuraçao de toolchain's.
Até hoje só usei compilador que se instala tudo sozinho, via InstallShield ou afins.

De qualquer modo, eu estava no Linux, já que é o ambiente suportado pelo compilador do fabricante.
Esse "Unnoficial" aí, por estar no Windows teria minha preferencia, mas vi que precisa ficar atento á muitos detalhes na instalação.

Mas agradeço; adicionado aos favoritos...rsrs,

microPYTHON ou LUA ( ou Arduíno ) ?

MensagemEnviado: 21 Mai 2017 17:29
por andre_luis
Olá novamente,


Mais um capítulo desta novela...
Só pra explicar, a placa que projetei ainda não foi montada, e por isso ainda estou me debatendo com as possíveis soluções de firmware:

Devido á enorme quantidade de tutoriais na Web com o Ardoído (Arduíno, desculpa), estou considerando seriamente essa possibilidade.
Isso porque há pouco material didático cobrindo o SDK em C da xtensa, de modo que eu teria de fazer muita coisa na mão e apanhar sozinho.

Mas como gosto de sofrer, estava ainda considerando as 2 opções de linguagens interpretadas, como o Micropython e o LUA.

Com relação ao LUA, o achei meio limitado quanto aos comandos e á própria estrutura do programa que não suporta interrupção, e parece meio que as funções de timer são sequenciais, se nao estou enganado; soa como uma linguagem para tarefas simples de comandos abre/fecha e liga/desliga.

Já o Micropython parece um pouco mais poderosa em termos de recursos da linguagem, mas se é (/fosse) realmente melhor, não deveria ser essa a escolhida pelos NodeMCU da vida ? Ou essa placa apenas fez sucesso apenas por puro acidente do destino ? O Micropython tem um suporte ainda bem recente, tendo sido a penultima atualização em Fev/2017 e coincidentemente a última na data de hoje.

Enfim, alguma opinião com relação á essas 3 opções de linguagens "não-C" para o ESP8266 para projetos digamos mais sérios ?

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 22 Mai 2017 19:49
por Abuda
Utilizei a sdk para um projeto de automação residencial. São 5 módulos com funções diversas.

Acredito que apenas com a sdk seria possível fazer o que fiz.

Usei Lua no início e em pouco tempo vi que não atenderia.

Enviado de meu GT-I9192 usando Tapatalk

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 22 Mai 2017 21:30
por tcpipchip
se nao usares C, parte para LUA

Com relação ao LUA, o achei meio limitado quanto aos comandos e á própria estrutura do programa que não suporta interrupção, e parece meio que as funções de timer são sequenciais, se nao estou enganado; soa como uma linguagem para tarefas simples de comandos abre/fecha e liga/desliga.


LUA SUPORTA INTERRUPT SIM, ISTO QUE NO ESP8266 QUALQUER GPIO PODE SER PROGRAMADA COMO INTERRRUPT.

OS COMANDOS DO LUA NAO SAO LIMITADOS NAO...SÃO BEM COMPLETOS...SE NAO ME ENGANO É O LUA 1.5...TAMBEM OS COMANDOS DA CAMADA DE HARDWARE SAO COMPLETOS.

LUA É A MAIS ESTÁVEL...(TIRANDO O HEAP QUE ESTOURA...SE NAO TIVERES CUIDADO).

Re: Introduzindo no mundo dos IoT's

MensagemEnviado: 24 Mai 2017 08:51
por andre_luis
Ok, então pelo jeito parece que vou ter de estudar muito mais, já que o que eu tinha fuçado nos foruns parecia um cenário um pouco diferente. De qualquer modo, você se referiu não á linguagem LUA genericamente falando, mas á implementada para o ESP8266, correto ?