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语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同