Доброго всем времени суток. Вчера мне пришел девборд NodeMCU v3 с 4мб флеш памяти от китайского продавана (ссылка будет в конце поста). Предустановленный на данный девборд интерпретатор LUA меня совсем не устраивал и я решил поставить интерпретатор JS Espruino.
Сначала пройдемся немного по характеристикам самого NodeMcu v3.
поддержка WiFi протоколов 802.11 b/g/n
Wi-Fi Direct (P2P), soft-AP
встроенный стек TCP/IP
встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети
встроенный PLL, регуляторы, и система управления питанием
выходная мощность +20.5 дБм в режиме 802.11b
поддержка диверсити антенн
SDIO 2.0, SPI, UART
STBC, 1×1 MIMO, 2×1 MIMO
A-MPDU & A-MSDU aggregation & 0.4μs guard interval
4 мегабайта Flash памяти
пробуждение и отправка пакетов за время до 22 мс
Номинальное напряжение: 3,3 В
Входное напряжение: 3,7–20 В
Максимальный потребляемый ток: 220 мА
Модуль имеет 11 портов ввода-вывода общего назначения.
Некоторые из портов имеют дополнительные функции:
D9, D10 — UART
D1, D2 — I²C/TWI
D5–D8 — SPI
D1–D10 — выходы с ШИМ (PWM)
A0 — аналоговый вход с АЦП
Размеры платы 58х32мм.
А теперь перейдем к черной магии, т.е. к прошивке Espruino.
Для начала нам понадобится установить несколько полезных программ на наш компьютер.
Git - https://git-scm.com/download/win/
Python 2.7 - https://www.python.org/downloads/windows/
При установке Python не забудьте поставить галочку "Add python.exe to PATH"
Поискать свежую прошивку под нашу ESP8266 в ветке форума от юзера с ником tve - http://forum.espruino.com/conversations/279176/ (на данный момент самая свежая это 1v86 прошивка).
Советую положить распакованную папку с прошивкой на рабочий стол и переименовать ее например в espruino.
Подготовительная работа закончена. Начинаем работать с терминалом (при условии что Git и Питон вы уже установили). Все команды для терминала под Windows.
> cd desktop
> git clone https://github.com/pyserial/pyserial
> cd pyserial
> python setup.py install
Этими командами мы перейдем на рабочий стол и клонируем репозиторий pyserial на него. Потом переходим в папку pyserial и запускаем сетап.
> cd ../
> git clone https://github.com/themadinventor/esptool
> cd esptool
> python setup.py install
Качаем esptool на рабочий стол, заходим и запускаем сетап.
Далее заходим в Диспетчер устройств и находим на каком COM порте у нас висит устройство. В моем случае это COM5.
Порт мы узнали значит пришло время прошить девборд.
Заходим в папку с прошивкой из терминала
> cd espruino
И прежде чем шить очистим флеш память устройства от старой прошивки. И затем уже прошить!
> python "../esptool/esptool.py" --port COM5 erase_flash
> python "../esptool/esptool.py" --port COM5 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 boot_v1.5.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
Не забудьте указать свой ком порт для устройства и версию бутлоадера из папки с прошивкой (в данном случае boot_v1.5.bin)!!!
После последней команды консоль будет некоторое время работать (если все правильно конечно) и отвечать примерно следующее:
Connecting...
Erasing flash...
Wrote 3072 bytes at 0x00000000 in 0.3 seconds (79.8 kbit/s)...
Erasing flash...
Wrote 438272 bytes at 0x00001000 in 43.4 seconds (80.7 kbit/s)...
Erasing flash...
Wrote 1024 bytes at 0x003fc000 in 0.1 seconds (83.6 kbit/s)...
Erasing flash...
Wrote 4096 bytes at 0x003fe000 in 0.4 seconds (83.4 kbit/s)...
Leaving...
Если все так то у вас прошит интерпретатор JS! Поздравляю! Можно запилить первый скетч.
Для этого нам понадобится Espruino Web IDE для Хрома - https://chrome.google.com/webstore/detail/espruino-web-ide/b...
Открываем IDE и коннектимся к нашему девборду.
Пишем простенький блинк в правой части IDE.
var on = false;
setInterval(function() {
digitalWrite(D2,on = !on);
}, 500);
И прошиваем все это дело в энергозависимую память.
Если все сделано правильно то светодиод синего цвета на плате будет включаться/выключаться с периодичностью раз в 500мс.
Более подробно ознакомится с интерпретатором можно тут - http://www.espruino.com/Reference
C самим языком и правилами хорошего тона можно познакомиться на старом добром ресурсе - http://javascript.ru/
А купить NodeMCU v3 всего за 2.8$ можно по этой ссылке - http://ru.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-...
Всем удачных компиляций и быстрых доставок с али!
З.Ы. Будет комплект постов про этот девайс и сборку одного подарка на его основе.
Подписывайтесь на "Сообщество Arduino" на Пикабу. Вас ждет масса интересной, полезной и познавательной информации. http://pikabu.ru/community/arduino