自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

EmbedIoT Studio

专注嵌入式物联网相关技术

  • 博客(104)
  • 资源 (5)
  • 收藏
  • 关注

原创 分享一下我的学习方法

方法论 -- 分享一下我是如何学习RT-Thread的在分享我的学习过程之前,先交代一下背景。我是从2020年11月初开始学习RT-Thread实时操作系统的,在学习RT-Thread之前,我接触过uCOS和FreeRTOS,但这两个在单片机上应用的实时操作系统,我都没有仔细并系统化地进行学习,都只是局限于开发板上运行一下demo例程。我以前在开发板公司工作的时候,曾经系统化地学习过Linux驱动程序,当时是买韦东山的2440驱动教程,不过很遗憾,一直没有从事过Linux驱动开发相关的岗位,学过

2021-01-13 09:43:03 501 1

原创 分享一下我的从业经历和工作感悟

我是helloworld,1990年出生于广东江门,2009年参加高考,2012年毕业于广东轻工职业技术学院,电气自动化专业。目前从事嵌入式软件开发工作,主要的技术栈是C语言,单片机应用技术,嵌入式Linux应用开发,低功耗蓝牙BLE SOC应用开发。从以下几个方面,聊一聊自己这些年平凡的从业经历和感悟吧。我的大学生活2009年因为高考失利,差一丁点分数就能考上广东本科A线,被划分到本科B线,但因为本科B线高昂的学费,最终还是选择了广东轻工职业技术学院这间高职院校。前两年的大学生活.

2020-12-29 14:10:54 2755 19

原创 如何进行嵌入式 Windows 开发?

在平时的嵌入式产品开发过程中,因为产品的业务需求,要求工程师需要使用操作系统进行任务调度,对于嵌入式技术领域,工程师们听得最多或者接触得最多的,就是嵌入式Linux,或者是基于单片机芯片运行的实时操作系统RTOS。

2023-10-16 20:48:02 327

原创 ESP32网络应用 -- ESP32-S3通过OTA方式远程更新应用程序固件(方法二)

使用简单的OTA接口函数对应用程序固件进行远程升级,整个过程对于应用程序开发者来说是黑盒子操作,开发者如果想监控整个OTA过程,并且处理OTA过程中可能出现的异常情况,使用简单的OTA接口则不合适。为了方便开发者对产品的应用程序固件升级过程进行监控,ESP-IDF编程框架提供了另一种OTA升级方式,使用更底层的API接口函数,把整个OTA过程的关键步骤都实现出来,这种方式在ESP-IDF里面有提供例程,native_ota_example,如下图所示。

2023-07-22 15:02:13 859

原创 ESP32网络应用 -- ESP32-S3通过OTA方式远程更新应用程序固件(方法一)

在嵌入式物联网相关的应用产品里面,空中下载技术(Over-the-Air Technology,简称OTA)几乎是一种标配的产品功能,OTA技术可以让硬件产品设备不拆外壳不接线材,通过无线通信方式,更新设备本身的应用程序固件,从而降低了硬件产品的开发成本。

2023-07-09 10:09:40 1327

原创 ESP32网络应用 -- ESP32-S3使用MQTT协议与其他设备进行数据交互

在嵌入式物联网技术领域,MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议是一种非常常见且应用广泛的消息协议,它基于发布/订阅范式进行数据传输。ESP32-S3是一款应用广泛的物联网Wi-Fi SOC,基于乐鑫官方提供的ESP-IDF编程框架,可以很方便地开发出一个简单的MQTT CLIENT应用程序,乐鑫官方也提供了几个MQTT示例程序,供开发者进行参考

2023-06-26 09:14:17 804

原创 ESP32网络应用 -- ESP32-S3使用HTTP协议获取城市天气数据

超文本传输协议(Hypertext Transfer Protocol,HTTP),是一种建立在TCP协议之上,应用非常广泛的请求-响应协议,关于HTTP协议的详细描述,网上已经不乏文章,此处不再详细论述。作为一款网络功能强大Wi-Fi SOC芯片,ESP32-S3可以通过ESP-IDF编程框架提供的应用程序接口,方便地构建出一个HTTP CLIENT应用程序,并且官方的ESP-IDF已经提供了一个简单的HTTP CLIENT示例

2023-06-18 21:22:48 1398

原创 ESP32网络应用 -- ESP32-S3在STA模式下创建TCP-CLIENT应用程序

在ESP32-S3初始化为Station模式并且成功获取IP地址后,说明ESP32-S3芯片的底层设施已经具备Wi-Fi网络通信能力,但在实际的应用场景里面,仅仅建立数据链路层,还是不能够满足应用程序的数据通信需求。

2023-06-11 19:32:25 1343

原创 ESP32网络应用 -- ESP32-S3使用STA模式连接Wi-Fi热点

作为一款功能强大的Wi-Fi SOC芯片,ESP32-S3提供了以下三种工作模式:Station模式、AP模式、Station/AP共存模式。本文主要讲述ESP32-S3在Station模式下,连接指定的Wi-Fi热点,并成功获取IP地址。

2023-05-28 20:11:37 1471

原创 ESP32网络应用 -- ESP32-S3扫描附近WiFi热点信息

学习ESP32,一定要学习WiFi相关的知识点,先从基本的Station角色开始,从扫描WiFi热点,到配置和连接WiFi,再进阶到各种各样的配网方式,然后再到各种网络通信应用,一步步挖掘ESP32系列芯片强大的WiFi功能。

2023-05-17 21:01:43 1225

原创 ESP32学习笔记 -- ESP32-S3使用自定义分区表

分区表(Partition Table),主要是用来对ESP32-S3外挂的SPI FLASH进行区域划分的一个表格,通过这个表格,可以根据多个不同的功能,将SPI FLASH划分为不同的区域,方便开发者存储数据。

2023-05-11 21:42:08 1102

原创 ESP32学习笔记 -- ESP32-S3使用NVS存储数据

非易失性存储(Non-Volatile Storage)简称NVS,是用来保存一些设备断电后不能丢失的数据,乐鑫的ESP32-S3芯片使用了一套NVS库函数对外置的SPI FLASH进行读、写、擦除等操作。

2023-05-09 20:22:27 2055

原创 ESP32学习笔记 -- ESP32-S3 使用外部 PSRAM

ESP32-S3是乐鑫科技推出的一款专为物联网而生的SOC芯片,该芯片同时支持WIFI和BLE蓝牙功能,集成了高性能的Xtensa 32位LX7双核处理器,最高主频可达240MHz。

2023-05-07 18:37:34 3282

原创 嵌入式C语言设计模式 --- 外观模式

外观模式(Facade Pattern),是一种比较简单的结构型模式,它存在的目的,也是为了简单。外观模式隐藏了一系列接口的复杂性,旨在为外部客户端提供一个更高层次且统一简单的接口,简化了客户端调用某些模块的一系列操作。

2023-02-17 14:57:01 3815

原创 嵌入式C语言设计模式 --- 代理模式

代理模式(Proxy Pattern),是指当客户端无法访问某个对象或者访问某个对象存在困难的时候,可以通过一个代理对象来进行间接访问。

2023-02-16 09:48:17 697

原创 嵌入式C语言设计模式 --- 装饰器模式

装饰器模式(Decorator Pattern),是结构型设计模式的一种,装饰器模式允许向一个现有的对象添加新的功能,而又不改变其对象结构,这种方式比使用子类继承的方式更加灵活。装饰,顾名思义,就是在原有事物的基础上,锦上添花地新增某些点缀或功能,但事物原有的功能依旧继续保留。

2023-01-18 15:07:20 1705

原创 嵌入式C语言设计模式 --- 适配器模式

适配器模式(Adapter Pattern),是属于结构型模式的一种,可以作为两种不兼容的接口之间的桥梁,它结合了两个独立接口的功能,并为应用层业务提供统一的接口。在我们的日常生活里面,经常可以看到“适配器”相关的产品,比如:电源适配器,USB接口适配器,显示器接口适配器,等等。

2023-01-16 15:49:24 883

原创 嵌入式C语言设计模式 --- 原型模式

原型模式(Prototype Pattern),是属于创建型模式的一种。原型模式主要是使用了原型对象实例,来指定被创建对象的种类,并且通过拷贝原型对象的方式,来创建新的对象。顾名思义,就是在创建一个新的对象的时候,先要有一个模板,这个模板被称作“原型”,后续被创建的新对象,就是依据这个“原型”进行创建的。

2022-12-30 16:34:36 709

原创 嵌入式C语言设计模式 --- 建造者模式

建造者模式(Builder Pattern),也称生成器模式,是创建型模式的一种。使用多个简单的对象一步一步创建一个复杂的对象,将一个复杂对象的构建过程与这个对象的具体表示进行分离,使得同样的构建过程可以创建不同的表示。

2022-12-30 10:14:40 460 4

原创 嵌入式C语言设计模式 --- 关于工厂模式的总结

关于三种工厂模式,都各有利弊,应该根据不同的业务开发场景进行选择使用。

2022-12-30 09:57:07 480

原创 嵌入式C语言设计模式 --- 抽象工厂模式

抽象工厂模式,是一种为访问类提供一个创建一组相关或相互依赖对象的接口,而且访问类无需指定所要产品的具体类就能够得到同族产品不同等级的产品的模式结构。

2022-12-29 16:27:21 447

原创 嵌入式C语言设计模式 --- 工厂方法模式

举一个通俗的例子,假设你是一家电器工厂的CEO,以前是同一家工厂(简单工厂模式),根据季节的不同(switch-case),来生产不同的电器(空调或者电暖炉)。因为你之前赚翻了,现在干脆建了两家工厂,一家工厂生产空调,一家工厂生产电暖炉,两家工厂各产各的,互相独立运作。

2022-12-29 15:51:05 399

原创 嵌入式C语言设计模式 --- 简单工厂模式

简单工厂模式(Simple Factory Pattern)是一种创建型模式,严格来说,简单工厂模式不属于23种设计模式之一,但简单工厂模式在实际的软件开发中,最为简单实用,因此,有必要学习一下简单工厂模式。

2022-12-29 15:11:14 290

原创 嵌入式C语言设计模式 --- 单例模式

单例模式(Singleton Pattern)是软件程序设计中最简单的设计模式之一,单例模式在设计模式分类中,是属于创建型模式,它提供了一种创建对象(实例,变量)的最佳实践方式。顾名思义,单例(也叫单件),也就是在整个程序设计中,只存在一个单一的类(C语言中叫“类型”,通常用结构体类型表示),这个类负责创建一个对象(C语言中叫“定义变量”,通常是指结构体变量)

2022-12-29 15:01:00 2043

原创 嵌入式C语言面向对象编程 --- 总结

不是所有使用C语言开发的嵌入式软件,都一定要用面向对象的思维进行编码指导,也并不是否定C语言面向过程开发的优势之处。一名优秀的嵌入式软件工程师,需要学会根据实际的项目情况,合理地选择编程语言和编程思维,才能创造出稳定可靠,高内聚低耦合,高弹性易扩展的应用软件。

2022-12-27 09:41:27 790

原创 嵌入式C语言面向对象编程 --- 多态

使用 C 语言实现多态,除了使用结构体构建出一个父类,还需要先构建出一个虚函数表,这个虚函数表就是一系列函数指针的结构体。简单来说,就是在结构体里面包含了函数指针作为函数的接口,而这个函数指针则可以根据程序运行时的情况,分别赋予不同的函数入口,从而实现同一个接口不同的功能调用。

2022-12-27 09:15:13 274

原创 嵌入式C语言面向对象编程 --- 继承

继承就是基于一个已有的类(一般称作父类或基类),再去重新声明或创建一个新的类,这个类可以称为子类或派生类。子类或派生类可以访问父类的数据和函数,然后子类里面又添加了自己的属性和数据。

2022-12-27 08:59:26 779

原创 嵌入式C语言面向对象编程 --- 封装

大部分使用 C 语言进行开发的工程师,在接触更高级的编程语言之前,都认为 C 语言是面向过程的。事实也是如此,对于一些小规模的单片机应用程序,一般都是使用“面向过程”的思维进行单片机C语言编程开发。

2022-12-22 18:01:54 1051

原创 ESP32学习笔记 -- 基于 ESP32 移植 LVGL8.3

以前写过一篇文章,讲述了如何基于ESP32 芯片移植LVGL这个GUI框架,当时是在LVGL移植好的工程lv_port_esp32上进行的,这个工程最新支持到LVGL7.9版本,关于之前的移植文章,可以参考以下链接:

2022-11-20 20:30:19 2164

原创 ESP32学习笔记 -- 使用 gitee 在 ubuntu 22.04 搭建 ESP-IDF 开发环境(新版本)

以前写过一篇文章,讲述了如何使用gitee在ubuntu环境下,搭建ESP-IDF开发环境,随着乐鑫ESP32的开发生态越来越完善,关于使用gitee在ubuntu上搭建ESP-IDF开发环境的方法,乐鑫也进行了相应的更新,比前文的那种方法简单方便了很多。前面的文章是使用ubuntu18.04 LTS作为Linux Host的,这次也同时把操作系统升级到ubuntu 22.04 LTS,关于ubuntu 22.04的安装,可以参考网络上面的各种文章。

2022-11-14 23:07:17 879

原创 嵌入式C语言设计模式 --- 前言

重构嵌入式 C 语言开发的思维模式

2022-11-10 09:23:14 1373

原创 【嵌入式物联网实战项目】涂鸦幻彩灯带SDK商用项目

最近,我在刷视频的时候,偶然间刷到一个很有趣的视频,是涂鸦智能发布的智能幻彩灯带控制方案。https://www.bilibili.com/video/BV1vr4y1q7Sn?spm_id_from=333.999.0.0作为一名Tuya Developer(自己给自己取的Title,哈哈哈),在经过一番了解之后,得知原来涂鸦的IoT产品生态里面,早已经推出幻彩灯带的零代码免开发方案,可以直接使用涂鸦提供的CBU模组,在涂鸦的IoT平台上直接创建产品,快速进行方案落地。我以前也做过APP控制灯带的方案,是

2022-07-01 22:31:14 2729

原创 【嵌入式物联网实战项目】环境监测设备接入涂鸦IoT开发平台

小熊派物联网开发板接入涂鸦 IoT 开发平台实现植物环境监测物联网的概念其实十几二十年前就已经有了,随着人工智能,大数据,云计算这些科技的发展,越来越多的物联网项目正式商用落地,比如,共享单车和共享汽车,全屋智能家居,等等。时至今天,国内的物联网生态可谓百花齐放,不乏一线大厂,比如华为腾讯小米;小米应该是布局物联网生态比较早的公司,大部分人都认为小米是做手机的,但发展到今天,小米已经成为一个生态链平台。大概在2015年左右,有一家公司渐渐进入物联网的生态圈,涂鸦智能。我最早接触涂鸦大概是在

2021-12-13 17:44:09 6774

原创 ESP32学习笔记 -- ESP32使用GUI-Guider制作LVGL图形界面

上一篇文章讲述了如何移植嵌入式图形界面库LVGL到ESP32芯片平台,并成功在ESP32上面运行LVGL的官方demo,上一篇文章请参考以下链接。ESP32学习笔记 - 移植LVGL_EmbedIoT Studio-CSDN博客截止至2021年11 月,LVGL官方尚未推出PC端的GUI设计工具,因此,在大多数情况下使用LVGL开发图形界面的时候,都是用代码的方式进行界面布局设计的,而不是使用拖曳控件的方式进行设计,这样会让工程师的工作量增加不少。有痛点就有工程师想办法解决,恩智浦(NXP)为了

2021-11-18 17:04:31 20435 5

原创 ESP32学习笔记 -- 移植LVGL

LVGL是一款用C语言编写的开源轻量级图形显示框架,LVGL集成了资源占用小,多平台使用,移植简单等一系列特点,特别适合在嵌入式设备上进行开发使用。ESP32是一款强大的WiFi SOC,特别适合用在物联网WiFi设备上,对于一些需要进行图形界面开发的业务场景,ESP32+LVGL这个搭配,基本可以满足需求了。在LVGL的官方文档上,已经有一个章节简单地描述了如何在ESP32上面移植LVGL,并且官方已经帮开发者移植好了一个示例工程,开发者只需要作简单的导入即可。LVGL关于ESP32的官方介绍页面

2021-11-12 10:07:01 12781 3

原创 ESP32学习笔记 -- (3)使用蓝牙BluFi进行设备配网

嵌入式软件工程师使用ESP32进行物联网开发,有些内容是必须要学习的,比如网络通信TCP/IP、UDP,应用层协议HTTP,MQTT,设备升级操作OTA,设备配网操作BluFi和SmartConfig,还有一系列物联网相关的知识点,如下图前几天在微信群里面讨论的:今天来分享一下,如何通过蓝牙BluFi进行ESP32设备配网。首先回答一下,为什么要进行配网?这是因为,现在很多联网设备都是没有屏幕和键盘的,比如天猫精灵、小爱同学这些智能音箱,还有一些可联网的灯具,等等。要让这些设备知道家里路由器的.

2021-09-01 14:50:31 6137

原创 ESP32应用案例 -- 低功耗433遥控器通过MQTT上报键值

技术标签:433MHz,低功耗,遥控器,ESP32,MQTT,远程控制。产品功能:按下遥控器按键,通过433MHz频段发送键值到ESP32主控,ESP32主控通过MQTT协议上报键值,并且在其他MQTT终端对键值进行显示。可以通过其他MQTT终端下发指令给ESP32主控,控制主控上的LED进行有规则的亮灭操作。产品框架图:要设计一款超低功耗的433遥控器,而且要做到低成本,低功耗,易于生产和使用,遥控器那一端就不能选用一些通过MCU来驱动的433模组或芯片了,找遍全网,发现可以选用一些单发.

