Programar ESP8266 em C

System-On-Chip com Wi-Fi embutido, para aplicações IoT

Moderadores: 51, guest2003, Renie, gpenga

Programar ESP8266 em C

Mensagempor platec » 09 Jun 2018 08:52

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
platec
Bit
 
Mensagens: 6
Registrado em: 11 Abr 2016 17:42

Re: Programar ESP8266 em C

Mensagempor tcpipchip » 09 Jun 2018 09:04

------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Programar ESP8266 em C

Mensagempor andre_luis » 09 Jun 2018 13:14

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=29

Mas 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.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Programar ESP8266 em C

Mensagempor pamv » 09 Jun 2018 15:00

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
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Programar ESP8266 em C

Mensagempor andre_luis » 09 Jun 2018 15:42

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.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Programar ESP8266 em C

Mensagempor dreher » 09 Jun 2018 18:54

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
dreher
Byte
 
Mensagens: 489
Registrado em: 12 Out 2006 11:10
Localização: Blumenau - SC

Re: Programar ESP8266 em C

Mensagempor pamv » 10 Jun 2018 01:31

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.
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Programar ESP8266 em C

Mensagempor platec » 11 Jun 2018 12:05

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.
platec
Bit
 
Mensagens: 6
Registrado em: 11 Abr 2016 17:42

Re: Programar ESP8266 em C

Mensagempor platec » 11 Jun 2018 12:19

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.
platec
Bit
 
Mensagens: 6
Registrado em: 11 Abr 2016 17:42

Re: Programar ESP8266 em C

Mensagempor andre_luis » 11 Jun 2018 17:36

@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.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Programar ESP8266 em C

Mensagempor mrgadotti » 11 Jun 2018 17:41

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
Avatar do usuário
mrgadotti
Byte
 
Mensagens: 421
Registrado em: 02 Jun 2010 21:14
Localização: Timbó - SC

Re: Programar ESP8266 em C

Mensagempor pamv » 11 Jun 2018 21:09

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.
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Programar ESP8266 em C

Mensagempor Abuda » 12 Jun 2018 06:27

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
Abuda
Byte
 
Mensagens: 214
Registrado em: 04 Mai 2007 09:38
Localização: SP

Re: Programar ESP8266 em C

Mensagempor andre_luis » 12 Jun 2018 08:02

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 ?
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Programar ESP8266 em C

Mensagempor platec » 12 Jun 2018 08:52

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.
platec
Bit
 
Mensagens: 6
Registrado em: 11 Abr 2016 17:42

Próximo

Voltar para ESP8266/ESP32

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x