WiFi Slot: распиновка, схема подключения и программирование

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 зависят от конкретного устройства, точнее: от типа его коммуникации, сигнала и протокола. Обратитесь к странице с обзором сенсоров, чтобы определить как организована коммуникация с каждым устройством. После чего можно приступать к работе с модулем.

Платформа программируется двумя способами:

Программирование на C++

  1. Для начала работы с платформой WiFi Slot на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
  2. По умолчанию среда программирования настроена только на AVR-платы. Для платформы WiFi Slot добавьте в менеджере плат поддержку платформ на модуле ESP8266.
  3. В пункте меню Инструменты Плата Amperka WiFi Slot.

После выполненных действий платформа WiFi Slot готова к программированию через Arduino IDE.

Подробности о функциях и методах работы WiFi Slot (ESP8266) на языке C++ читайте на ESP8266 Arduino Core’s.

Пример работы

В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. Для этого установите светодиод 5 мм (Troyka-модуль) в пин A2. После чего прошейте платформу кодом ниже.

Blink.ino
// пин подключения светодиода
#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.

Программирование на JavaScript

  1. Для старта с платформой WiFi Slot на языке JavaScript скачайте и установите интегрированную среду разработки — Espruino Web IDE.

Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.

При программировании платформы через Espruino IDE используйте имена пинов модуля ESP-12. Например пину A2 равносильно название D16. Для информации изучите распиновка платформы.

Пример работы

В качестве примера повторим второй эксперимент «Маячок» из набора Йодо. Для этого установите светодиод 5 мм (Troyka-модуль) в пин D16. После чего прошейте платформу скриптом ниже.

Blink.js
// создаём объект для работы со светодиодом на пине D16
var led = require('@amperka/led').connect(D16);
// мигаем светодиодом каждые полсекунды
led.blink(0.5, 0.5);

После загрузки светодиод начнёт мигать раз в полсекунды.

Элементы платы

Мозг платформы

WiFi Slot основан на модуле ESP-12 с чипом ESP8266EX от Espressif.

Чип ESP8266EX

Чип 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

ESP-12 — модуль с чипом ESP8266EX, Flash-памятью на 2 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом.

Рядом с кожухом расположен индикаторный светодиод и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.

Разъём micro-USB

Разъём micro-USB предназначен для прошивки платформы WiFi Slot с помощью компьютера.

Преобразователь USB-UART

Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP-12E с USB-портом компьютера. При подключении к ПК — WiFi Slot определяется как виртуальный COM-порт.

Понижающий DC-DC

Понижающий DC-DC NCP1529 с выходом 3,3 вольта, обеспечивает питание микроконтроллера. Максимальный выходной ток составляет 1 А.

Светодиодная индикация

Имя светодиода Назначение
PWR Индикатор питания
RX и TX Мигают при обмене данными между WiFi Slot и компьютером.

Аналоговый мультиплексор

Модуль ESP-12 имеет только один 10-битный аналоговый вход, который способен измерять напряжение от нуля до одного вольта. Мы расположили на плате аналоговый мультиплексор 74HC4052D с селектором выбора каналов на микросхеме SN74HC393. А резисторный делитель поднимает верхний порог измеряемого напряжения до 3,3 В. Всё это даёт платформе WiFi Slot восемь аналоговых портов.

Кнопка RESET

Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.

Кнопка PROG

Кнопка служит для ручного перевода модуля в режим прошивки:

  1. Зажмите кнопку PROG;
  2. Нажмите и отпустите кнопку RESET;
  3. Отпустите кнопку PROG

При использовании с Arduino IDE проводить эту процедуру необязатьельно. Специальная схема на плате сделает всё за вас.

Разъём Slot Connector

Вы можете подключить к WiFi Slot одну или несколько плат расширения Slot Expander. Плата управляется через интерфейс I²C и предоставляет 10 дополнительных пинов ввода/вывода, 9 из которых поддерживают АЦП и ШИМ. Slot Expander физически подключается через специальный разъём с переходником Slot Connector.

Распиновка разъёма

Имя контакта Назначение
5V питание
GND земля
SDA линия данных I²C
SCL линия синхронизации I²C

Подробнее о Slot Expander читайте в соответствующей статье

Распиновка

Пины питания

  • 5V: На вывод поступает напряжение 5 В от разъёма micro-USB.
  • 3.3V: На вывод поступает 3,3 В от понижающего DC-DC преобразователя на плате. Преобразователь обеспечивает питание модуля ESP-12. Максимальный ток — 1 А.
  • GND: Выводы земли.

Пины ввода/вывода

В отличии от большинства плат Arduino, родным напряжением платформы WiFi Slot является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль!

Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.

  • Цифровые входы/выходы: 10 пинов; A0A7, SDA(2) и SCL(0)
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: 10 пинов; A0A7, SDA(2) и SCL(0)
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ – 10 бит.
  • АЦП: 8 пинов; A0A7
    Позволяет представить аналоговое напряжение в виде числа. Разрядность АЦП установлена в 10 бит. Изменить разрядность АЦП нельзя. На аналоговые входы WiFi Slot можно подавать напряжение в диапазоне от 0 до 3,3 В. При подаче большего напряжения модуль может выйти из строя.
  • TWI/I²C: пины SDA и SCL
    Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеки для Arduino и Espruino.
  • SPI: пины A3(MOSI), A7(MISO) и A5(SCK)
    Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеки для Arduino и Espruino.
  • UART: пины A0(RX) и A1(TX)
    Используется для коммуникации платы WiFi Slot с компьютером или другими устройствами по интерфейсу UART. Для работы — используйте библиотеки Arduino или Espruino.

Чтобы иметь возможность подключать модули с аналоговым входом к пинам A0 и A1 и при этом не мешать прошивке через UART, разрежьте соответствующие перемычки на задней стороне WiFi Slot.

Принципиальная и монтажная схемы

Характеристики

  • Модуль: ESP-12 (ESP8266)
  • Тактовая частота: 80 МГц, 160 МГц
  • Объём Flash-памяти: 2 МБ
  • Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
  • Режимы работы:
    • Клиент (STA)
    • Точка доступа (AP)
    • Клиент + Точка доступа (STA + AP)
  • Портов ввода-вывода всего: 10
  • Портов с АЦП: 8
  • Разрядность АЦП: 10 бит
  • Портов с ШИМ (Программный): 10
  • Разрядность ШИМ: по умолчанию 10 бит
  • Аппаратных интерфейсов SPI: 1
  • Программных интерфейсов I²C / TWI: 1
  • Аппаратных интерфейсов UART / Serial: 2
  • Номинальное рабочее напряжение: 3,3 В
  • Максимальный ток с шины 3.3V: 1 А (включая питание микроконтроллера)
  • Максимальный ток с пина или на пин: 12 мА
  • Габариты: 50,8×50,8 мм

Ресурсы