Dicas rápidas com Sming no ESP8266

Pessoal, me perdoem por ter diminuido a freqüência dos artigos nessas últimas duas semanas. Prometo que a partir da semana que vem teremos belos e novos artigos divertidíssimos com sensores e controladores. A razão desse atraso nos artigos é justamente um dos projetos que peguei que acabei passando por essa dificuldade com o Sming, pois apesar de ser C++, tem características próprias. Devido a isso, vou deixar aqui algumas dicas sobre os pontos que me tomaram muitas horas.

Sobre o Sming

Nos 4 artigos anteriores você terá toda a informação necessária para compilar seu firmware para o ESP8266, seja ele qual for. Recomendo fortemente a utilização do Sming, sendo que uma das vantagens que você encontra nele é a possibilidade de utilizar o NetBeans como IDE, evitando assim a utilização da IDE do Arduino. Outra vantagem é o auto-complete para comandos, documentação e debug.

Escrever arquivos no Sming





Não é muito prático e tive problemas para escrever e ler um único byte em arquivo. Utilizei todos os métodos possíveis, mas a grande questão estava mesmo era na leitura. Para depurar, logo que escrevi o arquivo já fiz sua leitura, e para isso utilizei a função fileSeek(). Então consegui perceber que realmente o arquivo estava recebendo o respectivo conteúdo, por isso passei a utilizar essa função também no momento da leitura do arquivo em outro ponto. Para escrever com um pseudo debug, utilizei o seguinte código, devidamente comentado:

Interessante o bastante pra você? Eu passei uns 3 dias só lidando com as funcionalidades relacionadas ao controle de leitura e escrita de arquivos porque não encontrei uma explicação ou documentação clara o suficiente para executar diretamente, por isso acho válido dizer que essas dicas de hoje são preciosas tanto para mim quanto para você, caso pretenda utilizar Sming.

Ler arquivos no Sming

Uma leitura direta não estava dando certo. Também foi necessário posicionar o cursor no arquivo e definir a leitura em detalhes. O código para a leitura ficou desse jeito:

Você deve ter reparado nos códigos de erro. Esse foi outro problema que tive, porque não entendia o que significavam e não encontrei esses códigos de erro na documentação, então procurei no framework do Sming e os encontrei no arquivo spiffs.h. Lá tem os defines de todos os códigos de erro e assim fica fácil entender o que está acontecendo.

Listar arquivos no sistema de arquivos spiffs

A primeira coisa que você deve ter em mente é que o sistema de arquivos fica em “/flash”. Segunda coisa que você deve ter em mente é que o sistema de arquivos precisa ser montado de forma semelhante ao que é feito no Linux, utilzando a função “spiffs_mount()” dentro da função init(). Para listar os arquivos, fiz essa função:

Ela devolve o nome do arquivo seguido pelo seu tamanho em Bytes. Repare que a função fileList() retorna um vetor de String, que seria algo como uma lista em Python ou um StringList em Qt.

Configuração do WiFi

Quando você inicia o sistema pela primeira vez, uma configuração se faz necessária; habilitar o modo station, desabilitar o modo access point etc. Para resolver essa questão de forma transparente, fiz a função de controle do WiFi:

Esse programa é o controlador do kegerator que estou trabalhando nele e tão logo esteja funcional, disponibilizo video e um novo artigo a respeito.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do bit Ao Byte – https://www.facebook.com/groups/dobitaobyte/

Projetos Arduino e Eletrônica – https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 BR – https://www.facebook.com/groups/ESP8266BR/

Próximo post a caminho!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Um comentário em “Dicas rápidas com Sming no ESP8266

Comentários estão encerrados.