• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Как записать значение EEPROM micropython

Space

New member
Хочу сделать для себя небольшой проект, на плате wemos d1 mini esp8266.
Нужно как то внести в память EEPROM значение (в моем случае температуру двумя кнопками),
а когда пропадет питание и потом появится микроконтроллер сам прочитал то значение которое сохранилось.
Помогите пожалуйста!
 

fps

Active member
Просто открываете файл на запись и пишете туда.
А потом читаете.
Работаете как в обычном питоне. Как с обычной файловой системой.
 

Space

New member
Спасибо. Просто плохо есче питон знаю, начал изучать только ради проекта. Пошел читать дальше.
 

l15ar

Member
перед использованием файловой системы, после установки микропитона, запустить один раз(следующую группу комманд:
import os
os.umount('/')
os.VfsFat.mkfs(bdev)

os.mount(bdev, '/')
это необходимо, для создания файловой системы FAT

Далее, нужно работать с файлом(и), в этой файловой системе. Соответственно, нужно создать файл и записать туда значение(я).
Сообственно делается это просто:
#запись в файл значения переменной value
value = 123
with open("test", "w") as fr:
fr.write(str(value))

---------------
#чтение из файла, в переменную value
with open("test") as fr:
value = int(fr.read())

---------------

Хороший курс по питону - https://stepik.org/course/58852/syllabus
 

l15ar

Member
момент, редактор постов на форуме не поддерживает моноширинный шрифт, поэтому(табы):
py001.png
и забыл - "test" - имя файла внутри скобок
 

l15ar

Member
очень вероятно, вы будете использовать чужие библиотеки на микропитоне из гитхаба.
Например, для того, что бы не изобретать велосипед, быстро начать работу с некоторыми устройствами.
Например, подключить текстовый дисплей по i2c.
Соответственно, все эти библиотеки придется залить на внутреннию файловую систему(FAT).
То место, что осталось для нее в памяти, после заливки микропитона.
:)
 

Space

New member
очень вероятно, вы будете использовать чужие библиотеки на микропитоне из гитхаба.
Например, для того, что бы не изобретать велосипед, быстро начать работу с некоторыми устройствами.
Например, подключить текстовый дисплей по i2c.
Соответственно, все эти библиотеки придется залить на внутреннию файловую систему(FAT).
То место, что осталось для нее в памяти, после заливки микропитона.
:)
Да. есть такое уже использую.
Спасибо что помогаете.
 

l15ar

Member
если нужен будет дробный тип(вещественный), нужно заменить int на float:
value = float(fr.read())

-- сам, только что, начал осваивать микропитон, забавная штука!
 

OLEGKARAS

New member
Код в ардуино , ни чего нет так как пример не могу найти ,uint8_t sensor1[8] = { 0x28, 0xEE, 0xD5, 0x64, 0x1A, 0x16, 0x02, 0xEC };
 

l15ar

Member
Код в ардуино , ни чего нет так как пример не могу найти ,uint8_t sensor1[8] = { 0x28, 0xEE, 0xD5, 0x64, 0x1A, 0x16, 0x02, 0xEC };
С ардуино не знаю, на микропитоне показал бы.. :\ (обсуждение - MicroPython).

https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html
и вообще, ищите всё там! Это ваша настольная книга!
 
Сверху Снизу