Página 1 de 2
Programar ESP8266 em C

Enviado:
09 Jun 2018 08:52
por platec
Caros colegas gostaria de saber se existe uma forma de programar o ESP8266 na linguagem C de forma nativa, como e feito no AVR STUDIO, esta historia de programar no ambiente ARDUINO e um Saco, e gera muitos problemas além de deixar o código exa gerado bastante lento e cheio de muitas tarefas, sem contar que agente está vulnerável e limitado ao BOT LOADER que gera diversos problemas na execução da aplicação depois de compilada, eu tive diversos problemas mas os meus problemas acabaram quando passei a utilizar o compilador e ambiente de programação do fabricando o AVR STUDIO que traz todas as funçoes e formas de programação do proprio fabricante no caso o AVR ATMEGAS e ETC, deveria existir um compilador igual ao AVR STUDIO para o ESP8266 dai acho que seria o sonho de muita gente poder programar o ESP8266 de forma nativa em C sem a necessidade de compilar junto com os programas diversas rotinas de conversão que so deixa o resultado final uma verdadeira porcaria, programando de forma nativa, estaríamos livres da IDE do ARDUINO e poderia programar o ESP8266 de forma nativa com a IDE do próprio fabricante.
Aguardo a dica dos amigos
Re: Programar ESP8266 em C

Enviado:
09 Jun 2018 09:04
por tcpipchip
Re: Programar ESP8266 em C

Enviado:
09 Jun 2018 13:14
por andre_luis
Assim como voce também me sinto mais á vontade com o C, e o AVR que voce mencionou é um desses casos, o compilador no AVR Studio para esse core funciona muito bem. Mas o Arduino para o ESP8266 é a única excessão onde usar a IDE Arduino é mais vantajoso, os exemplos para o SDK do ESP8266 sao um lixo, muito confusos. Se quizer programar em C fica á vontade, tem todos os passos num dos links do artigo que postei abaixo, inclusive instalando para Windows:
blog.php?action=view&article_id=29Mas quanto á sua percepção de que o código fica mais 'lento' eu nao concordo, tenho feito programas para esse uC bastante estáveis e relativamente complexos com o Arduino. O fato é que o ESP8266 é um SoC que lida com 2 cores internamente (na verdade uma CPU + um co-processoador dedicado á conectividade), e as bibliotecas Wifi refletem essa complexidade, e se voce tomar os devidos cuidado, a coisa funciona de forma bastante satisfatoria no Arduino, e com o beneficio de programar numa linguagem onde tem muita coisa pronta.
Re: Programar ESP8266 em C

Enviado:
09 Jun 2018 15:00
por pamv
O esp8266 tem outras opções fora o IDE do arduino, além do SDK da Espressif que o tcpipchip indicou tem Lua e micropython
Re: Programar ESP8266 em C

Enviado:
09 Jun 2018 15:42
por andre_luis
pamv escreveu:O esp8266 tem outras opções fora o IDE do arduino, além do SDK da Espressif que o tcpipchip indicou tem Lua e micropython
Achei o LUA bastante limitado para algumas coisas.
Se for pra sistemas muito simples ate poderia valer a pena.
Script é sempre script, é interpretado e nao compilado.
Quebra esse preconceito, aceita o Arduino, no fundo é o SDK compilando por debaixo da IDE.
Re: Programar ESP8266 em C

Enviado:
09 Jun 2018 18:54
por dreher
andre_teprom escreveu:pamv escreveu:O esp8266 tem outras opções fora o IDE do arduino, além do SDK da Espressif que o tcpipchip indicou tem Lua e micropython
Achei o LUA bastante limitado para algumas coisas.
Se for pra sistemas muito simples ate poderia valer a pena.
Script é sempre script, é interpretado e nao compilado.
Quebra esse preconceito, aceita o Arduino, no fundo é o SDK compilando por debaixo da IDE.
Isso mesmo, usa o Arduino no visual studio, é uma plataforma interessante com uma IDE poderosa
Re: Programar ESP8266 em C

Enviado:
10 Jun 2018 01:31
por pamv
andre_teprom escreveu:pamv escreveu:O esp8266 tem outras opções fora o IDE do arduino, além do SDK da Espressif que o tcpipchip indicou tem Lua e micropython
Achei o LUA bastante limitado para algumas coisas.
Se for pra sistemas muito simples ate poderia valer a pena.
Script é sempre script, é interpretado e nao compilado.
Quebra esse preconceito, aceita o Arduino, no fundo é o SDK compilando por debaixo da IDE.
Não é preconceito, tem muita diferença do SDK pro Arduino, o SDK é melhor. E, dependendo da aplicação, a única limitação do Lua é espaço, e do micropython idem.
Re: Programar ESP8266 em C

Enviado:
11 Jun 2018 12:05
por platec
Caros colegas, desculpe se alguém está ofendido ou parte em defesa da IDE do Arduino esta e minha reflexão,
por experiência própria e por ouvir as queixas de nossos próprios colegas em diversos fórum da net, eu particularmente
acho que a IDE do Arduino e coisa feita para estudante aprendiz ou quem quer fazer de forma fácil sem qualquer esforço
ou criatividade, isto torna a pessoa burra e sem progresso e crescimento profissional, a IDE do Arduino está longe de ser
algo profissional ou que possa trazer benefícios ao projetista. me admira muito algo tão importante pra toda comunidade
de projetistas, como o ESP8266 ter tanta divulgação na plataforma do Arduino e não ter muito coisa pra ser feita de forma
nativa ou mesmo ter uma IDE eficiente e funcional como o AVR STUDIO, isto prova que as pessoas sempre procuram a forma
mais fácil de fazer e colocar tanto lixo na rede, que atrapalha as coisas evolutivas, vou continuar torcendo pra que apareça
uma IDE eficaz para o ESP8266 e que possa ser programada em C, para que todos nos possamos evoluir com este CHIP tão
importante e que pode vir a trazer tantos benefícios para toda comunidade de usuários do ESP8266.
Re: Programar ESP8266 em C

