ESP32-C3开发之旅 基础篇① 走进ESP32-C3的世界

2024-06-21 12:32

本文主要是介绍ESP32-C3开发之旅 基础篇① 走进ESP32-C3的世界,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介(直接在官网抄的)

1.ESP32-C3 搭载 RISC-V 32 位单核处理器,时钟频率高达 160 MHz,内置 400 KB SRAM,集成了 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5 (LE),具有行业领先的射频性能和低功耗。它具有 22 个可编程 GPIO 管脚,支持 ADC、SPI、UART、I2C、I2S、RMT、TWAI 和 PWM。点此查看 ESP32-C3 技术规格书了解详细信息

ESP32-C3 成本对标 ESP8266

物联网设备必须提供充分的保护措施以防止各类恶意攻击。ESP32-C3 具有完善的安全机制,能够有效抵抗上述威胁:

安全启动:ESP32-C3 使用基于 RSA-3072 的标准身份验证方案,确保在设备上运行受信任的应用程序。该功能可阻止设备运行烧录在 flash 中的恶意程序。安全启动需要快速高效地进行,以满足即时启动设备(如球泡灯)的需求,ESP32-C3 的安全启动方案仅在设备启动过程中增加了不到 100 ms 的时间开销。
Flash 加密:ESP32-C3 使用基于 AES-128-XTS 算法的 flash 加密方案,确保应用程序与配置数据在 flash 中保持加密状态。flash 控制器支持执行加密的应用程序固件,这不仅为存储在 flash 中的敏感数据提供了必要保护,还防止了运行时由于固件更改造成的 TOCTTOU (time-of-check-to-time-of-use) 攻击。
数字签名和 HMAC 外设:ESP32-C3 的数字签名外设,可以通过固件不可访问的私钥生成数字签名。同样地,其 HMAC 外设也可以生成固件不可访问的加密摘要。目前,大多数物联网云服务使用基于 X.509 证书的身份验证,数字签名外设保护了定义设备身份的私钥。这样一来,即使出现软件漏洞,它也能为设备身份提供强大的保护。
世界控制器模块:ESP32-C3 新增了世界控制器模块,该模块提供了两个互不干扰的执行环境。根据配置,世界控制器使用可信执行环境 (TEE) 或权限分离机制。如果应用程序固件需要处理敏感的安全数据(如 DRM 服务),则可以利用世界控制器模块,在安全区域处理数据。

ESP32-C3

二、安信可模组(个人开发使用模组门槛更低)

ESP-C3-12F 模组Pin To Pin对标“ESP-12F/12E/12S/12L/07S/07”各模组

ESP-C3-12F

ESP-C3-32S 模组Pin To Pin对标“ESP32-S及ESP32-WROOM-32/32D/32U/32E/32UE/32SE”各模组,
ESP-C3-32S

ESP-C3-13 模组Pin To Pin对标“ESP-13及ESP-WROOM-02/02D”各模组
ESP-C3-13

ESP-C3-13U 模组Pin To Pin对标“ESP-13U及ESP-WROOM-02U”各模组,

ESP-C3-13U

ESP-C3-01M 模组Pin To Pin对标“ESP-01M”各模组

ESP-C3-01M
ESP-C3-M1-I

三、使用原因

主要是因为其超低成本,并且将处理器和 WiFi 芯片精致集成在一起,具有 GPIO、PWM、I2C、1‐Wire、ADC 等功能,为开发者提供一套极具性价比的开发平台。

四、使用Arduino支持的外设

目前,Arduino ESP32支持以下带有Arduino api的外设

在这里插入图片描述

五、初衷

本文主要是因为网上ESP32-C3的文章太少,且自己也不怎么了解这个,所以开写一个系列文章,文章参照:https://blog.csdn.net/dpjcn1990/article/details/92829821 的逻辑编写。

这篇关于ESP32-C3开发之旅 基础篇① 走进ESP32-C3的世界的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081231

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.