vak: (Улыбка)
[personal profile] vak
esp-12e-side-view

Плата называется ESP12E Devkit, или NodeMCU. Мне она досталась за $10 с сайта ICStation. Построена она основе модуля ESP8266 и проекта eLua. Поддерживает интерфейсы Wi-Fi, GPIO, PWM, UART, SPI, I2C, PWM, 1-wire, ADC, таймеры, имеет файловую систему. Документация и исходники прошивки находятся здесь: https://github.com/nodemcu/nodemcu-firmware

esp-12e

Принципиальная схема: https://github.com/nodemcu/nodemcu-devkit-v1.0/raw/master/NODEMCU_DEVKIT_V1.0.PDF



Плата подсоединяется к компьютеру кабелем microUSB и распознаётся как виртуальный последовательный порт. В Линуксе её видно как:
    $ lsusb
    Bus 007 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

Подключаемся через эмулятор терминала на скорости 9600:
    NodeMCU 0.9.6 build 20150627  powered by Lua 5.1.4

    ESP8266 Started
    Start soft AP
    > _

По бейсиковой традиции, пробуем таблицу квадратов и кубов:
    > for i=2, 10 do
    >> print(i, i*i, i*i*i)
    >> end
    2       4       8
    3       9       27
    4       16      64
    5       25      125
    6       36      216
    7       49      343
    8       64      512
    9       81      729
    10      100     1000
    > _

На логической ножке 0 (сигнал GPIO16) находится светодиод. Пробуем помигать:
    > gpio.mode(0, gpio.OUTPUT)
    > while true do
    >> gpio.write(0, gpio.HIGH)
    >> tmr.delay(500000)
    >> gpio.write(0, gpio.LOW)
    >> tmr.delay(500000)
    >> end

Кучу других примеров смотрите на сайте проекта NodeMCU.

К сожалению, это не MIPS. Это другой 32-битный RISC процессор, называется Tensilica Xtensa LX106. Был бы MIPS, цены бы ему не было. :)

Date: 2015-07-17 13:55 (UTC)
From: [identity profile] qvb.livejournal.com
А, тогда понятно.

Только нативный модуль ESP8266 можно купить и за $3, правда там не все пины разведены. А FTDI обычно удобней внешний использовать - его можно использовать при отладке и загрузке кода, а потом отключить.

Date: 2015-07-17 14:04 (UTC)
From: [identity profile] ikaktys.livejournal.com
в ESP-03 - все разведены, стоит он $22 за 10 штук, тут просто удобно сделали, а ля ардуина, когда надо 100500 раз отлаживать

Date: 2015-07-18 00:49 (UTC)
From: [identity profile] qvb.livejournal.com
Ну почему же - нативный ESP8266 поддерживает точно такой же софт. И насколько я понимаю в нативный модуль можно загрузить разный фирмварь, в том числе и с Lua если кому-то требуется.

Но нативный ESP8266 модуль можно еще подключить к отдельному MCU, а там уже может быть гораздо более мощный процессор, тот же АРМ и т.п.

Date: 2015-07-18 14:34 (UTC)
From: [identity profile] qvb.livejournal.com
А это как раз хороший пример почему стандартные MCU и языки гораздо удобней.

Полноценный контроллер для управления поливом (с расписаниями, многоканальный, с нормальным веб интерфейсом и т.п.) - достаточно сложная штука, сложная именно в смысле софта.

Хорошо то что такой софт уже есть - OpenSprinkler, Sprinkler_pi и т.п., но этот софт написан на С++ и годится для стандартных MCU (вроде АтМел или АРМ), а для ESP8266 придется писать все сначала.

Date: 2015-07-24 15:03 (UTC)
From: [identity profile] qvb.livejournal.com
Обычно все новые MCU начинают с имплементации поддержки C/C++ и т.п., что и позволяет им использовать существующий софт с минимальными усилиями. А лет языку C уже очень-очень много. Собственно, он появился еще до появления микропроцессоров:-)

Я уже не говорю о том что новые процессоры как правило поддерживают совместимость с предыдущими поколениями. Те же процессоры АРМ, x86 и т.п.

В конечном итоге софт - гораздо более долговременная штука чем конкретные процессоры. Софт конечно тоже развивается - появляются новые языки, пишется новый софт, но совместимость очень важна.