宁子希
码龄3年
关注
提问 私信
  • 博客:287,520
    287,520
    总访问量
  • 170
    原创
  • 10,977
    排名
  • 6,063
    粉丝
  • 学习成就

个人简介:github地址https://github.com/1589326497?tab=repositories

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:中国
  • 加入CSDN时间: 2021-07-12
博客简介:

宁子希的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,487
    当月
    110
个人成就
  • 获得2,480次点赞
  • 内容获得70次评论
  • 获得3,202次收藏
  • 代码片获得8,165次分享
创作历程
  • 150篇
    2024年
  • 19篇
    2023年
  • 1篇
    2022年
成就勋章
TA的专栏
  • esp32 Arduino
    18篇
  • ESP32-IDF
    35篇
  • TinyML
    1篇
  • Ubuntu
    12篇
  • freeRTOS-ESP32
    20篇
  • esp32 microPython
    8篇
  • 深度学习 Pytorch框架
    1篇
  • LVGL
    1篇
  • 力扣100道
    14篇
  • c++ STL
    11篇
  • 现代c++新特性
    15篇
  • python
    1篇
  • 树莓派
  • STM32-hal库
    5篇
兴趣领域 设置
  • Python
    python
  • 数据结构与算法
    算法数据结构
  • 人工智能
    opencv人工智能深度学习
  • 嵌入式
    单片机物联网iot
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

封装 ESP-IDF 组件并上传到 ESP 组件注册表

在 ESP-IDF 中,组件(Component)是用于组织代码的基本单元,类似于库。每个组件都是一个独立的模块,包含特定的功能,可以与其他组件一起构建项目。通过这种模块化设计,你的项目可以由多个组件组成,易于管理和复用。此外,ESP-IDF 提供了组件注册表,开发者可以在其中分享组件,也可以轻松使用其他人发布的组件。
原创
发布博客 2024.10.14 ·
558 阅读 ·
15 点赞 ·
0 评论 ·
19 收藏

ESP32接入扣子(Coze) API使用自定义智能体

本示例将使用ESP32开发板通过WiFi接入 **Coze API**,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如何通过HTTP请求和JSON解析来与API进行交互,并给出完整的代码示例。
原创
发布博客 2024.10.08 ·
1435 阅读 ·
25 点赞 ·
1 评论 ·
18 收藏

一,掌心里的智慧:我的 TinyML 学习之旅

小设备,大智慧我们生活中的许多设备都很智能,像手机、电脑这些。它们通过强大的计算能力和高速互联网,能轻松地处理大量数据,甚至预测你的需求。而在过去,只有这些“大块头”才能承担机器学习这样的重任务——毕竟,训练和运行一个机器学习模型是需要大量资源的。但是,世界不可能总依赖于这些巨大的“云端计算”。想想那些小巧的可穿戴设备、微型传感器,甚至是生活中普通的灯泡,它们没有足够的“脑力”去处理复杂的数据。那么,TinyML正是为这些“微型英雄”设计的。
原创
发布博客 2024.09.15 ·
1120 阅读 ·
17 点赞 ·
0 评论 ·
13 收藏

在 ESP-IDF 中使用 Arduino 框架和Arduino的第三方库

通过将 Arduino 框架 API 与 ESP-IDF 相结合,你可以简化开发工作,轻松使用 Arduino 的库和函数,同时享受 ESP-IDF 提供的强大功能。通过将 Arduino 的第三方库引入 ESP-IDF 项目,你还可以扩展项目的功能,快速实现复杂的硬件控制与数据处理。无论你是想要简单的 Arduino 风格开发,还是需要 ESP-IDF 的底层控制和优化,这种结合都可以为你的 ESP32 项目带来更多灵活性与效率。
原创
发布博客 2024.09.13 ·
2242 阅读 ·
23 点赞 ·
0 评论 ·
30 收藏

ESP32-S3 IDF框架 WS2812 灯条控制组件:实现多种灯效

