Рубрики
Проекты на ESP32

Начало работы с платой Seeed XIAO ESP32-C3

Это руководство по началу работы с платой Seeed XIAO ESP32-C3 от компании Seeed Studio. Недавно Seeed Studio выпустила самую маленькую в мире плату ESP32 под названием XIAO ESP32 C3. Эта мини-плата разработки IoT на базе двухрежимного чипа Espressif ESP32-C3 WiFi/Bluetooth.

Основное различие между платами ESP32 и ESP32-C3 заключается в процессоре и версии BLE. ESP32 имеет процессор Tensilica Xtensa LX6 32-бит Dual-Core, работающий на частоте 160/240 МГц, тогда как плата ESP32-C3 работает на RISC-V 32-бит Single-Core, работающем на тактовой частоте 160 МГц. При сравнении части BLE, ESP32 имеет 4.2 BR/EDR + BLE, а ESP32-C3 имеет 5.0 + BLE, которая является улучшенной версией по сравнению с 4.2.

В данной статье мы узнаем об общих принципах работы платы XIAO ESP32-C3, а также о ее функциях, возможностях, распиновке и приложениях. Сначала мы рассмотрим базовое использование, например, мигание светодиода и считывание данных датчика DHT11. В категории использования WiFi мы создадим простой веб-сервер, на котором данные датчика можно будет просматривать на веб-сервере. Наконец, в части использования BLE мы просканируем устройства Bluetooth поблизости, используя функцию Bluetooth этой платы.

