最近收集的开源项目专栏(持续更新,收好车轮,方便造车)

简介: 最近收集的开源项目专栏(持续更新,收好车轮,方便造车)

640.png

经常在公众号这个菜单互动的小伙伴可能知道,最近我在这里偷偷加了一个开源项目的专栏,这个专栏主要是持续收集一些嵌入式方面的开源项目,当然也包括我自己开源的,目前已经更新了19个项目。

1 一个好用的量产集成测试工具

分享一个刚毕业的时候写的一个量产测试工具吧,采用的是C语言来编写,刚开始应用在Linux和Android平台上,后面通过移植也用在单片机上,使用起来也非常简单。


分享一个自己量产项目上的集成测试软件MTTEST

2 基于C标准库实现的键值对读写工具

ini 文件是Initialization File的缩写,即初始化文件,这是用来配置应用软件以实现不同用户的要求。


INI文件由节、键、值组成。一个简单的的INI文件例子如下:

[Setting]
INIT_FLAG=0;
VOLUME=1;
LANGUAGE=1;

分享一个好用的C语言.ini文件的解析库


基于小熊派SD卡+Fatfs+移植开源iniparse解析库并使用

3 两个好用的按键组件

在嵌入式系统或单片机程序开发过程中,经常会遇到各种按键的需求,比如按键短按、按键长按、按键双击,这些功能虽然不难,但想要完全写好这些功能并不简单。网上已经有大神实现了这样的组件,该组件的特性如下:


  • 使用时系统不阻塞
  • 低耦合性
  • 同一个按键可实现单击、双击、长按
  • 可根据按键线序更改,比如高电平触发或低电平触发


分享一个很好用的按键组件


第1期 | MultiButton,一个小巧简单易用的事件驱动型按键驱动模块


个人使用案例实现:


开源按键组件MultiButton支持菜单操作(事件驱动型)

4 两个好用且优雅的软件定时器框架

在一些项目里,我们要使用的定时器资源很多,假设硬件资源有限,那也不用愁,接下来将要介绍的是一个开源软件模块:MultiTimer


MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。


分享一个简单易用的软件定时器模块


还有一个轻量级的软件定时器SmartTimer


SmartTimer是一个轻量级的基于STM32的定时器调度器,在单片机裸跑的情况下,可以很方便的实现异步编程。


开源项目SmartTimer


个人使用案例实现:


超轻量级网红软件定时器multi_timer(51+stm32双平台实战)


基于小熊派光强传感器BH1750实践(multi_timer+状态机工程应用)


基于小熊派光强传感器BH1750状态机驱动项目升级(带LCD屏显示)


基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩


基于小熊派气体传感器MQ-2综合实践

5 一个好用的SPI FLASH开源项目SFUD

SFUD 全称 Serial Flash Universal Driver,是一款开源的串行 SPI Flash 通用驱动库。


SFUD | 一个简洁实用的开源项目,帮你轻松搞定SPI Flash

6【开源】省资源、高稳定的MQTT客户端

这一个基于socket API之上的跨平台MQTT客户端,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。


【开源】省资源、高稳定的MQTT客户端

7 超牛逼的高度可移植的菜单架构

今天给大家推荐一个非常不错的菜单架构,好朋友宋工写的,他把他认为最能拿得出手的东西贡献了出来,是一个挺不错的菜单架构,大家拿到源码,可以自己学习借鉴下。


完全由C编写,高度可移植,超级牛逼的菜单架构!

8 替代传统的打印调试printf

介绍另一种打印调试的方法——SEGGER 的RTT 。RTT全称是Real Time Transmit(实时传输),是Segger公司推出的,是配合J-link使用的一种调试手段。


替代串口打印,快来围观嵌入式中另一种打印调试的方法

9 专为MCU项目开发提速的代码框架Baby OS

BabyOS适用于MCU项目,是一套管理功能模块和外设驱动的框架。


对项目而言,缩短开发周期。项目开发时选择适用的功能模块及驱动。直接进入功能代码编写的阶段。


对工程师而言,减少重复工作。调试过的功能模块和驱动代码放入BabyOS中进行管理,以后项目可以直接使用,去掉重复调试的工作。


专为MCU项目开发提速的代码框架BabyOS

10 开源代码格式化工具Astyle

Astyle全称Artistic Style,是一个免费,快速,小型的自动格式化程序,适用于C,C++,C++/CLI,Objective‑C,C#和Java源代码。


分享一个在Keil开发环境中配置代码格式化工具Astyle(美化代码风格)

11 无线点菜宝

这是一款过时的,用STM32开发的一款手持类产品,虽然产品过时,但是技术并不过时,值得学习,目前产品已经断货了,但硬件和软件都开源。


开源STM32产品:无线点菜宝使用评测

12 常用的C语言经典测试学习案例

