×

ARDUINO

Control d’accés amb contrasenya. Orgue de llums. Comparativa de editors Arduino. Projecte bon Nadal. Sensor de gas i de fums. Control de la qualitat del aire interior (CO2) amb semàfor LED.

NodeMCU

NodeMCU-ThingSpeak. ThingSpeak. NodeMCU com AccessPoint. Control de la llum de casa per web. Control de un led per el mòbil. Sistema de fitxers en ESP8266. Altura del nivell d'aigua. Avis d’alarma a Telegram. Control de la llum de casa des de Telegram. Control de la intensitat de llum de un LED per Internet. Magatzematge de temperatura i humitat en Thinger. Publicar temperatura i humitat en Google Sheets. ESP8266 i Firebase. ESP8266-BME280 Firebase. La bàscula. ESP8266 NodeMCU amb cèl·lula de càrrega..

ESP32

ESP32-CAM, exemple de prova. Esp32-Cam captura fotos per ser vistes en la WEB. Pujar fotos a un servidor FTP amb ESP32-CAM. Foto amb ESP32-CAM i Telegram. Alarma amb avis a Telegram, utilitzant la placa ESP32-CAM.

PROGRAMACIÓ

Matemàtiques. App Inventor tutorial. MicroPython en ESP8266. Visual Estudio Code per Arduino

Intel·ligència artificial

Classificador d’imatges.

SERVIDORS

Instal·lar i configurar Apache en Ubuntu. Accés a un servidor Linux remotament. Client i Servidor FTP.

MÀQUINES VIRTUALS

Màquina virtual UBUNTU. WindowsXP en Virtualbox.

ELECTRÒNICA

Simulador Multisim. Simulador Proteus.

BASE DE DADES

MySQL. Instal·lació. MySQL. Aplicacions.

JAVA

Netbeans Maven MySQL. Java+Netbeans+Maven+EclipseLink+MySQL Aplicació d’escriptori JavaFX App JavaFX amb SceneBuilder App Java-Swing
favicon
logo

Tresavis

Benvinguts al blog de tresavis de noves tecnologies i més.

Correu : tresavis3@gmail.com

facebook   Instagram   youtube   x   tiktok

☰ Pràctiques   ☰ Articles

Descripció:

El microcontrolador ESP8266 conté SPIFFS, Serial Peripheral Interface Flsh File System . SPIFFS es un sistema de fitxers lleuger en el chip de la memòria flash que incorpora el ESP8266. Per carregar els fitxers a la memòria flash es fa servir un plugin per el IDE de Arduino. Per desenvolupar aquesta practica seguim el article de embedgyan.

spiffs

Introducció a SPIFFS.

SPIFFS dona accés als fitxers de la memòria flash de la mateixa manera que ho fem en el nostre ordinador, però mes simple i mes limitat. Es pot llegir, escriure, eliminar fitxers. No suporta directoris, tots els fitxers tenen que estar en el mateix nivell, en la carpeta data.

Utilitats de SPIFFS amb la placa ESP8266:

Guardar dades permanents en la memòria flash.

Guardar fitxers HTML i CSS per crear un servidor WEB.

Guardar imatges, icones i logos. Mirar el exemple

Guardar dades de sensors, etc.

Fins ara en els projectes de servidors WEB, hem escrit el codi HTML com un String en el mateix codi del sketch de Arduino. SPIFFS permet escriure en fitxers apart el codi HTML i carregar-lo en el sistema de fitxers del ESP8266.

Instal·lació del carregador del sistema de fitxers per Arduino:

Pas 1:

Descarregar ESP8266FS-X.zip de https://github.com/esp8266/arduino-esp8266fs-plugin/releases

spiffs3

Pas 2:

En el directori de Arduino IDE, obrir el directori tools i si no existeix, el creem de nou. La estructura en el meu cas es:

spiffs3

Pas 3:

Descomprimim el .zip a dins de la carpeta tools, quedant de la següent manera:

C:\Users\Usuari\Documents\Arduino\tools\ESP8266FS\tool\esp8266fs.jar

Pas 4:

Reiniciar el IDE de Arduino.

Pas 5:

Comprovació de que el plugin s’ha instal·lat correctament. En el IDE, seleccionar la placa ESP8266 i en el menú en eines (Tools) mirar si tenim la opció “ESP8266 Sketch Data Upload“.

spiffs4

Carregar un fitxer a la placa.

