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


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

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

Основное различие между платами 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.

Визуальное сравнение размеров плат ESP32 и ESP32-C3

В данной статье мы узнаем об общих принципах работы платы 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 (Интернет вещей) и сложных переносимых приложений.

Seeed Studio XIAO ESP32-C3

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 для внешней антенны для увеличения мощности сигнала для любых беспроводных приложений.

Компоненты на передней стороне платы Seeed Studio XIAO ESP32-C3

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

Компоненты на задней стороне платы Seeed Studio XIAO ESP32-C3

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

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

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

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

Антенна XIAO ESP32-C3

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

Антенна XIAO ESP32-C3

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

Начало работы с платой 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
Добавление платы Seeed XIAO ESP32-C3 в Arduino IDE

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

Установка платы Seeed XIAO ESP32-C3 в Arduino IDE

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

Выбор платы Seeed XIAO ESP32-C3 в Arduino IDE

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

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

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

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

Подключение светодиода к плате XIAO ESP32-C3

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

Собранная на макетной плате схема со светодиодом

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

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

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

Тестирование работы программы мигания светодиодом

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

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

Подключение датчика DHT11 к плате XIAO ESP32-C3

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

Собранная на макетной плате схема с датчиком DHT11

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

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

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

Тестирование схемы с датчиком DHT11 в окне монитора последовательной связи

Использование 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-адреса ESP32 в окне монитора последовательной связи

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

Тестирование работы веб-сервера на ESP32 с чтением данных датчика DHT11

Использование 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 отобразит количество доступных устройств поблизости.

Тестирование работы с Bluetooth (BLE) на плате XIAO ESP32-C3

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

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

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

(Проголосуй первым!)
Загрузка...
116 просмотров

Комментарии

Начало работы с платой Seeed XIAO ESP32-C3 — 3 комментария

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

    /*
    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
    }

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

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

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

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