WiFi Slot — платформа для быстрой разработки компактных устройств с Wi-Fi на борту. Мозгом платы выступает модуль ESP-12 с чипом ESP8266EX от Espressif.
WiFi Slot содержит на борту всё необходимое для быстрой и комфортной работы: USB-разъём для программирования и отладки, десять цифровых входов/выходов с поддержкой ШИМ-сигнала (восемь из которых восемь могут использоваться как аналоговый вход) и две служебные кнопки.
Больше нет нужды нажимать специальные кнопки при каждой прошивке. Специальная схема вводит плату в режим программирования при прошивке через USB-разъём.
Родным напряжением чипа является 3,3 В. Мы установили на плату мощный DC-DC преобразователь, который позволяет запитать плату от 5 В при помощи USB, Power Bank или Li-Ion-аккумулятора. Понижающий преобразователь обеспечит нагрузку током до 1 А. Забудьте о глюках при нехватке питания от маломощных регуляторов напряжения — тока хватит всем.
WiFi Slot позволяет подключить до четырёх Troyka-модулей. Используемые пины для связи сенсоров и модулей с WiFi Slot зависят от конкретного устройства, точнее: от типа его коммуникации, сигнала и протокола. Обратитесь к странице с обзором сенсоров, чтобы определить как организована коммуникация с каждым устройством. После чего можно приступать к работе с модулем.
Платформа программируется двумя способами:
После выполненных действий платформа WiFi Slot готова к программированию через Arduino IDE.
Подробности о функциях и методах работы WiFi Slot (ESP8266) на языке C++ читайте на ESP8266 Arduino Core’s.
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. Для этого установите светодиод 5 мм (Troyka-модуль) в пин A2
. После чего прошейте платформу кодом ниже.
// пин подключения светодиода #define LED_PIN A2 void setup() { // настраиваем пин светодиода в режим выхода pinMode(LED_PIN, OUTPUT); } void loop() { // подаём на пин светодиода «высокий уровень» digitalWrite(LED_PIN, HIGH); // ждём одну секунду delay(1000); // подаём на пин светодиода «низкий уровень» digitalWrite(LED_PIN, LOW); // ждём одну секунду delay(1000); }
После загрузки светодиод начнёт мигать раз в полсекунды. Это значит всё получилось и можно смело переходить к экспериментам на WiFi Slot.
Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.
При программировании платформы через Espruino IDE используйте имена пинов модуля ESP-12. Например пину A2
равносильно название D16
. Для информации изучите распиновка платформы.
В качестве примера повторим второй эксперимент «Маячок» из набора Йодо. Для этого установите светодиод 5 мм (Troyka-модуль) в пин D16
. После чего прошейте платформу скриптом ниже.
// создаём объект для работы со светодиодом на пине D16 var led = require('@amperka/led').connect(D16); // мигаем светодиодом каждые полсекунды led.blink(0.5, 0.5);
После загрузки светодиод начнёт мигать раз в полсекунды.
Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.
Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ESP8266EX
через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.
Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-12.
ESP-12 — модуль с чипом ESP8266EX
, Flash-памятью на 2 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом.
Рядом с кожухом расположен индикаторный светодиод и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.
Разъём micro-USB предназначен для прошивки платформы WiFi Slot с помощью компьютера.
Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP-12E с USB-портом компьютера. При подключении к ПК — WiFi Slot определяется как виртуальный COM-порт.
Понижающий DC-DC NCP1529 с выходом 3,3 вольта, обеспечивает питание микроконтроллера. Максимальный выходной ток составляет 1 А.
Имя светодиода | Назначение |
---|---|
PWR | Индикатор питания |
RX и TX | Мигают при обмене данными между WiFi Slot и компьютером. |
Модуль ESP-12 имеет только один 10-битный аналоговый вход, который способен измерять напряжение от нуля до одного вольта. Мы расположили на плате аналоговый мультиплексор 74HC4052D с селектором выбора каналов на микросхеме SN74HC393. А резисторный делитель поднимает верхний порог измеряемого напряжения до 3,3 В. Всё это даёт платформе WiFi Slot восемь аналоговых портов.
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET
обычного компьютера.
Кнопка служит для ручного перевода модуля в режим прошивки:
PROG
;RESET
;PROG
При использовании с Arduino IDE проводить эту процедуру необязатьельно. Специальная схема на плате сделает всё за вас.
Вы можете подключить к WiFi Slot одну или несколько плат расширения Slot Expander. Плата управляется через интерфейс I²C и предоставляет 10 дополнительных пинов ввода/вывода, 9 из которых поддерживают АЦП и ШИМ. Slot Expander физически подключается через специальный разъём с переходником Slot Connector.
Имя контакта | Назначение |
---|---|
5V | питание |
GND | земля |
SDA | линия данных I²C |
SCL | линия синхронизации I²C |
Подробнее о Slot Expander читайте в соответствующей статье
ESP-12
. Максимальный ток — 1 А.В отличии от большинства плат Arduino, родным напряжением платформы WiFi Slot является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
A0
–A7
, SDA(2)
и SCL(0)
A0
–A7
, SDA(2)
и SCL(0)
A0
–A7
Чтобы иметь возможность подключать модули с аналоговым входом к пинам A0
и A1
и при этом не мешать прошивке через UART
, разрежьте соответствующие перемычки на задней стороне WiFi Slot.