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 05:22 (UTC)
From: [identity profile] qvb.livejournal.com
GPIO пинов мало, и процессор какой-то специфический.

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

А если требуются более серьезные ресурсы - то можно применить что-нибудь вроде PSoC 5LP - cypress. com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit

Стоит всего $10, при этом достаточно мощный ARM процессор, 64КБ RAM, большая флэш память, плюс встроенная мини-fpga - можно сконфигурировать достаточно сложную железную схему, в том числе с аналоговыми элементами (!).

Date: 2015-07-17 14:15 (UTC)
From: [identity profile] qvb.livejournal.com
Да, это и есть ESP8266, я сначала думал это какой-то комбинированный модуль.

У сайпреса сейчас есть миниатюрный модуль на 5LP всего за $10, продается прямо на их сайте. Называется "CY8CKIT-059 PSoC® 5LP Prototyping Kit ".

Там самого вайфая нет, но зато очень мощное железо, хороший процессор и т.п., при необходимости к нему можно добавить стандартный модуль ESP8266. Кроме того там есть и SPI, и последовательные порты, и мини-FPGA в которую можно сконфигурировать всякое разное. И все это за червонец.

Date: 2015-07-18 00:46 (UTC)
From: [identity profile] qvb.livejournal.com
Я предпочитаю стандартные процессоры на которых можно гонять стандартный софт. Так чтобы поддерживалось IDE и т.п.

Date: 2015-07-17 13:05 (UTC)
From: [identity profile] ikaktys.livejournal.com
это и есть ESP8266, только добавили няонку - CP2102: USB<->COM
и развели все пины

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 и т.п.

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

Date: 2015-07-17 08:39 (UTC)
From: [identity profile] vladikoms.livejournal.com
А я всё мечтаю о 10 $ MIPS c линуксом на борту. Скорее бы уже...

Date: 2015-07-17 09:36 (UTC)
From: [identity profile] vladikoms.livejournal.com
В теории есть еще Black Swift по предзаказу за 26$ http://www.black-swift.com/shop/product/view/1/2 Но не знаю как там у них идут дела.

Или Carambola 2 за 25$ http://shop.8devices.com/carambola2

В общем пока всё дорого

Date: 2015-07-17 22:31 (UTC)
From: [identity profile] sir66.livejournal.com
VoCore еще есть. Тоже вроде на mips но точно не помню. 19.99 без шилда, но он у нее полностью пассивный - работает и без него от стабилизированных 5в.

Да, Mips

The RT5350 SoC combines Ralink’s IEEE 802.11n draft compliant 1T1R MAC/BBP/PA/RF, a high performance 360 MHz MIPS24KEc CPU core, a 5-port integrated 10/100 Ethernet switch/PHY and a USB
host/device.

Date: 2015-07-24 07:55 (UTC)
From: [identity profile] vladikoms.livejournal.com
Это пока не получится, в будущем всё-равно сделают. Похожую статью встречал у Олега Артамонова http://olegart.livejournal.com/1482699.html . К сожалению, авторов нельзя назвать независимыми экспертами, так как они продвигают собственные linux - MIPS

Date: 2015-07-24 07:26 (UTC)
From: [identity profile] vladikoms.livejournal.com
Видел такие. У них предательски мало flash памяти, всего 4 МБ кажись, ничего путнего не запихнешь.

Date: 2015-07-24 08:44 (UTC)
From: [identity profile] vladikoms.livejournal.com
Отлично! Такую версию ещё не видел, похоже недавно выпустили

Date: 2016-01-05 10:35 (UTC)
From: [identity profile] vladikoms.livejournal.com
Хорошая штуковина, осталось придумать ей применение и можно заказывать :)

Date: 2015-07-17 09:09 (UTC)
From: [identity profile] gineer.livejournal.com
А с 3G такие бывают?

А то смотрю тут на свой "свисток", и что-то он меня напрягает последнее время...
перегревается, а добавить охлаждения нечем
и посмотреть технические параметры/подкрутить тоже нечем... :(

Date: 2015-07-17 09:56 (UTC)
From: [identity profile] b00ter.livejournal.com
На МИПСе вроде http://ru.aliexpress.com/item/WRTnode-Open-Source-and-Mini-OpenWRT-Dev-Board-Linux-Wi-Fi-complete-I-Os-low-power/2027476349.html
Правда, стоит в три раза дороже.

Date: 2015-07-17 19:31 (UTC)
From: [identity profile] b00ter.livejournal.com
Ага. Но с шилдом будет стоить как Карамбола 2.

Date: 2015-07-19 15:04 (UTC)
From: [identity profile] 1801bm1.livejournal.com
Ковыряю сейчас этот ESP8266. Это печалька. Изначально микросхема разрабатывалась как WiFi MAC с интерфейсом SDIO/GSPI. Есть 96К RAM данных и 64К RAM инструкций. Также есть 64К ROM в котором прошита устаревшая версия WiFi стека (называют v5). Стек обновили (до v6), появился 802.11n, расширили список режимов шифрования и ресурсов памяти практически не осталось.

Еще у чипа есть возможность исполняться из памяти SPI, точнее часть IRAM можно "отмапить" и она начинает работать как кеш инструкций, считываемых по 4-битному SPI из внешней микросхемки флеш. Тут-то кетайцам (Espressif) и поперло! Они решили сделать такой себе SDK - WiFi стек упрятывают в объектные библиотеки, пишут свою обертку и разрешают писать сторонние прошивки.

В-общем, сказать что оно глючное - значит вообще ничего не сказать. Ресурсов по свободной памяти с каждым новым SDK (с исправлением ошибок) все меньше и меньше. Описание - кетайское (хотя и на английском) - это все что Вам о нем нужно знать.

Но, небольшую поделку с WiFi (типа выключателя или беспроводного датчика) можно сделать действительно быстро. На сайте энтузиастов про ESP8266 ходит заезженная шутка - что ни делай с ESP8266 - получается метеостанция :)

Я использую ESP8266 со своим стеком, с большим трудом вычистил из него кетайский мусор (оставил только WiFi v6 стек и заглушки, и то икается - он без кетайской кооперативной ОС не работает) и сделал из него дешевый MAC по UART.

Date: 2015-07-20 07:45 (UTC)
From: [identity profile] 1801bm1.livejournal.com
У ESP8266 нет внутренней флешпамяти. На модуле стоит собственно ESP8266 (он же перемаркированный ESP8089, возможно только ROM другой), и SPI-флешка от Winbond или аналог. Исполнение кода идет из флешки, то есть оно медленно и печально читается по SPI (40 или 80МГц на 4 бита - макс 40МБ/сек, для 160МГц проца с 24-битным словом инструкции - это пыль), ну правда может кешироваться в части IRAM - там аппаратный механизм есть. Пока можно установить размер кеша 16 или 32К. И к этой кешированной памяти, если нужен не только код (те которые const data) можно обращаться только 32-битными словами, а куча CRT-функций такого не понимает, поэтому народ там извращается с обработчиками исключений (эмулирует побайтовый и 16-битный доступ). В-общем, аппаратура своеобразная весьма и используется не по задуманному при разработке сценарию.