Урок №19. Сохранение данных во внутренней памяти микроконтроллера ESP8266 с помощью языка microPython.

В данном уроке мы рассмотрим возможность сохранять в памяти переменные, и при необходимости доставать их от туда. Так как EEPROM в микроконтроллере ESP8266 отсутствует, но есть FLASH память — в ней и будем сохранять свои значения.

По сути мы будем создавать обычные  *.txt файлы и в них будем записывать наши значения, при этом если не сохранять отдельно предыдущие, они будут перезаписываться новыми.

Для работы с файлами подключим библиотеку:

import os

 
Далее нам необходимо создать новый файл, в котором мы будем хранить наши данные:

file = open («File.txt», «w»)

import os
import time
from machine import Pin
led = Pin(5, Pin.OUT) #GPIO1
button= Pin(14,Pin.IN) #GPIO5
led.off()
k=0

try:
file = open ("File.txt")
t = int(file.read())
print(t)
file.close()
except OSError as e:
file = open ("File.txt", "w")
print(type(file))
file.write("0")
print(file.write("0"))
file.close()

#print(os.listdir())
#os.rename('myTestFile.txt', 'testFile.txt')
print(os.listdir())

while True:
if button.value() == 0:
k = 1
if k == 1 and button.value() == 1:
k = 0
file = open ("File.txt", "w")
if t == 1:
t=0
file.write("0")
else:
t = 1
file.write("1")
file.close()

if t == 1 :
led.on()
else:
led.off()
time.sleep_ms(100)