Как записать/прочитать данные на SD card (карту памяти) micropython esp8266
Всем привет.
У меня есть esp8266mod nodemcu. С прошивкой Micropython esp8266-20191220-v1.12.
Я хочу сохранять данные с датчика на SDкарту (это ж проще всего, подумал я).
Поползав по интернету, я нашел видео MicroPython Hardware: SD Card Storage with Tony D! @micropython в котором Тони Работает с SD картой именно на ESP8266. Однако у меня нет красивого адаптера. Что делать? Возьми паяльник и сделай некрасивый, ответил мне гугл. Припаяв провода к SDcard-microSDcard адаптеру я столкнулся с вопросом. На какие пины подключать карту. Вспомнив добрым словом китайцев (и не найдя толком информации) Я решил что подключу на "правую сторону" D5 D6 D7.
Дальше я скачал sdcard.py Загрузил его на ESP. И запустил код из примера
#Example usage on ESP8266:
import machine, sdcard, os
sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15))
os.mount(sd, '/sd')
os.listdir('/')
на что репл ответил мне
Traceback (most recent call last):
File "<stdin>", line 6, in <module>
OSError: [Errno 19] ENODEV
Буду делать как Тони, подумал я и... путём, прямо таки, научного тыка я нашел вариант, который не выдает ошибку.
import machine, sdcard, os
sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15))
os.umount('/')
vfs = os.VfsFat(sd)
Ура, подумал я и радостно ввел os.listdir().
>>> os.listdir()
[]
Ответил мне Mu. Думаю ESPlorer ответил бы также. Приступимс. Радости моей не было предела...
>>> f = open('text.txt', 'w')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 1] EPERM
>>>
Полагаю, что я где-то что-то прослушал или упустил. В основном потому что мой английский не так хорош, как хотелось бы. Прочитав руководство с сайта Адафрут, я дошел до той же точки и того же результата. Карта (Toshiba m203 16Gb) отформатирована в FAT32.
Да. Пробовал закинуть текстовый файл на карту, listdir его тоже не видит.
Может где-то есть инструкции или примеры кода, желательно и с чтением и с записью.