在这篇博客中,我们将介绍如何使用 ESP32-S3 开发板和 RMT 驱动程序来控制 WS2812 LED 灯条。我们会展示如何编写一个文件,该文件包含多种 LED 控制效果,包括常亮、呼吸、渐入、闪烁和彩虹效果。
原创
发布博客 2024.08.31 ·
1005 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

修改 Ubuntu 终端的语言为中文 ️✨

检查环境变量echo $LANG看看语言设置有没有生效~ 🧐运行命令测试:可以试试运行date命令,看看输出的内容是不是变成你想要的语言了~ 🕰️查看所有语言设置:输入localelocale。
原创
发布博客 2024.08.25 ·
1661 阅读 ·
9 点赞 ·
0 评论 ·
14 收藏

使用 PlatformIO 将文件上传到 ESP32-S3 的 SPIFFS 文件系统

PlatformIO 是一个流行的开发平台,用于编写、构建和上传嵌入式项目。ESP32-S3 是 Espressif 推出的一款功能强大的嵌入式开发板,具有丰富的外设和通信接口。本文将介绍如何使用 PlatformIO 将文件上传到 ESP32-S3 的 SPIFFS(SPI Flash File System)文件系统中。
原创
发布博客 2024.06.10 ·
1631 阅读 ·
10 点赞 ·
0 评论 ·
35 收藏

使用 ESP32 和 PlatformIO (arduino框架)实现 Over-the-Air(OTA)固件更新

随着物联网技术的发展,越来越多的设备需要进行固件更新以修复漏洞、添加新功能或提高性能。传统的固件更新方式需要通过串口连接或者直接物理接触设备,但是当设备分布在远程位置时,这种方式就显得非常不便。而 OTA 固件更新技术则能够解决这个问题,使得固件更新可以通过网络实现。通过使用 PlatformIO 环境和 ESP32 开发板,我们可以轻松实现 OTA 固件更新功能。这使得固件更新变得更加灵活和便捷,大大提高了设备管理的效率。在物联网应用中,OTA 技术将会发挥越来越重要的作用,帮助我们更好地维护和管理设备。
原创
发布博客 2024.06.08 ·
2195 阅读 ·
27 点赞 ·
5 评论 ·
31 收藏

[已解决]ESP32-C3上传程序成功但没有反应的问题

ESP32-C3是一款功能强大的微控制器,常用于物联网(IoT)应用的开发和原型设计。然而,有时候在上传程序成功后,设备却没有任何反应,十分让人费解。通过各种尝试已解决这个问题。
原创
发布博客 2024.06.07 ·
1011 阅读 ·
4 点赞 ·
1 评论 ·
4 收藏

13. ESP32-HTTPClient(Arduino)

在ESP32开发里,网络通信是挺重要的一部分,你可能需要从服务器拿数据啊,或者把传感器数据发到云端什么的。不过别担心,ESP32 Arduino框架给我们提供了HTTPClient库,让HTTP请求轻松简单。这篇文章就是来告诉你怎么在ESP32上利用HTTPClient库做HTTP请求的。
原创
发布博客 2024.06.07 ·
1599 阅读 ·
25 点赞 ·
0 评论 ·
23 收藏

12. ESP32-JSON(Arduino)

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,同时也易于机器解析和生成。JSON 是基于 JavaScript 的一个子集,虽然 JSON 是基于 JavaScript 的,但可以在许多编程语言中使用。现代的大多数编程语言都内置了 JSON 库,或者可以使用第三方库来方便地解析和生成 JSON 数据。。在Arduino框架下,使用ESP32处理JSON数据是物联网开发中一个普遍的需求。
原创
发布博客 2024.06.07 ·
1837 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

20. FreeRTOS 直接任务通知当邮箱使用

任务通知是FreeRTOS提供的一种轻量级的任务间通信方式。每个任务都有一个与之关联的32位无符号整数,该整数就是任务通知的值。任务可以等待其任务通知的值被设置,也可以检查其任务通知的值是否已经被设置。
原创
发布博客 2024.06.04 ·
429 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

19. FreeRTOS 直接任务通知 代替 事件组