Pas 1:

Crear un sketch de Arduino i guardar-lo. Per els nostres propòsits pot ser un sketch buit.

Pas 2:

Obrir el directori del sketch, tan el directori contenidor com el sketch tenen que tenir el mateix nom. Anem al menú del IDE obrim Esbós (Sketch) i seleccionem en “Mostra la carpeta del Sketch”.

spiffs5

Pas 3:

Crear la carpeta “data” a dins de la carpeta del Sketch.

spiffs6

Pas 4:

A dins de la carpeta data, posem el nostre fitxer que volem carregar en el ESP8266. El guardem com exemple.txt.

spiffs7

Pas 5:

En el menú Eines del IDE, seleccionem la grandària de la memòria del SPIFFS, depenent del pes dels nostres fitxers que volem carregar.

spiffs8

Pas 6:

Per carregar el fitxer nomes es té que anar al menú Esbós i ESP8266 Sketch Data Upload.

spiffs9

Pas 7:

Testejar el resultat.

Per comprovar si el fitxer s’ha guardat en el SP8266 el llegim i també escrivim al final del fitxer, des del Sketch. Carregem el següent codi a la placa.

Codi.

spiffsExemple.ino
            
             
//Demo de SPIFFS en mode lectura i escritura
#include "FS.h"
 
void setup() {
  Serial.begin(115200);
  
  if(!SPIFFS.begin()){
    Serial.println("Error al muntar SPIFFS");
    return;
  }
  
  File fitxer = SPIFFS.open("/exemple.txt", "r");
  if(!fitxer){
    Serial.println("Ha fallat obrir el fitxer");
    return;
  }
  
  // lectura del fitxer
  Serial.println();
  Serial.println("Llegim el contingut del fitxer:");
  while(fitxer.available()){
    Serial.write(fitxer.read());
  }
  fitxer.close();
  
  // escritura, afegim al final del fitxer i tambe el llegim
  Serial.println("Escritura en el fitxer, des de el codi:");
  fitxer = SPIFFS.open("/exemple.txt", "a+");
  fitxer.println("Hola que tal, soc jo, escribin en el Sketch... ");
  while(fitxer.available()){
    Serial.write(fitxer.read());
  }
  fitxer.close();
}
 
void loop() {

}

            
        

Documentació de la llibreria FS.h.

La podem trobar en https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html

Els mètodes mes importants de la classe SPIFFS son:

SPIFFS.begin() // munta el sistema de fitxers

SPIFFS.end() // desmunta

File SPIFFS.open(fitxer, mode) // el mode pot ser “r”, “w”, “a”, “r+”, “w+”, “a+”.

r : obre el fitxer per llegir, el punter es posiciona al principi del fitxer.

r+ : obre el fitxer per llegir i escriure, el punter es posiciona al principi del fitxer.

w : borra el fitxer o en crea un de nou per escriure, el punter es posiciona al principi del fitxer.

w+ : obre el fitxer per escriure, si no existeix es crea de nou, si existeix s’esborra, el punter es posiciona al principi del fitxer.

a : obre per escriure i afegir al final del fitxer, si no existeix es crea de nou, el punter es posiciona al final del fitxer.

a+ : obre per llegir i escriure afegint al final del fitxer, si no existeix es crea de nou.

El mètode retorna el fitxer.

            
File fitxer = SPIFFS.open("/fitxer.txt", "w");
  if (!fitxer) {
      Serial.println("el fitxer no s’ha obert");
  }
            
        

SPIFFS.exists(fitxer) // retorna true si existeix altrament false.

SPIFFS.remove(fitxer) // borra el fitxer, retorna true si ha estat exitós.

SPIFFS.rename(fitxerVell,fitxerNou) // canvia el nom.

Resultat final.

Després de carregar el codi, obrim el Monitor Serial a 115200 Baudis, pugem el fitxer exemple.txt a la memòria flash de la placa clicant en Eines / ESP8266 Sketch Data Upload. Quan premem el botó RST de la placa es te que mostrar el contingut del fitxer ejemple.txt

spiffs10

Contingut.


Nosaltres

Els nostres jocs.

Imatges gràcies a IngenieriaInfinita.

jocs
jocs
jocs
jocs
jocs
jocs
jocs
jocs
jocs

Tags

Noves tecnologies WEB Arduino Domótica MycroPython NodeMCU IoT Java ESP8266 Lora C++ Programació Server-Client