关键词:
文章目录
专栏说明
本教程专注于IoT领域开发,内容用五个字概括:从裸机到云端。
- 讲述如何使用STM32CubeMX进行裸机开发(覆盖常用外设)
- 如何使用TencentOS-Tiny、RT-Thread、ucOS、FreeRTOS、threadX等RTOS
- 如何使用各种开源组件库
- 常见WiFi、4G、NB-IoT、LoRa等通信模组的使用、
- mqtt对接各种云平台
- 一些实战项目
- 持续更新中……
- 截至20220919共有157篇文章
一、开发环境相关
- 【Keil MDK】(一)Keil MDK 5.28 的下载、安装、破解
- 【Keil MDK】(二)Keil MDK中芯片器件包的安装
- 【Keil MDK】(三)Keil MDK更换Sublime Text Molokai主题
- 【Keil MDK】(四)Keil MDK的一些推荐功能(编码格式、自动保存、代码提示、动态语法检查、多核编译)
- 【STM32开发环境】Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
- 【STM32开发环境】Linux下开发stm32(二) | 使用openocd下载程序(2022.04.05更新)
- 【STM32开发环境】Linux下开发stm32(三) | 寄存器工程开发
- 【STM32开发环境】Linux下开发stm32(四) | 固件库工程开发
- Windows上使用 OpenOCD 给 STM32 下载程序
- mac下搭建stm32开发环境
二、STM32裸机开发
实战篇中使用的开发板是小熊派开发板
STM32CubeMX系列教程
- 【STM32Cube_01】初识 STM32Cube 生态系统
- 【STM32Cube_02】获取并安装STM32CubeMX
- 【STM32Cube_03】使用GPIO点亮一个LED
- 【STM32Cube_04】使用GPIO进行按键检测
- 【STM32Cube_05】使用EXIT中断检测按键
- 【STM32Cube_06】使用USART发送和接收数据(查询模式)
- 【STM32Cube_07】使用USART发送和接收数据(中断模式)
- 【STM32Cube-08】使用USART发送和接收数据(DMA模式)
- 【STM32Cube-09】重定向printf函数到串口输出的多种方法
- 【STM32Cube-10】使用ADC读取气体传感器数据(MQ-2)
- 【STM32Cube-11】使用通用定时器闪烁LED
- 【STM32Cube-12】使用通用定时器产生PWM驱动蜂鸣器
- 【STM32Cube-13】使用硬件I2C读写EEPROM(AT24C02)
- 【STM32Cube-14】使用硬件I2C读取环境光强度传感器数据(BH1750)
- 【STM32Cube-15】使用硬件I2C读取温湿度传感器数据(SHT30)
- 【STM32Cube-16】使用硬件CRC校验数据(以SHT30为例)
- 【STM32Cube-17】使用硬件SPI驱动TFT-LCD(ST7789)
- 【STM32Cube-18】使用硬件QSPI读写SPI%20Flash(W25Q64)
- 【STM32Cube-19】使用SDMMC接口读写SD卡数据
- 【STM32Cube_20】在SD卡上移植FATFS文件系统
- 【STM32Cube_21】使用DAC输出任意指定电压
- 【STM32Cube_22】使用ADC读取电压值
- 【STM32Cube_23】使用USART接收GPS数据并解析(L80-R)
- STM32CubeMX | 28 - STM32片内Flash的使用
- STM32CubeMX | 29-使用硬件I2C读取甲醛传感器SGP30
- STM32CubeMX | 30-使用硬件SPI读写FLASH(W25Q64)
- STM32CubeMX | 31-使用硬件FMC读写SDRAM(W9825G6KH)
- STM32CubeMX | 32-使用硬件FMC驱动TFT-LCD屏幕(MCU屏)
- STM32CubeMX | 33-使用GPIO读取温度传感器数据(DS18B20)
- STM32CubeMX | 34-使用硬件FSMC读写SRAM(IS62WV51216)
- STM32CubeMX | 35-使用硬件FSMC驱动TFT-LCD屏幕(MCU屏,NT35510控制器)
- STM32CubeMX | 36 - 使用CAN总线进行双板通信(TJA1050)
- STM32CubeMX | 37 - 使用RS485总线进行双板通信(SP3485)
- STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)
- STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)
- STM32CubeMX | 41 - 使用LTDC驱动TFT-LCD屏幕(RGB屏)
- STM32CubeMX | 42 - 使用DMA2D加速显存数据传输
玩转嵌入式屏幕显示
- 【玩转嵌入式屏幕显示】(一)显示器概述(常见显示器及其显示原理)
- 【玩转嵌入式屏幕显示】(三)TFT-LCD屏幕打点 + 画线 + 画矩形 + 画圆Bresenham算法实现(基于打点函数,算法可移植到任何屏幕的驱动程序之上)
- 【玩转嵌入式屏幕显示】(四)TFT-LCD屏幕显示英文字符(ASCII)和字符串
- 【玩转嵌入式屏幕显示】(五)TFT-LCD屏幕显示图片
- ST7789 SPI LCD硬件垂直滚动功能的使用
- 【玩转嵌入式屏幕显示】(七)LCD中文字符显示机制
嵌入式开源小组件的使用
- cJSON使用详细教程 | 一个轻量级C语言JSON解析器
- MultiButton | 一个小巧简单易用的事件驱动型按键驱动模块
- letter-shell | 一个功能强大的嵌入式shell
- EasyLogger | 一款轻量级且高性能的日志库
- SFUD | 一款串行 Flash 通用驱动库
- EasyFlash | 让 Flash 成为小型 KV 数据库
- EasyFlash V4.0 ENV 功能设计与实现
- MultiTimer | 一款可无限扩展的软件定时器
- MultiTimer v2 重构版本 | 一款可无限扩展的软件定时器
- cmd-parser | 一个基于哈希匹配的超快命令解析器
- jsmn | 一个资源占用极小,解析速度最快的json解析器
- CmBacktrace | 一款 ARM Cortex-M 系列 MCU 错误追踪库
- ringbuff | 通用FIFO环形缓冲区实现库
- 使用J-Link打印日志——SEGGER Real-Time Transfer(RTT)工具的移植使用
mbedtls开源安全库
- mbedtls | 01 - 移植mbedtls库到STM32的两种方法
- mbedtls | 02 - 伪随机数生成器(ctr_drbg)的配置与使用
- mbedtls | 03 - 单向散列算法的配置与使用(MD5、SHA1、SHA256、SHA512)
- mbedtls | 04 - 对称加密算法的配置与使用(AES算法)
- mbedtls | 05 - 消息认证码的配置与使用(HMAC算法、GCM算法)
- mbedtls | 06 - 非对称加密算法的配置与使用(RSA算法)
- mbedtls | 07 - DH秘钥协商算法的配置与使用
- mbedtls | 08 - ECDH秘钥协商算法的配置与使用
- mbedtls | 09 - 数字签名算法的配置与使用(RSA数字签名算法、ECDSA数字签名算法)
- mbedtls | 10 - 数字证书及 X.509 证书标准
DW1000 UWB芯片开发笔记
- DW1000开发笔记(一)DW1000芯片概览
- DW1000开发笔记(二)使用STM32硬件SPI+STM32cubeMX+HAL库测试DW1000通信
- DW1000开发笔记(三)基于STM32 HAL库裸机工程移植DW1000官方驱动
- DW1000开发笔记(四)DW1000使用轮询方式发送数据
- DW1000开发笔记(五)DW1000使用轮询方式接收数据
- DW1000开发笔记(六)DW1000发送数据并等待另一个DW1000回应
LVGL学习笔记
三、项目经验积累
- 骚操作!快速创建JSON数据和解析JSON数据
- C语言从一段字符串中提取IP地址的方法
- 实用小技巧 | 用socket玩转http接口
- C语言使用 sscanf 提取AT命令返回结果中的有效数据
- keil遇到FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘解决方法
- Jlink接口引脚定义
- STM32WL芯片解锁方法
- 位图数组在XY方向镜像翻转算法实现
四、RTOS开发
1. RTOS内功修炼记(内核剖析)
- RTOS内功修炼记(一)—— 任务到底应该怎么写?
- RTOS内功修炼记(二)—— 优先级抢占调度到底是怎么回事?
- RTOS内功修炼记(三)—— 内核到底是如何管理中断的?
- RTOS内功修炼记(四)—— 小小的时钟节拍,撑起了内核半边天!
- RTOS内功修炼记(五)—— 任务间同步机制的实现,万变不离其宗!
- RTOS内功修炼记(六)—— 任务间通信为什么不用全局变量?
- RTOS内功修炼记(七)—— 内存管理
- RTOS内功修炼记(八)——CMSIS RTOS API,内核通用API接口
- RTOS内功修炼记(九)—— 任务入口函数执行完毕之后去哪里?
2. TencentOS-tiny
- TencentOS-tiny 正式开源,全网首发评测,带你极速上手体验!
- 数据结构 | TencentOS-tiny中的双向循环链表的实现及使用
- 移植TencentOS-tiny内核到裸机工程的方法
- TencentOS-tiny软件定时器的使用
- 数据结构 | TencentOS-tiny中队列、环形队列、优先级队列的实现及使用
- 数据结构 | TencentOS-tiny中单向链表的实现及使用
- 基于TencentOS-tiny实现PM2.5传感器(攀藤PMSA003)数据解析思路及实现
- 基于TencentOS-tiny实现甲醛传感器(英国达特 WZ-S)数据解析思路及实现
3. LiteOS
- LiteOS内核教程01 | IoT-Studio介绍及安装
- LiteOS内核教程02 | HelloWorld
- LiteOS内核教程03 | 任务管理(超简洁API,一行代码即可创建任务)
- LiteOS内核教程04 | 信号量(用于任务间同步)
- LiteOS内核教程05 | 互斥锁(共享资源保护)
- LiteOS内核教程06 | 内存管理
- atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享
- shell | LiteOS 物联网操作系统中的 shell 组件使用分享
- RT-Thread、LiteOS这些操作系统中,编译出的程序为什么能打印出当前时间?
- 一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
5. ThreadX
6. uc/OS-III
7. FreeRTOS
五、IoT物联网开发
1. 通信协议
2. 私有云搭建
- AIOT时代来临,物联网平台(IoT Platform)真有那么重要吗?
- Redis 3.2安装过程(win10)
- PostgreSQL 10.11在Windows10的安装方法
- Mosquitto在win10的安装方法
- Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式)
- Docker Compose 在Linux上的安装方法
- EMQX MQTT 服务器(上篇)| 使用EMQ-X搭建私有MQTT服务器
- EMQX MQTT 服务器(下篇)| 开启客户端身份安全认证并使用mqtt.fx测试
- Node-RED | 无需一行代码,快速在浏览器中构建一个可视化 IoT Web App
3. 公有云对接
4. 设备侧对接实例
- paho | 支持10种语言编写mqtt客户端,总有一款适合你!
- 小熊派移植TencentOS-tiny+ESP8266+MQTT对接腾讯云平台IoThub
- 小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub
- 小熊派移植 TencentOS-tiny+EC20+SAL框架对接 TCP/UDP 服务器
- TencentOS-tiny+ESP8266+mqttclient对接腾讯云平台IoThub
- 使用创思通信4G Cat1 DTU基于TencentOS-tiny对接腾讯云物联网开发平台
- 使用 TencentOS tiny 对接腾讯云IoT Explorer(以智能灯为例)
5. 通信模组系列
六、ARM架构研究
七、项目实战
RT-Thread迷你桌面时钟
- 使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建HelloWorld工程
- 使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)
- 使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)
- 使用RT-Thread Studio DIY 迷你桌面时钟(四)| OLED显示时钟和温湿度(cpp组件 + u8g2软件包)
- 使用RT-Thread Studio DIY 迷你桌面时钟(五)| 使用内置 Git 插件管理项目
- RT-Thread Studio 使用笔记(六)| 获取光传感器数据(I2C设备驱动+BH1750手写驱动代码分享)
- RT-Thread Studio 使用笔记(七)| 配合STM32CubeMX添加裸机驱动(以ADC为例)
- RT-Thread Studio 使用笔记(八)| 使用MQTT对接EMQ-X服务器(使用 pahomqtt 包)
- RT-Thread Studio 使用笔记(九)| 开启OLED显示(使用 u8g2 软件包 c-latest 版本)
- RT-Thread Studio 项目实战教程 | 快速打造一个桌面mini网络时钟
arduino框架下stm32f1/f4系列hid模式程序烧录教程(代码片段)
...系列HID模式程序烧录教程相关篇《Arduino框架下STM32全系列开发固件安装指南》HIDBootLoader烧录模式"Uploadmethod":"HIDbootloader2.2"开发固件基于已编译好的BootLoaderHex文件(包含STM32F1和STM32F4系列的BootLoaderHex文件& 查看详情
ios支付项目实践专栏-总目录(持续更新)
文章目录引言I、自定义视图1.1《用户协议及隐私政策》弹框1.2电子签名1.3商品详情页1.4上传图片视图的封装【支持删除和添加】1.5查看风险商户的证明材料,图片支持滑动切换1.6iOS常用动画【定点缩放弹窗】1.7iOS抽奖转盘:概... 查看详情
总目录(13章必修,2章选修)
C/Object-C基础UI基础UI进阶多线程源码管理实战技术OC加强/OC项目Swift项目实用技术HTML5跨平台开发即时通讯数据库项目精讲18套(选学)Swift精讲四季(选学) 查看详情
intellijidea使用教程(总目录篇)
注:本文来源于《 IntelliJIDEA使用教程(总目录篇) 》 IntelliJIDEA使用教程(总目录篇)硬件要求IntelliJIDEA的硬件要求安装包云盘分享IntelliJIDEA15,16win764位安装包以及注册码百度云盘(最新链接在文章底部... 查看详情
[18]java实战项目教程java电商项目服务端实战基于最新ssm框架视频源码全[15g]
视频试看链接:https://pan.baidu.com/s/1qY3bQMg淘宝链接:https://item.taobao.com/item.htm?spm=0.7095261.0.0.534444d0f5tDSg&id=562016685477 总目录: 子文件目录1: 子文件目录2: 视频: 查看详情
kotlin从基础到开发-总目录
总目录温馨提示:原价99.00,活动89.90,用户购买了才能看到这专栏下的全部文章,又不是只买单篇文章的,多看多思路多做多问,叫做技术,轻松让你成为Kotlin高手学前必读Android源码中com.android.support... 查看详情
100天精通oracle-实战系列-总目录(代码片段)
100天精通Oracle-实战系列总目录一、Oracle入门安装二、OracleRMAN备份恢复三、Oracle数据泵系列四、OracleRAC高可用五、ActiveDataGuard容灾六、Oracle分区表系列七、Oracle多租户八、Oracle升级九、Oracle故障排查十、OracleGoldenGate系列总目录欢... 查看详情
ios支付项目实践专栏-总目录(持续更新)
文章目录引言I、自定义视图1.1《用户协议及隐私政策》弹框1.2电子签名1.3商品详情页1.4上传图片视图的封装【支持删除和添加】1.5查看风险商户的证明材料,图片支持滑动切换1.6iOS常用动画【定点缩放弹窗】1.7iOS抽奖转盘:概... 查看详情
嵌入式--->总目录
嵌入式嵌入式嵌入式基础知识ceeding(UT嵌入式自动化测试工具),使用过程详解(保姆级)Modbus认识,Modbus使用STM32F7基础认识时钟中断EXTI串口相关,串口的所有寄存器详讲,串口通信接收不定长数据的方法看门狗DMA使... 查看详情
c3d行为识别总目录实战复现+代码解析+自定义数据集
C3D论文:https://arxiv.org/pdf/1412.0767.pdf目录:01【C3D行为识别】项目下载环境配置数据集转化视频帧使用平台:极链AI云平台 查看详情
专栏目录总览
...整理一些经典常用的主干网络模型,对其进行讲解和实战。由浅入深,逐步增加深度,让大家更容易接受。AlexNet第一篇AlexNet——论文翻译第二篇AlexNet——模型精讲第三篇制作数据集第四篇AlexNet——网络实战VGGNet第... 查看详情
002_stm32学习笔记:针对开发板bin文件通过st-link烧录stm32芯片
由于本人所持的开发板STM32F429-DIS上面带有了ST-LINK下载烧录部分,而且这个型号的开发板在embed上也获得支持。烧录文件:BIN文件烧录方式:ST-LINK烧录芯片:STM32F429I烧录准备: 1.开发板自带的一根USB线 2.官方烧录软件:ST... 查看详情
kotlin入门到精通(实战)-学前必读
...么推出这门课程呢?Google在IO大会上宣布Kotlin晋升为开发Android的一级语言了。而且很多关于Android的开源项目都是基于Kotlin开发的。所以对于Android开发来说掌握Kotlin是很多有必要的Kotlin本身的一些特性如简洁性,可以减少... 查看详情
60|测试专栏特别放送|浅谈全链路压测
intellijidea使用教程
...要求IntelliJIDEA对硬件的要求看上去不是很高。可是实际在开发中其实并不是这样的,特别是开发JavaWeb的项目的计算机,2G根本不够,4G内存是基本不够用的。他之所以快,是因为给代码建了很多索引,这些个索引都是需要空间的... 查看详情
stm32的内存扩展应用实现,小内存的单片机也能干大事(fsmc+sram)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《QT开发实战》《嵌入式通用开发实战》《 查看详情
nb-iot物联网开发技巧和应用:专栏总述
...项目进行剖析,使学习者迅速掌握物联网应用项目的开发技巧。对物联网、嵌入式、NB-IoT技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、... 查看详情
总目录机器学习原理剖析开源实战项目全套学习指南(50篇合集)
写在前面我为了更加的高效的学习,需要不断地输入和输出相信不管此时的你是怀着好奇心打开这篇文章;还是偶然间刷到这篇博文;或者带有学习目的性走到这片领域,我都相信,面前的你一定会成功,... 查看详情