Enviado:
11 Jun 2018 12:19
por platec
Acho que o motivo de ter tanta porcaria do ESP8266 via IDE do Arduino e culpa dos próprios professores
que prefere fazer de forma mais fácil, eles deviam tentar utilizar outras formas de programar o ESP8266
diferente e não utilizando a IDE do Arduino, IDE e compiladores em C para ser utilizado de forma nativa
ai sim o ESP8266 iria evoluir, e deixar de estar preso a esta limitação da IDE do Arduino, solicito os amigos
do fórum que postem outras formas de programar o ESP8266 em C de forma nativa, desde ja agradeço.
Re: Programar ESP8266 em C

Enviado:
11 Jun 2018 17:36
por andre_luis
@platec, o problema é que independente da IDE que viesse futuramente a ser criada, o SDK oficial em C para o ESP8266 é muito complexo; assim como você não sou nem um pouco fâ do Arduino, mas sou fã do ESP8266; Se fosse para programar em AVR sem dúvida iria preferir o C, mas para esse uC da Espressif não tem jeito, se quiser algo saindo rápido para o cliente, vai ter de se render ao Arduíno; pode acreditar, tomando os devidos cuidados, o programa funciona bem. A proposito, uma coisa legal do Arduíno é que tem recursos do C++ e isso tem a vantagem de conseguirmos fazer programas um pouco mais estruturados se comparados ao C padrão.
Apenas um detalhe, ao menos a pouco tempo atrás quando pensei em fazer um upgrade, a implementação do Arduíno para o ESP32 não estava tão madura quanto o do ESP8266, digo, os mesmos exemplos feito para o antecessor, eram confusos no ESP32, o que significa que a biblioteca Arduino para essa nova plataforma ainda nao estava tao madura assim.
Re: Programar ESP8266 em C

Enviado:
11 Jun 2018 17:41
por mrgadotti
Podes tentar usar o Platform IO com o Atom ou Visual Studio Code... Fica muito bom e não tem nem como comparar com a IDE Arduino...
https://platformio.org/get-started
Re: Programar ESP8266 em C

Enviado:
11 Jun 2018 21:09
por pamv
platec: o IDE do Arduino é uma plataforma de ensino muito boa e como tal deve ser visto, para muitas aplicações ela é mais do que suficiente mas para essas adaptações ao ESP8266 ou aos STM32, por exemplo, deixam muito a desejar e você está certo em procurar alternativa mais eficiente.
Eu não sei o que você pretende fazer com o esp8266, eu o vejo como a stack tcpip mais simples, facil e eficiente para um projeto acessar a internet e o lua e o micropython dão e sobram para essa função, por isso eu os mencionei.
Re: Programar ESP8266 em C

Enviado:
12 Jun 2018 06:27
por Abuda
Implementei uma solução comercial de automação residencial utilizando o sdk e eclipse.
Nunca utilizei a ide do arduino, mas se vocês estão dizendo que se utiliza a sdk por baixo e tendo todos os códigos fonte do lado do arduino, não vejo como possa existir limitação.
Sou leigo no arduino.
Estou correto na linha de raciocínio?
Enviado de meu GT-I9192 usando Tapatalk
Re: Programar ESP8266 em C

Enviado:
12 Jun 2018 08:02
por andre_luis
Abuda escreveu:mas se vocês estão dizendo que se utiliza a sdk por baixo e tendo todos os códigos fonte do lado do arduino, não vejo como possa existir limitação
Existem limitações sim, como por exemplo a falta de mais recursos de interrupção, além do Timer e I/O padrao da IDE. Se voce conseguiu lidar com esse SDK pra fazer sistemas mais complexos, tiro o chapéu e mordo minha lingua, hora de rever meus conceitos; a proposito, voce se baseou no Unnoficial SDK ou nos exemplos da Espressif ?
Re: Programar ESP8266 em C

Enviado:
12 Jun 2018 08:52
por platec
Caros colegas eu consegui instalar uma alternativa melhor do que a IDE do Arduino e o VISUAL STUDIO CODE
achei interessante e tem mais suporte que a ide do Arduino e tudo mais exato, o que achei mais interessante
e que você pode remover qualquer linguagem interpretada, ou qualquer varredura, ou loop para execução de
script, trocando em miúdos você escreve diretamente para as funções do ESP8266 sem qualquer intermediário,
quando você programa no Arduino existe varias rotinas rodando ocupando espaço da memória e ainda gastando
processamento para interpretar o que você digitou, dai então esta rotina vai escolher a sintaxe correta que irá
empregar, ou seja esta rotina decide o que será executado no ESP8266, já utilizando o VISUAL STUDIO CODE, e
desde que você decida fazer a programação NATIVA direto no ESP8266, não existirá esta intermediação como e
feito quanto você utiliza a ide do Arduino. Eu consegui programar direto de forma nativa, mas como só
trabalhei com ele a 3 dias, não tenho muita informação para fornecer, mas já adianto que é muito melhor do
que a ide do Arduino, se alguém tiver informações a respeito ficarei grato em aceitar o compartilhamento.