ESP8266 Armazenando dados na EEPROM - IeC15

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024
  • НаукаНаука

Комментарии • 67

  • @robertoalvespacheco4994
    @robertoalvespacheco4994 8 месяцев назад

    Aula sensacional! Já elaborou um pacotão como todos os tipos de dados que podemos gravar na EEPROM. Top!

  • @robertomagri5187
    @robertomagri5187 4 года назад +3

    Essa aula explodiu minha cabeça... Ótimo conteúdo, obrigado professor.

    • @InterneteCoisas
      @InterneteCoisas  4 года назад

      Olá Roberto,
      Obrigado! Dê uma olhada no vídeo #103, ESP32 ESP8266 Armazenando Configuração com JSON e SPIFFS, creio que vai te ajudar bastante.
      Abraço!

  • @carlossampaio3019
    @carlossampaio3019 6 лет назад +2

    Excelente conteúdo! Agradeço por compartilhar.

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +2

      Olá Carlos!
      Obrigado, continue acompanhando o Canal e enviando seus comentários.
      Abraço!

  • @bernardoafonseca9032
    @bernardoafonseca9032 4 года назад

    Olá André, excelente tutorial. Parabéns pela didática.

  • @marcus8619
    @marcus8619 2 года назад

    Top. Obrigado

  • @PauloAbreu
    @PauloAbreu 6 лет назад +1

    Muito bom! Obrigado por compartilhar esse conhecimento!

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +1

      Obrigado Paulo! Continue acompanhando o Canal e enviando seus comentários!
      Abraço.

  • @caspardine
    @caspardine 3 года назад

    Muito bom cara!! me ajudou de maneira absurda!!

    • @InterneteCoisas
      @InterneteCoisas  3 года назад

      Olá Caspardine,
      Que ótimo! Explore todo o conteúdo do Canal, tem muito conteúdo interessante.
      Abraço!

  • @marcelomirandasilva
    @marcelomirandasilva 6 лет назад +1

    Gostei bastante, parabéns!

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад

      Obrigado Marcelo! Continue prestigiando o Canal e enviando seus comentários.
      Abraço!

  • @andrefeliciano3813
    @andrefeliciano3813 6 лет назад +1

    Muito show !!

  • @growmestre225
    @growmestre225 6 лет назад +2

    Excelente vídeo!!! Obrigado pela contribuição. Gostaria de salvar um token do blynk junto com os dados da rede e senha (wifi manager). Este método via EEPROM seria o adequado para a sequencia de caracteres do token? obrigado!

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +2

      Olá Grow Mestre,
      Obrigado pelo comentário!
      Pode salvar o token na EEPROM sim, basta adequar o tamanho da estrutura para comportar o tamanho máximo do token, você pode armazenar quantos campos e de quais tipos quiser, desde que sejam mapeados corretamente com os tamanhos na estrutura.
      Abraço!

  • @cicerobarbosa5889
    @cicerobarbosa5889 2 года назад

    Achei q fosse difícil de ada pitar o código no meu projeto , mas não foi difícil, ler controle de portão e gravar na memoria do esp8266, para usar qualquer controle e também o aplicativo para ligar e desligar lâmpada, obr. Por compartilhar .

    • @InterneteCoisas
      @InterneteCoisas  2 года назад

      Olá Cícero,
      Que ótimo, sucesso com seu projeto!
      Abraço!

  • @fabiano_bim
    @fabiano_bim 5 лет назад

    ótimo aula eu estava a muito tempo querendo aprender exactamente isso :)
    a sua explicação e muito boa, me ajudou muito.
    um dos projecto que estou montando, uso o modulo RFID RC522 e gostaria de saber se é possível salvar as novas Tags na EEPROM do ESP. no exemplo que encontrei salva em um SD CARD

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +1

      Olá Fabiano,
      Obrigado pelo Comentário, continue acompanhando o Canal!
      Abraço!

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +1

      Sobre a gravação das TAGs, sugiro utilizar a SPIFFS, ela permite um acesso mais simplificado e com mais recursos do que a EEPROM.
      Por exemplo, podes criar um arquivo para registrar as TAGs.
      Segue link do vídeo:
      ruclips.net/video/Yeq0gI88IrM/видео.html
      Abraço!

    • @fabiano_bim
      @fabiano_bim 5 лет назад

      @@InterneteCoisas muito obrigado

  • @marcelo745
    @marcelo745 6 лет назад +1

    Muito bom o vídeo, conheci seu canal por estes dias.
    Gostaria de saber se tem alguma forma de utilizar os dados em txt da aula passada como leitura hex.
    O caso seria pegar endereço MAC de outros esp's e salvar em texto, para se caso seja necessário uma substituição não seja necessario gravar um por um e sim só fazer upload do arquivo txt, achei algo sobre toint() só que não achei videos ainda sobre o assunto.

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +2

      Marcelo, não entendi muito bem sua necessidade, mas para obter facilmente o MAC do ESP8266 basta usar a função WiFi.macAddress(), que já retorna uma String. Assim, podes trabalhar com essas Strings, concatenando-as em um TXT que pode ser armazenado diretamente no SPIFFS.
      Abraço.

    • @marcelo745
      @marcelo745 6 лет назад +1

      depois que salvar as Strings no arquivo TXT, tem como eu recuperar e colocar em uma variável?

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +2

      Sim! Veja o vídeo sobre SPIFFS:
      ruclips.net/video/Yeq0gI88IrM/видео.html
      Para ler o conteúdo do arquivo direto para uma variável String, podes utilizar, por exemplo, file.readString(). Lembre que o tipo "file" é um Stream, assim como a porta Serial, e assim podemos usar todos os métodos compatíveis.
      Mais detalhes sobre a classe Stream na documentação do Arduino:
      www.arduino.cc/reference/en/language/functions/communication/stream/

    • @marcelo745
      @marcelo745 6 лет назад +1

      vlw ^^

  • @AlessandroFernandesdePinho
    @AlessandroFernandesdePinho 6 лет назад +1

    LEGAL

  • @danielnitens5219
    @danielnitens5219 5 лет назад +1

    Adorei o vídeo, mas como grava variáveis de tipo char na EEPROM?

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +3

      Olá Daniel,
      Pense na variável char como uma string, porém, você precisa indicar o tamanho, pois o armazenamento do char não indica isso.
      Assim, analise as funções de leitura e gravação de String, elas vão te auxiliar.
      Ou, mais simples ainda, converta seu char para String e use a função existente.
      Ah, e se você se refere a uma variável char de apenas uma posição, considere-a um byte, ou seja, um Int8 e use as funções já apresentadas também.
      Abraço!

  • @cristianosoares2574
    @cristianosoares2574 5 лет назад +1

    Gostaria de saber se tem como eu salvar informações de um sensor que conta pessoas pela EEPROM (de forma local storage/offline) e depois de um tempo, recolher essas informações e enviar para um banco... Eu já tenho esse sketch funcionando, toda a parte de enviar pro banco e contar pessoas, só que eu queria fazer com que o esp guardasse essa informação por meia hora e depois enviasse para o servidor

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +1

      Olá Cristiano,
      Via EEPROM você até pode salvar dados, mas o espaço é muito limitado.
      A solução ideal é usar a estrutura de arquivos do ESP8266, ou seja, a SPIFFS, veja o vídeo abaixo onde explico no detalhe como utilizar esse recurso:
      ruclips.net/video/Yeq0gI88IrM/видео.html
      Continue nos acompanhando e enviando seus comentários!
      Abraço!

  • @guilhermeflorencio1333
    @guilhermeflorencio1333 2 года назад

    Uma coisa que notei é que acho que a linha 50 está errada, 10:25, deveria ser "return int8_t(EEPROM.read(offset));" e não return int8(EEPROM.read(offset));
    Mas não tenho certeza, não testei ainda.

    • @InterneteCoisas
      @InterneteCoisas  2 года назад +1

      Olá Guilherme,
      O Sketch para download está com essa linha ajustada, embora não seja um erro, pois a função equivale ao typecast utilizado.
      Abraço!

  • @guimaraesdms4460
    @guimaraesdms4460 3 года назад

    Boa Tarde André, sua explicação foi muito útil sobre o uso da EEPROM simulada. Estou tendo problemas na compilação da parte de data e hora, parece que a biblioteca TimeLib que tenho instalada não é compatível com a sua sintaxe.
    Colocando toda a parte de transformação da data como comentário, o programa compila e roda, já ele normal, dá erro em todas as linhas com comandos day(t), month(t) e etc...
    ERRO: \IeC15-EEPROM/IeC15-EEPROM.ino:156: undefined reference to `day(long)' .
    Pode me ajudar, onde encontro a biblioteca TimeLib.h correta ? Obrigado

    • @InterneteCoisas
      @InterneteCoisas  3 года назад

      Olá Guimaraes,
      A Biblioteca Time é a criada por Michael Margolis, atualmente na versão 1.6.0, pesquise na tela de gerenciamento de bibliotecas da IDE Arduino por "time" para localiza-la.
      Abraço!

  • @newspapergames140
    @newspapergames140 5 лет назад

    Ola André, sempre assisto seu videos e tem me ajudado bastante. Eu estou
    fazendo um projeto de tcc e esbarrei em um problema, estou criando um
    sistema que ja está ocupando a memoria do esp32 quase toda, e eu tenho
    mais um modulo do sistema para poder gravar na memoria, porem não tem
    espaço para isso. Gostaria de saber se existe alguma maneira de aumentar
    os 4 mb do esp32 para que eu possa finalizar meu projeto. Desde já
    agradeço. Atenciosamente Marcos Paulo.

  • @marcio281
    @marcio281 4 года назад

    00:11:50 Sobre caga de tipos. Existe também a sobrecarga de método ; )

    • @InterneteCoisas
      @InterneteCoisas  4 года назад +1

      Olá Márcio,
      Sim, essas possibilidades entram nos conceitos da Orientação a Objetos, como Polimorfismo e Acoplamento. No sentido prático demonstrado no vídeo, é a possibilidade de manter o mesmo nome para funções com diferentes parâmetros.
      Se você quiser se aprofundar no assunto sugiro assistir aos vídeos sobre Orientação a Objetos com C++, que apresentam no detalhe os conceitos teóricos e práticos da OO.
      Parte I: ruclips.net/video/Zmx00SCSnP8/видео.html
      Parte II: ruclips.net/video/Lwdtn8-y9Iw/видео.html
      Abraço!

  • @valdirturquettes8715
    @valdirturquettes8715 5 лет назад

    Bom dia,
    Venho agradecer pelos retornos Andre.
    Eu gostaria de perguntas se podemos usar o Wemos, D1 mini no lugar do ESP 01 ou 201

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +1

      Olá Valdir,
      O Wemos utiliza o ESP8266EX; basicamente, equivale a um ESP8266 NodeMCU, em um corpo de Arduino Uno.
      Considerando as diferenças de pinagem inerentes à placa, você pode usar sim o Wemos em praticamente todos os exemplos de ESP8266 apresentados no Canal.
      Abraço!

    • @valdirturquettes8715
      @valdirturquettes8715 5 лет назад +1

      @@InterneteCoisas , Retornando ao seu comentário, e reforçar os agradecimentos, pelas excelentes aulas de IOT, entre todas as outras do seu canal, vamos lá as pinagens são diferentes: mas podemos substituir em números semelhante, ex: D4 do Node MCU pelo D4 do Wemos.

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +1

      Valdir,
      Infelizmente não tenho a placa Wemos para te detalhar com certeza, mas procure documentação a respeito, a equivalência deve ser semelhante.
      Abraço!

  • @merljak
    @merljak 6 лет назад +1

    Muito legal esse tópico esclareceu um monte de duvidas quanto ao EPROM porem fiquei com uma duvida Como definir esses 2 momentos em runtime? O do sketch ok e o procedimento normal rodando no loop mas como fazer o usuário setar esses valores durante runtime? teria uma aplicação aparte a ser rodada ?

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад

      Olá Cristiano,
      Não entendi muito bem sua dúvida. A quais dois momentos você se refere?
      Quanto ao Usuário, podes utilizar por exemplo uma interface web gerada pelo ESP8266, onde são enviados parâmetros que são gravados na EEPROM.
      A luminosidade de um LED, o tempo para ativar um relé, a temperatura para disparo de uma ventoinha, tudo enviado a partir de uma página HTML, a EEPROM é ideal para guardar parâmetros da sua aplicação.
      Continue acompanhando o Canal!
      Abraço!

    • @merljak
      @merljak 6 лет назад +1

      Olá obrigado por responder tão prontamente, "Deixa eu melhorar a minha pergunta(ou piorar mais ainda heheheh)", como interagir as configurações "setadas" no EPROM com o que vai rodar no loop ? Eu devo ter uma aplicação apartada para poder fazer o usuário gravar lá esses valores ou isso roda no loop principal da aplicação e esses parâmetros são checados a cada iteração do loop principal? ( acredito que não seja esse modo) No exemplo que vc mostrou os parâmetros ja foram gravados nas constantes na edição do sketch mas numa situação real o usuário é que faria o input desses valores durante a execução do sketch

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад

      Cristiano,
      As funções apresentadas, tanto as "get" como as "set", podem ser executadas em qualquer local do Sketch. A única ressalva é que você chame "EEPROM.begin" no início para popular a estrutura na memória RAM e "EEPROM.commit" para gravar efetivamente na EEPROM.
      Você pode, por exemplo, criar uma aplicação de servidor web com o ESP8266, o que disponibilizaria uma página onde o Usuário pode enviar algum parâmetro, como os que exemplifiquei antes, através de um formulário HTML. Ao receber esses dados, o programa grava os dados na EEPROM.
      Da mesma forma, ao iniciar, no Setup, leria os dados previamente gravados na EEPROM para parametrizar seu funcionamento.
      Futuramente, podemos fazer um vídeo com um cenário semelhante.
      Obrigado por nos acompanhar e enviar seus comentários!
      Abraço.

    • @merljak
      @merljak 6 лет назад +1

      Obrigado

  • @paulotonhao
    @paulotonhao Год назад

    Bom dia, no caso da string eu preciso armazenar 3 string que vai vim da internet(aplicativo app inventor) esta parte já está certo, eu consigo com esse seu código salvar 3 strings? obrigado

  • @CARRY_ON1909
    @CARRY_ON1909 6 лет назад +1

    professor não só comecei a seguir por aqui,como mandei um convite, por se maravilhar, o professor teria alguns videos de sensores, de presença, de fechadura ?

    • @InterneteCoisas
      @InterneteCoisas  6 лет назад +1

      Olá Wagner!
      Sugestão anotada, sensor de presença (PIR) já incluído na fila para a Serie Sensores.
      Abraço!

  • @JonasDiferencial
    @JonasDiferencial 5 лет назад

    Não observei ninguem perguntando eu pergunto. Se é uma simulação pra qualidade de dados do esp8266 melhor usar o spiff? Eu estou com um problema, desenvolvi um projeto com esp8266 com uma fonte hi link, uso no projeto tanto a eprom quanto spiff. Quando cai o djuntor ele zera a eprom e permanece o spiff...

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +2

      Olá Jonas,
      Utilizar a SPIFFS normalmente tem muito mais vantagens do que a EEPROM, ao menos que você queira armazenar uns poucos bytes de configuração.
      Se está perdendo os dados gravados na EEPROM, deve estar faltando efetivar a gravação com a função EEPROM.commit(). Faça o download do exemplo apresentado no vídeo e analise.
      Abraço!

  • @guilhermeflorencio1333
    @guilhermeflorencio1333 2 года назад

    Excelente aula, mas o download não está funcionando. De qualquer forma da pra replicar, vai demorar, mas dá kkk.

    • @InterneteCoisas
      @InterneteCoisas  2 года назад +1

      Olá Guilherme,
      Alguns navegadores bloqueiam o download sem o uso de HTTPS, o link foi ajustado e agora está disponível.
      Abraço!

    • @guilhermeflorencio1333
      @guilhermeflorencio1333 2 года назад

      @@InterneteCoisas Muito Obrigado pela ajuda.

  • @luizcarloslamarca3299
    @luizcarloslamarca3299 5 лет назад

    Será que tu ainda trabalha com eletrônica. Eu gravei nesta memória Flash do esp8266 um arquivo de configuração da gravadora de memória Flash e agora não consigo desgravar, para eu poder usar com o Arduino. Obrigado!

    • @InterneteCoisas
      @InterneteCoisas  5 лет назад +3

      Olá Luiz, Como explicado no vídeo, a "EEPROM" do ESP8266 é na verdade uma simulação que usa uma parte da memória Flash.
      Se está tendo problemas com lixo na flash, sugiro gravar qualquer novo sketch com a opção "Erase Flash", no menu Ferramentas da IDE Arduino, definida para "All flash contents". Isso vai limpar qualquer dado residual.
      Abraço!

    • @fernandocellare9893
      @fernandocellare9893 3 года назад

      @@InterneteCoisas isso pode me ajudar! Vou tentar, eu gravei o firmware da tasmota em vários ESP's que eu tenho, e em alguns que eu estava "brincando" acabei colocando senha no acesso web e não estava conseguindo apagar. Obrigado, vou tentar e qualquer coisa vou pedir um help no telegram

    • @InterneteCoisas
      @InterneteCoisas  3 года назад

      Olá Fernando!
      Ok, espero que ajude, abraço!

  • @fernandoportela2465
    @fernandoportela2465 3 года назад

    Este conteúdo pode ser usado sem alterações para o ESP32?

    • @InterneteCoisas
      @InterneteCoisas  3 года назад +1

      Olá Fernando,
      Sim, pode utilizar o sketch diretamente no ESP32.
      Abraço!

    • @fernandoportela2465
      @fernandoportela2465 3 года назад

      @@InterneteCoisas Excelente este tutorial. Parabéns e muito obrigado.