Всем привет! Информация не новая, но, думаю, есть и те, кому она будет полезной. Хочу рассказать о способе увеличения памяти в модулях esp8266. Подробности под катом.
Wi-Fi модули
esp8266 благодаря своей дешевизне и маленьким габаритам получили широчайшее распространение, на них собрано множество различных конструкций для домашней автоматизации. А главное, они позволяют загружать прошивки собственных проектов. Меня это очень заинтересовало, для экспериментов купил самый дешевый модуль ESP8266-01 с одним мегабайтом памяти на борту.
Сейчас понимаю, что это не самый лучший выбор, но для ознакомительных целей подойдет.
Модуль имеет следующую распиновку.
Для его подключения собрал макетную плату, питание осуществляется от USB-UART переходника через стабилизатор AS1117 на 3.3в. В спецификации указано, что выводы tx/rx толерантны к 3.3 вольтам, но их зачастую подключают напрямую без согласования уровней. Я же решил использовать level converter, так безопасней и правильней.
CH_PD подключаем через резистор 10К к 3.3В.
RES — подключаем через кнопку на землю.
Также для перехода в режим перепрошивки вывел перемычку с GPIO0 на землю.
Для загрузки прошивок в модуль можно использовать любую из программ
XTCOM_UTIL,
NodeMCU Flasher или
FLASH DOWNLOAD TOOL. Пробовал использовать каждую из программ, но больше всего понравилась FLASH DOWNLOAD TOOL (главное не забыть перевести еспшку в режим обновления). Для этого:
1. Отключаем питание
2. Подключаем gpio0 на землю
3. Подаем питание
4. В программе выбираем нужный com порт, скорость (в моем случае 115200) и путь к прошивке
5. Жмем кнопку загрузки прошивки, а вывод RES кратковременно подключаем к земле, например, через кнопку
6. После загрузки файла отключаем питание, goio0 отключаем от земли. Подаем питание
На ESP8266-01 установлена память 25Q80ASSIG фирмы Winbond Electronics. Это флеш-память с интерфейсом SPI, 8МБит, 1МБ.
Datasheet.
Приступаем к апгрейду.
С помощью фена сдуваем старую микросхему.
Теперь на её место ставим купленную 25Q32FVSIG. Это флеш-память с интерфейсом SPI, 32Мбит, 4МБ.
Datasheet. Несмотря на то, что её корпус чуть больше, она нормально встала на площадки.
Запускаем программу flash download tool, тут видно, что память определилась правильно.
Дальше попробовал загрузить прошивку от
homes-smart, собранную в
конструкторе. Все запустилось без проблем.
Заключение.
Данная микросхема памяти позволяет быстро и очень дешево сделать апгрейд, что существенно расширит ваши возможности в разработке проектов.
В качестве дополнительной информации
Бонус
В бонусе памятник самолету АН-26 — символу северной авиации.
Вот еще бы на планшетах память увеличить…
Иногда это даже рентабельно:
www.ixbt.com/news/2015/11/04/kitajcy-osvoili-hirurgicheskoe-vmeshatelstvo-po-uvelicheniju-vstroennoj-pamjati-smartfonov-apple.html
www.iphones.ru/iNotes/532568
В 21 00 минимум
В 6 утра 3 уровень
В 9 утра 9 уровень
спасибо
aliexpress.com/item/MAX7219-Dot-Matrix-Module-For-Arduino-Microcontroller-4-In-One-Display-with-5P-Line/32620800331.html
Индикаторы любые.
Время и температуру берём из интернета по wifi
Прошивка для матриц платная 100р.
а вот мое поделие)
корпус делал сам.
с аргументами)
зы. это мое первое знакомство с такими штуками)
устройство еще не совсем готово.
думаю через какой разъем вывести датчики.
хотя для первого знакомства это нормально
раньше работал телефонистом у меня как раз десяток rj11 осталось.
но есть такое за 2.97$
aliexpress.com/item/D1-mini-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-by/32663271983.html
Подозреваю, что тут нужно такой же прием применить, ибо сам флэшер этого не сделает. Но в обзоре этого я не видел.
Прошу знающих (ибо строить догадки я и сам горазд) дать комментарий.
Потом создаем в винхексе новый файл размером с новую флешку
Копируем туда сначала u-boot, потом firmware. В самые последние 64к заливаем apt. Потом файл на программаторе льем во флешку.
Есть второй способ, зашить во флешку китайский u-boot, исправив только мак-адрес и модель роутера. Потом из режима восстановления в самом u-boot можно зашить и firmware и apt.
cat /dev/mtd0 > /tmp/fw_mr3020_16M.bin
cat /dev/mtd5 >> /tmp/fw_mr3020_16M.bin
dd if=/dev/zero of=/tmp/fw_mr3020_16M.bin bs=1 count=0 seek=16320K
cat /dev/mtd4 >> /tmp/fw_mr3020_16M.bin