平时大家学习的一些C语言测试案例。


别瞎找了,你要的C语言经典示例都在这~

13 一个超轻量级的JSON解析器

众所周知,JSON是一种轻量级的数据格式,应用广泛。在C/C++应用中也常常作为配置文件或者数据的存储,因此JSON文件的生成和解析是必备知识。


一个超轻量级的JSON解析器

14 GitHub嵌入式高星开源项目

关于GitHub,可能很多人误以为这是互联网人的专属,其实并不是,那上面嵌入式相关的开源项目是有很多的。现分享一些高星开源项目(像RT-Thread、AWTK等大家都熟知的就不介绍了):


分享GitHub上一些嵌入式相关的高星开源项目

15 STM32F103产品级开源项目:iLook.Time

  • 2013年开始设计iTrack+yeelink,由于各种原因,该项目夭折。
  • 2014年年初开始提出面向产品的开源平台:iLook
  • 2015年5月发起iLook.爱路客
  • 2015年8月发起iLook.Time并开源

640.png

STM32F103产品级开源项目:iLook.Time设计解读

16 深圳云之手科技开源炫酷RGB灯板DIY项目

本文的RGB灯板是采用WS2812B的全彩灯,源码是采用SPI+DMA的方式驱动全彩灯,灯板要求的时序比较高,是微秒级别,本文所有延时均采用定时器处理,采用了合泰和STM32的MCU,目前本文选用的是STM32的STM32F103CBT6进行编写的处理,本项目纯属于娱乐时间开发的,最终展示效果:


深圳云之手科技开源炫酷RGB灯板DIY项目

17 华大开源火爆全网的额温枪方案(硬件+源码)

在疫情期间,涌现了不少为抗疫做贡献的企业,华大半导体有限公司就是其中一家,在国内额温枪紧缺的情况下,华大半导体就将自研的抗疫方案额温枪自主芯片、自主软、硬件,多热电堆匹配算法等额温枪方案资料开源共享,助力国内相关企业用开源的额温枪方案快速做出产品助力国内抗疫。现在,我们具体来看看开源了哪些东西:

640.png

分享一个近期开源火爆全网的额温枪方案(硬件+源码)

火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门

18 云之手红外式测温计产品设计分享(基于合泰BH67F2752方案)

这次介绍的是深圳市云之手科技有限公司的测温产品,出自陈工之手,这也是他个人目前开源的第二个项目,也是个非常成功的项目,产品已经实现大批量产。


云之手红外式测温计产品设计分享(基于合泰BH67F2752方案)

19 WIFI DTU产品设计与实现(基于STM32F103+QT配置上位机案例设计分享)

使用 WIFI 模组,完成 DTU 的功能,就叫做 WIFI DTU,WIFI DTU 的实现难点在于配网以及后期多端口及多种协议和端口的适配。

640.png

640.png

WIFI DTU产品设计与实现(基于STM32F103+QT配置上位机案例设计分享)

我将会一直汇总下去,敬请期待!

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
算法 计算机视觉
图像处理常用算法—6个算子 !!
图像处理常用算法—6个算子 !!
498 2
|
传感器 算法 数据格式
QT Modbus RTU调试助手(包含算法实现CRC MODBUS16校验)
QT Modbus RTU调试助手(包含算法实现CRC MODBUS16校验)
987 0
|
网络协议 物联网 芯片
三张图带你入门蓝牙规范
蓝牙自从2001年发布以来,从经典蓝牙发展到了BLE蓝牙,又于2017年引入了蓝牙mesh技术,核心规范版本就于2019年年底升级到了最新的5.2版本,很多同学对蓝牙很有兴趣,但也被会被蓝牙技术里繁多的概念搞迷糊,希望通过这篇文章带大家对蓝牙技术规范有一个基本的了解。本文的面向读者是对网络技术有一定了解但对蓝牙技术不熟悉的同学。
三张图带你入门蓝牙规范
|
C语言
实现一个简单的事件驱动处理框架
实现一个简单的事件驱动处理框架
248 0
|
芯片 异构计算 内存技术
关于SPI协议,看这一篇文章就够了!
关于SPI协议,看这一篇文章就够了!
1193 0
关于SPI协议,看这一篇文章就够了!
|
传感器 编解码 IDE
STM32CubeMX ADC采集光照和电压
STM32CubeMX ADC采集光照和电压
1243 3
|
测试技术
开源按键组件MultiButton支持菜单操作(事件驱动型)
开源按键组件MultiButton支持菜单操作(事件驱动型)
805 1
开源按键组件MultiButton支持菜单操作(事件驱动型)
|
算法 网络协议 物联网
|
自然语言处理 搜索推荐 算法
gpt3模型训练数据量是多少?
【7月更文挑战第6天】gpt3模型训练数据量是多少?
2256 3