直接任务通知和事件组各有优缺点。直接任务通知高效、简单,但适用场景有限;事件组灵活、功能强大,但需要更多的内存和处理时间。
原创
发布博客 2024.06.04 ·
408 阅读 ·
5 点赞 ·
0 评论 ·
11 收藏

18. FreeRTOS 直接任务通知取代取代二进制信号量

直接任务通知可以用来替代二进制信号量在任务之间进行同步和简单的事件通知。这个方法有很多好处,比如**占用更少内存**:直接任务通知与任务控制块(TCB)直接相关,不需要额外的内存分配,而二进制信号量则需要额外的信号量控制块。**更高效**:直接任务通知避免了信号量获取和释放的开销,直接修改任务的内部状态,提高了性能。**更简洁**:直接任务通知提供了简洁的 API 调用,减少了代码的复杂性。
原创
发布博客 2024.06.04 ·
394 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

17.FreeRTOS直接任务通知 Notification

FreeRTOS 直接任务通知提供了一种高效的任务间通信机制,可以实现任务间的同步和协作,适用于多种实时嵌入式系统中。通过简单的 API 调用,任务可以发送和接收直接任务通知,从而实现灵活的任务管理和事件触发。
原创
发布博客 2024.06.03 ·
977 阅读 ·
10 点赞 ·
0 评论 ·
13 收藏

16.FreeRTOS数据结构:StreamBuffer,MessageBuffer和Queue的区别

在嵌入式系统开发中,任务间的通信是非常重要的一部分。FreeRTOS提供了多种数据结构来实现任务间的通信,包括`StreamBuffer`,`MessageBuffer`和`Queue`。这三种数据结构各又什么特点又有什么区别呢?
原创
发布博客 2024.06.02 ·
789 阅读 ·
24 点赞 ·
0 评论 ·
23 收藏

15.FreeRTOS 消息缓存 Message Buffer

消息缓存是 FreeRTOS 提供的一种数据结构,用于在任务之间传递变长消息。与队列不同,队列适合固定长度的数据项,而消息缓存可以处理长度可变的消息。这使得消息缓存非常适用于需要传递不同长度消息的场景,比如传输字符串或结构化数据。FreeRTOS 消息缓存通过在发送和接收消息时记录和读取消息长度,确保了消息的完整传递。这样的设计使得发送的数据和接收的数据大小相等,从而保证了任务间通信的一致性和可靠性。
原创
发布博客 2024.06.02 ·
1060 阅读 ·
14 点赞 ·
0 评论 ·
14 收藏

14.FreeRTOS 流媒体缓存 Stream Buffer

Stream Buffer 是 FreeRTOS 提供的一种数据结构,专门用于在任务之间传递和处理流式数据。与队列不同,Stream Buffer 适用于大数据块的流式传输,而不是单个数据项的传输。这使得它非常适合用于音频、视频和其他连续数据流的场景。
原创
发布博客 2024.06.02 ·
1609 阅读 ·
17 点赞 ·
0 评论 ·
13 收藏

13.FreeRTOS使用事件标记组

事件标记组是一个24(在 FreeRTOS 中,默认情况下,事件标记组的位数是 24 位)位的变量,每一位(bit)可以独立地被设置或清除。任务可以等待一个或多个事件标记被设置,并且可以选择等待所有指定的事件标记都被设置或任意一个被设置。当某个事件发生时,任务可以设置对应的事件标记,通知等待这些标记的任务。
原创
发布博客 2024.06.02 ·
644 阅读 ·
16 点赞 ·
0 评论 ·
26 收藏

32-ESP32-S3-WIFI篇-03 Event Loop (事件循环)

在ESP32-S3的WiFi驱动程序中,事件循环是一个非常重要的概念。事件循环是一个无限循环,用于处理和分发系统中发生的各种事件。在WiFi驱动程序中,我们使用事件循环来处理和分发WiFi相关的事件。
原创
发布博客 2024.05.31 ·
959 阅读 ·
18 点赞 ·
0 评论 ·
21 收藏
加载更多