这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】基于esp32c3合宙开发板的各种场景下蓝牙,WiFi的使用--from

共11条 1/2 1 2 跳转至

【原创】基于esp32c3合宙开发板的各种场景下蓝牙,WiFi的使用--from莫YP

工程师
2024-01-21 00:21:41   被打赏 50 分(兑奖)     打赏

前言:

ESP32C3是一款高度集成的低功耗系统级芯片(SoC),由乐鑫科技(Espressif Systems)开发。它具有强大的处理能力、丰富的外设接口和稳定的无线连接性能,使其成为物联网(IoT)领域的理想选择。在本文中,我们将探讨基于ESP32C3合宙开发板的各种场景下蓝牙和WiFi的使用,以帮助您更好地了解这款强大的开发板及其潜力。

蓝牙作为一种短距离无线通信技术,广泛应用于智能家居、可穿戴设备、医疗保健等领域。ESP32C3内置了蓝牙5.0模块,支持经典蓝牙和低功耗蓝牙(BLE)。通过使用ESP-IDF(Espressif IoT Development Framework)开发工具,您可以快速地为ESP32C3开发蓝牙应用,实现设备之间的数据传输和控制。

一:准备工作

硬件:

我们需要 1.esp32c3开发板

2. usb转安卓下载线

3. 所需要应用的各种电子元器件及模块

软件:   1.VSCODE

2. ESP-IDF插件

二:开发环境的配置

1.直接搜索Git,到官方网站下载,地址:Git - Downloads (git-scm.com)。并手动配置环境变量。

2.在VSCODE中安装ESP-IDF插件。

3.安装好如下界面后,可创建项目实现编程。

三:例程

例程中有开源的各种项目,我们可以实现蓝牙,WiFi连接各种设备到esp32以实现通讯。

四:应用场景中的落实

我们如果要使用特定的功能或者接口,需要对ESP32-C3进行固件的刷写,找当控制相应硬件的库刷写到esp32c3中。

例如用蓝牙控制舵机代码

#include <BLEDevice.h>

#include <BLEServer.h>

#include <BLEUtils.h>

#include <Servo.h>

 

// 定义舵机引脚

const int servoPin = 5;

 

// 创建舵机对象

Servo myservo;

 

// 定义服务UUID

const uint8_t serviceUUID[] = {0xE9, 0xA6, 0xF3, 0x25, 0xA5, 0x69, 0x42, 0x20, 0xAA, 0xD5, 0x48, 0x99, 0x2F, 0x41, 0x51, 0x7F};

 

// 定义特征UUID

const uint8_t characteristicUUID[] = {0x2A, 0x6E, 0x19, 0xA5, 0xF0, 0x9F, 0x44, 0x61, 0x62, 0x69, 0x61, 0x6E, 0x15, 0xAD, 0xC8, 0x95};

 

// 定义特征值

uint8_t characteristicValue[2] = {0};

 

// 创建BLE服务器

BLEServer* pServer = NULL;

BLECharacteristic* pCharacteristic = NULL;

 

void setup() {

  // 初始化串口通信

  Serial.begin(115200);

 

  // 初始化舵机

  myservo.attach(servoPin);

 

  // 初始化BLE设备

  BLEDevice::init("ESP32-C3");

 

  // 创建BLE服务器

  pServer = BLEDevice::createServer();

 

  // 注册服务

  pServer->addService(BLEUUID((uint16_t *)serviceUUID));

 

  // 获取特征

  pCharacteristic = pServer->getService(BLEUUID((uint16_t *)serviceUUID))->getCharacteristic(BLEUUID((uint16_t *)characteristicUUID));

 

  // 设置特征值回调函数

  pCharacteristic->setWriteCallback(writeCallback);

}

 

void loop() {

  // 处理BLE事件

  BLEDevice::update();

}

 

// 写入特征值回调函数

void writeCallback(BLECharacteristic* pCharacteristic) {

  uint8_t valueLength = pCharacteristic->getValueLength();

 

  // 读取特征值

  for (int i = 0; i < valueLength; i++) {

    characteristicValue[i] = pCharacteristic->read()->at(i);

  }

 

  // 解析特征值并控制舵机

  int angle = (int)characteristicValue[0] * 180 / 255;

  myservo.write(angle);

}

 

结语:

本文主要介绍了:基于ESP32C3合宙开发板的各种场景下蓝牙和WiFi的使用,可以通过本文更好地了解这款强大的开发板及其潜力。通过使用ESP-IDF开发工具,您可以快速地为ESP32C3开发蓝牙应用,实现设备之间的数据传输和控制。

 



专家
2024-01-21 13:22:38     打赏
2楼

学习一下,感谢分享


院士
2024-01-21 15:11:02     打赏
3楼

这个开发还是C++语言吗?


院士
2024-01-21 16:45:54     打赏
4楼

学习了,谢谢分享。


高工
2024-01-24 01:06:47     打赏
5楼

谢谢分享


工程师
2024-01-25 07:04:44     打赏
6楼

编程很方便


高工
2024-01-29 13:05:37     打赏
7楼

学习一下


工程师
2024-01-31 06:08:41     打赏
8楼

总结的不错  来学习学习


工程师
2024-01-31 09:14:26     打赏
9楼

学习了。谢谢分享。


专家
2024-02-04 01:40:41     打赏
10楼

学习了,谢谢分享!


共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]