Необходимые компоненты

  1. Плата Seeed Studio XIAO ESP32C3 (купить на AliExpress).
  2. Светодиод 5мм любого цвета (купить на AliExpress).
  3. Резистор 200 Ом.
  4. Датчик температуры и влажности DHT11 (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Seeed Studio XIAO ESP32-C3

Seeed Studio XIAO ESP32-C3 несет в себе полную систему Wi-Fi вместе с функцией Bluetooth Low Energy. Благодаря изысканному дизайну и возможности WiFi+BLE она идеально подходит для различных сценариев управления IoT (Интернет вещей) и сложных переносимых приложений.

ESP32-C3 — это 32-битный RISC-V CPU, который включает FPU (Floating Point Unit) для 32-битной арифметики одинарной точности с мощной вычислительной мощностью. Она имеет превосходную производительность, поддерживая протоколы IEEE 802.11 b/g/n WiFi и Bluetooth 5 (BLE). Эта плата поставляется с внешней антенной для увеличения мощности сигнала для ваших беспроводных приложений. Она также имеет небольшой и изысканный форм-фактор в сочетании с односторонним поверхностным монтажом.

Возможности Seeed Studio XIAO ESP32-C3

  • Мощный процессор: ESP32-C3, 32-битный одноядерный процессор RISC-V, работающий на частоте до 160 МГц.
  • Полная подсистема WiFi: соответствует протоколу IEEE 802.11b/g/n и поддерживает режим станции, режим SoftAP, режим SoftAP + станции и смешанный режим.
  • Подсистема Bluetooth LE: поддерживает функции Bluetooth 5 и Bluetooth Mesh.
  • Сверхнизкое энергопотребление: потребление энергии в режиме глубокого сна составляет около 43 мкА.
  • Улучшенные радиочастотные характеристики: в комплект входит внешняя радиочастотная антенна.
  • Микросхема зарядки аккумулятора: поддерживает управление зарядом и разрядом литиевых аккумуляторов.
  • Впечатляющие ресурсы на кристалле: 400 КБ SRAM и 4 МБ встроенной флэш-памяти.
  • Сверхкомпактный размер: размером с большой палец (20×17,5 мм) — классический форм-фактор серии XIAO для носимых устройств и небольших проектов.
  • Надежные функции безопасности: криптографические аппаратные ускорители, поддерживающие AES-128/256, Hash, RSA, HMAC, цифровую подпись и безопасную загрузку.
  • Широкий набор интерфейсов: 1xI2C, 1xSPI, 1xI2S, 2xUART, 11xGPIO(PWM), 4xADC, 1xJTAG-интерфейс.
  • Односторонние компоненты, конструкция для поверхностного монтажа.

Компоненты на передней и задней стороне платы

На передней стороне платы находится чип ESP32-C3, установленный на поверхности SMD печатной платы. Как и другие платы ESP32, эта плата также имеет кнопку загрузки и сброса. Она также оснащена светодиодом зарядки, который указывает на зарядку батареи во время зарядки батареи. Она поддерживает интерфейс USB-Type C для UART/последовательной связи. Плата имеет разъем UFL для внешней антенны для увеличения мощности сигнала для любых беспроводных приложений.

На задней стороне платы находится интерфейс JTAG для доступа к функциям отладки/эмуляции. Порт разъема батареи предназначен для подключения литий-ионной батареи 3,7 В для портативных приложений. На задней стороне платы также предусмотрена термопрокладка, которую можно использовать в качестве системы охлаждения при чрезмерном использовании ЦП, что может приводить к выделению тепла.

Распиновка Seeed XIAO ESP32-C3

Плата Seeed XIAO ESP32-C3 имеет общее количество контактов 14. Из 14 контактов она имеет 11 цифровых контактов (D0-D10) и 4 аналоговых контакта (A0-A3). Эти контакты также поддерживают протоколы I2C, SPI, I2S и пару протоколов UART.

Плата имеет 5 В, 3,3 В и GND в качестве вывода питания. Вывод USB — это выход 5 В. Вывод платы используется как вход напряжения, но должен иметь какой-то диод (Шоттки, сигнальный, силовой) между внешним источником питания и этим выводом с анодом к батарее, катодом к выводу 5 В. Плата также выводит стабилизированный выход 3,3 В от встроенного регулятора и может потреблять ток до 700 мА.

Антенна XIAO ESP32-C3

XIAO ESP32-C3 имеет разъем UFL для подключения антенны. Внешняя антенна с частотой 2,4 ГГц может использоваться для приложений WiFi и BLE.

Поэтому подключите внешнюю антенну, чтобы увеличить мощность сигнала.

Начало работы с платой Seeed XIAO ESP32-C3

Перед использованием платы ESP32-C3 нам нужно настроить Arduino IDE. Arduino IDE не имеет предустановленной платы ESP32-C3. Поэтому нам нужно сначала установить эту плату.

Сначала откройте Arduino IDE и перейдите в File > Preferences (Файл > Настройки) и заполните “Additional Boards Manager URLs” («URL-адреса дополнительных плат») следующим URL-адресом:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

Перейдите в Tools > Board > Boards Manager (Инструменты > Плата > Менеджер плат), введите ключевое слово «esp32» в поле поиска, выберите последнюю версию и установите ее.

После установки платы перейдите в Tools > Board > ESP32 Arduino и выберите «XIAO_ESP32C3». Список плат немного длиннее, и вам нужно прокрутить вниз, чтобы добраться до него.

Перейдите в меню Tools > Port (Инструменты > Порт) и выберите имя последовательного порта, к которому подключенна XIAO ESP32C3.

Теперь ваша плата XIAO ESP32-C3 готова к программированию и запуску проекта.

Мигание светодиода

Первая программа, которую мы реализуем, это мигание светодиода. Вот схема подключения для этого проекта.

Подключите положительный вывод светодиода к GPIO2 платы, а отрицательный вывод светодиода к GND платы через резистор 200 Ом. Для сборки схемы можно использовать макетную плату.

Исходный код программы

Скопируйте следующий код и загрузите его на плату ESP32-C3.

После загрузки кода светодиод будет включаться и выключаться с интервалом в 1 секунду.

Чтение данных датчика DHT11

Вторая программа, которую мы собираемся реализовать, это чтение данных датчика влажности и температуры DHT11. Вот схема подключения для этого проекта.

Подключите выводы DHT11 VCC, GND и его выходной контакт к контактам 3,3 В, GND и GPIO5 платы XIAO ESP32-C3. Для сборки схемы можно использовать макетную плату.

Исходный код программы

Для компиляции кода требуется библиотека для работы с датчиками DHT11 . Поэтому сначала загрузите и установите библиотеку с помощью менеджера библиотек. Затем скопируйте следующий код и загрузите его на плату ESP32-C3.

После загрузки кода откройте Serial Monitor (окно монитора последовательной связи) — он отобразит данные о влажности и температуре.

Использование WiFi на плате XIAO ESP32-C3

Теперь давайте посмотрим, как мы можем использовать функцию WiFi платы Seeed XIAO ESP32-C3. Для этого мы будем использовать ту же аппаратную настройку, что и выше. Вместо отображения данных датчика DHT11 на последовательном мониторе мы будем отображать значение температуры и влажности на веб-сервере.

Веб-сервер ESP32-C3 может использоваться для обработки и управления HTTP-запросами и ответами с веб-страницы.

Исходный код программы

Вот полный код для веб-сервера на ESP32 с чтением данных датчика DHT11. Код снова требует библиотеку DHT11.

В следующих двух строках измените SSID и пароль WiFi, чтобы ESP32 мог подключиться к вашей сети WiFi, используя указанные учетные данные.

После загрузки кода откройте Serial Monitor (окно монитора последовательной связи) — в нем отобразится IP-адрес ESP32 после успешного подключения к сети WiFi.

Откройте любой веб-браузер на ПК или мобильном телефоне, введите указанный выше IP-адрес и нажмите Enter. Появится веб-страница, на которой будут показаны значения влажности и температуры.

Использование Bluetooth (BLE) на плате XIAO ESP32-C3

В этом примере мы будем использовать плату XIAO ESP32-C3 для сканирования доступных Bluetooth-устройств вокруг нее.

В случае ESP32-C3 BLE данные во время связи организованы с использованием профиля, называемого GATT (Generic Attributes). По сути, есть два протокола, которые важны для связи между двумя устройствами BLE: GAP и GATT. GAP — это аббревиатура от Generic Access Profile, и он управляет соединениями и рекламой (делает устройство видимым и открытым для подключения) в Bluetooth. GATT — это аббревиатура от Generic Attribute Profile, и он определяет, как два устройства Bluetooth Low Energy передают данные друг другу, используя концепции, называемые Services и Characteristics.

Исходный код программы

Скопируйте следующий код и вставьте его в Arduino IDE. Затем вы можете загрузить его на плату ESP32-C3.

Загрузите коды и откройте Serial Monitor, чтобы начать сканирование устройств Bluetooth. Serial Monitor отобразит количество доступных устройств поблизости.

Вот как можно использовать плату Seeed XIAO ESP32-C3 для проектов Интернета вещей и других приложений.

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

3 ответа к “Начало работы с платой Seeed XIAO ESP32-C3”

С применением другой библиотеки все нормально заработало.

/*
Read Temperature and Humidity
DHT11 Library
Author: Bonezegei (Jofel Batutay)
Date : November 2023

Tested using ESP32-WROOM32
*/

#include

//param = DHT11 signal pin
Bonezegei_DHT11 dht(2);

void setup() {
Serial.begin(115200);
dht.begin();
}

void loop() {

if (dht.getData()) { // get All data from DHT11
float tempDeg = dht.getTemperature(); // return temperature in celsius
float tempFar = dht.getTemperature(true); // return temperature in fahrenheit if true celsius of false
int hum = dht.getHumidity(); // return humidity
String str = «Temperature: «;
str += tempDeg;
str += «°C «;
str += tempFar;
str += «°F Humidity:»;
str += hum;
Serial.println(str.c_str());
//Serial.printf(«Temperature: %0.1lf°C %0.1lf°F Humidity:%d \n», tempDeg, tempFar, hum);
}
delay(2000); //delay atleast 2 seconds for DHT11 to read tha data
}

К сожалению, такое иногда бывает. Но я рад что у вас получилось. Ссылку на библиотеку на гитхабе с которой у вас получилось не могли бы написать? Это поможет другим пользователям

При компиляции скетча с датчиком DHT11 выскакивает ошибка «avr/pgmspace.h: No such file or directory»
и в версию Arduino IDE v2.3.4 эта библиотека не устанавливается.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *