对于GitHub,可能做互联网开发的同学会更加熟悉,尤其是前端,后端,安卓开发等技术,GitHub甚至都算是写代码必备的工具了。而对于嵌入式,因为其软硬件一体的特点,其实项目总量和受关注度都要差很多,但是相对于个人来说,还是有海量的可参考资料的。我从上大学到工作差不多十年的时间都在从事嵌入式方向,同时也收藏了很多GitHub上的好的资源,总结下做下记录,也分享给需要的同学。
持续更新,以供参考!以防后边找不到可以点赞收藏下。
正文
总结毕竟是有限的,这里也只放了部分,大家可以知道方向后自己在GitHub搜索,这里推荐一篇文章,自己学会方法才是王道。73个GitHub高级搜索技巧_github搜索技巧_执章学长的博客-CSDN博客https://blog.csdn.net/PaperJack/article/details/118543980还有一些我收藏的嵌入式网站,其实这个比单纯的项目更加有用。单片机、嵌入式的大神都平时浏览什么网站?https://zhuanlan.zhihu.com/p/571176468
值得收藏的嵌入式项目:
1.Awesome-IoT-Resources 精选物联网资源的精彩集合(书籍、教程、博客、播客),资源收集非常多且全,还有很多嵌入式知名项目的网址,可以直达,非常推荐。https://github.com/theepiccode/Awesome-IoT-Resources
2.嵌入式经典书籍分享,这是知乎用户 @科岩同学维护的项目, 包含的主要是嵌入式方向学习需要的书籍资源,非常推荐需要的同学自取。https://github.com/imKeYan/EmbedBooks
3.RT-Thread RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。而操作系统其实就是嵌入式开发的核心,所以可以多研究一下。https://github.com/RT-Thread/rt-thread
4.CMSIS DAP 升级版(DAPLink)这个用过野火电子家开发板的同学应该知道,之前大家都是用ST-link居多,而DAPLink是软硬件开源的,立创EDA上也有开源项目,有同学还魔改为了无线下载器,还是很实用的开源项目。https://github.com/ARMmbed/DAPLink
5.DreamSourceLab(梦源科技)逻辑分析仪,我第一次接触梦源科技是我毕业的第一年(2017),单位有个他们家的逻辑分析仪,很小巧精致,插上传输线电脑就变为了屏幕,这个对于当时的我来说还是很有冲击的,然后就一直关注着他们。他们的逻辑分析仪,从FPGA源代码、MCU固件到Qt上位机都是开源的,现在产品比我了解的又多了不少。https://github.com/DreamSourceLab
6.Arduino,这个不必多说,Arduino的影响力其实已经超脱了嵌入式,我也一直认为Arduino是非常成功的开源硬件,它让很多一点不懂技术的人也可以享受创意的快乐,丰富的开源软件和项目,稳定的硬件都是非常好的学习平台。https://github.com/arduino
7.Lua,Lua是我之前在学校做项目的时候用到的,很多同学可能比较陌生,奇怪Lua和嵌入式的关系,Lua完全是由C开发的脚本语言,所以他对于C语言项目兼容非常好,这两点就使其在嵌入式开发的时候作用很大。比如对于需要经常更改的参数,如果使用C语言就需要经常编译固件下载固件,这显然不合适,而对于这部分可以使用Lua,只需要保留接口给使用人员,输入改动即可直接运行。举个例子,比如超市的收银机,经常需要打折计费,你有想过是怎么实现的吗?https://github.com/lua/lua
8.ardupilot,终于到了我的老本行,其实GitHub上关于无人机的开源项目很多,当然这并不只适用于无人机(从传统飞机、四翼飞机、多旋翼和直升机到漫游车、船只、平衡机器人,甚至潜艇),ardupilot是一个开源自动驾驶仪软件项目。它一直由专业工程师、计算机科学家和社区贡献者组成的多元化团队开发。非常值得学习控制或者自动化的同学参考,真的都是好东西。https://github.com/ArduPilot/ardupilot
9.Avem,接上边,既然说无人机了,再介绍一个轻量级无人机飞控项目。我在学校的时候搞过很多四轴无人机,但是资料都是零零散散的,这个Avem项目就是比较全的一个,主控是stm32f103,非常通用也很好理解,比较推荐学习。https://github.com/avem-labs/Avem
10.FreeModbus_Slave-Master-RTT-STM32,对于设计工控的同学对于modbus应该比较熟悉,我是工作第一年的时候公司有个支线项目,做气象监控平台,用到的传感器都是modbus协议,所以开始使用学习。分享的这个项目概述:FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机源码是需要收费的。同时网上也没有发现比较好的开源的Modbus主机协议栈,所以才开发这款支持主机模式的FreeModbus协议栈。https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32github.com/armink/FreeModbus_Slave-Master-RTT-STM32
11.linux,这是由林纳斯大神维护的项目,嵌入式虽然涉及非常广泛,但是Linux绝对在里边在一席之地,当然Linux远不止嵌入式方向一个应用,对于嵌入式人可以学习Linux内核的精华用于开发之中。当然就像很多讲Linux的书籍一样,不用从最新的内核入手,可以回退到老的版本更加容易学习。https://github.com/torvalds/linuxgithub.com/torvalds/linux
12.MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。https://github.com/0x1abin/MultiTimer/blob/development/examples/test_linux.c
13.iobroker 是一款物联网集成平台,它专注于楼宇自动化、智能计量、环境辅助生活、过程自动化、数据可视化和数据记录等领域的应用。通过将各种设备和系统连接到一个统一的平台上,iobroker 旨在简化楼宇管理和自动化过程,提高生活品质,降低能源消耗,并为企业提供更高效的生产过程。https://github.com/ioBroker/ioBroker
14.sagemaker-defect-detection 通过端到端深度学习工作流程检测产品缺陷,以实现制造过程中的质量控制。该解决方案接收产品图像的输入并通过边界框识别缺陷区域。机器视觉检测在制造业产品质量控制中的应用越来越广泛。随着人工智能技术和图像处理技术的快速发展,机器视觉检测技术逐渐成为制造业中重要的质量控制手段。https://github.com/yuanzhongqiao/sagemaker-defect-detection
15.earth rover一家专注于农业技术,试图彻底改变最古老的行业之一。他们利用深度学习、人工智能和创新机器人技术来生产价格实惠的无化学物质和新鲜产品。开源智慧农业机器人。
- Earth_rover_localization:ROS 包,用于配置 robots_localization 包的 EKF。使用 GPS Piksy Multi和 IMU MTi-3 AHRS的传感器融合piksi_multi_rtk:包含 Piksi RTK 接收器设备的 ROS 驱动程序和实用程序的存储库。xsens_mti_ros_node:第三代和第四代 Xsens IMU 设备的 ROS 驱动程序。
https://github.com/earthrover
16.ROS(Robot Operating System,机器人操作系统)是一个用于机器人开发的免费、开源的软件框架。它旨在为机器人研究和开发提供一个通用、灵活的平台,使得不同类型的机器人能够在各种环境下实现自主行动。ROS 由世界多个大学和组织开发并维护。https://github.com/ros
17.CLN17电机驱动器是一款开源、紧凑、高性能的闭环步进电机驱动器,专为 NEMA17 外形尺寸电机设计。该驱动器提供先进的功能,如静音和平稳的运动、高精度的位置控制和节能功能,使其成为各种应用的理想选择,包括机器人、CNC 机床和 3D 打印机。https://github.com/creapunk/CLN17
18.Daytripper上班摸鱼神器,分为接收器和发射器两部分,发射器会利用激光检测是否有物体通过,并通过无线协议通知接收器,而接收器可以根据设置切换到桌面!https://github.com/dekuNukem/daytripper
19.X-TRACK是一款开源骑行码表
- 1.支持速度、距离、时间、卡路里、航向显示2.拥有离线地图,支持显示实时位置,支持缩放3.支持计步4.支持经纬度、海拔显示5.支持RTC自动根据GPS校准6.支持记录轨迹,可导出GPX格式的文件7.支持掉电自动保存数据(JSON格式文件)8.四小时续航 (持续工作,始终亮屏)9.支持在PC模拟器模拟,脱离硬件调试(配置为Release x86)10.支持显示实时轨迹
https://github.com/FASTSHIFT/X-TRACK
未完待续,持续更新!以防后边找不到可以点赞收藏下!