2021-08-26 11:05:54 2830

原创 ESP32学习笔记 -- (2)使用gitee搭建 ESP-MDF 开发框架

上一篇文章讲述了如何使用gitee搭建ESP-IDF开发框架,上一篇文章的具体内容,请查看以下链接。ESP32学习笔记 -- (1)使用gitee搭建 ESP-IDF 开发框架除了ESP-IDF开发框架,乐鑫还提供了针对WIFI组建MESH网络的开发框架,ESP-MDF。这个框架是基于ESP-IDF封装的ESP-WIFI-MESH开发架构。有关ESP-WIFI-MESH的介绍和快速入门,可以查看官方提供的文档内容:ESP-WIFI-MESH相关概念介绍ESP-MDF 快速入门文档由于

2021-07-19 08:53:09 1913 3

原创 ESP32学习笔记 -- (1)使用gitee搭建 ESP-IDF 开发框架

关于如何搭建ESP32的开发环境,乐鑫官方给出了很详细的教程和文档,基本上跟着官方教程来操作,都可以顺利把ESP-IDF的开发环境搭建好,并且运行一个helloworld程序。乐鑫官方提供的ESP-IDF框架搭建文档,参考以下链接:ESP-IDF 编程指南快速入门网上也有很多关于ESP32开发环境搭建的文章,我个人觉得写得比较好的是以下这两篇,文章已经包括了windows和Linux下的开发环境搭建。ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)ESP3

2021-07-09 15:44:50 2469 11

原创 分享一下嵌入式 HarmonyOS 的学习思路

分享一下嵌入式 HarmonyOS 的学习思路在我拿到小熊派鸿蒙开发板后,首先按照教程,搭建了开发环境,体验了一下程序是如何进行编译和下载,以及初步了解了一下资料的架构。关于小熊派鸿蒙开发板的信息,可以戳这里 开始学习 HarmonyOS 嵌入式开发在这里,分享一下我的学习思路,希望能对大家有一点点的帮助~HarmonyOS是什么?我们在学习一件新的事物之前(比如即将要学习的HarmonyOS),首先要去做的,并不是看它的源码,也不是去技术博客看它的实现原理,更不是去一些论坛或者..

2021-06-15 10:42:31 19109 9

嵌入式Linux(开发环境搭建+应用程序开发+系统移植开发).zip

一系列嵌入式Linux的开发文档,里面主要是开发环境搭建和QT应用程序开发,还包含了少量的系统移植相关文档。

2020-04-10

嵌入式Linux系统移植开发-(1)基于Yocto构建嵌入式u-boot,内核,文件系统.pdf

Yocto是什么?简单地概括,它是一个工具,可以用来构建u-boot,kernel,文件系统,交叉编译工具链,等等。Yocto提供了一套完整的全面的嵌入式Linux移植解决方案。使嵌入式Linux系统移植告别了以前通过源码一步步移植的刀耕火种年代。Yocto解决了嵌入式Linux行业内各自为政的乱象,它为芯片厂家,操作系统,和设备厂商之间的协作提供广泛一致的行业支持。

2019-07-01

蓝牙Mesh基础开发-Nordic nRF5 SDK for Mesh.pdf

Bluetooth Mesh是Bluetooth SIG开发和发布的配置文件规范。 本文档介绍了蓝牙网状网络的基本概念,并概述了配置文件的操作和功能,并解释了网状网络设备的生命周期。 有关Nordic半导体实施蓝牙网格的更多具体信息,请参阅网格体系结构文档。

2019-06-21

TQ E9-V3 Linux应用程序开发手册

本手册是在参考天嵌官方提供的资料文档基础上, 进行一系列的整理以及改进, 开发者参考本手册, 可以快速地在 TQ E9-V3 平台搭建开发环境和构建应用程序。 本手册默认开发者已具备一般的 Linux 操作系统技能, 会进行一些 Linux 基本命令的使用。 对于 Linux 系统的操作细节及高级使用, 不在本手册的描述范围之内。天嵌官方提供的开发资料手册都在“TQIMX6_V3.0_CD_20181016\开发板配套教材集” 目录下。 开发者可结合天嵌官方提供的开发资料和本文档作为参考。

2019-03-18

Linux内核情景分析

2016-06-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除