当前位置: 首页 > news >正文

GitHub 上有什么嵌入式方面的项目?

原文直达,喜欢就点个赞吧!

GitHub 上有什么嵌入式方面的项目? - CodeAllen的回答 - 知乎 https://www.zhihu.com/question/27835930/answer/2871624679


前言

对于GitHub,可能做互联网开发的同学会更加熟悉,尤其是前端,后端,安卓开发等技术,GitHub甚至都算是写代码必备的工具了。

而对于嵌入式,因为其软硬件一体的特点,其实项目总量和受关注度都要差很多,但是相对于个人来说,还是有海量的可参考资料的。

我从上大学到工作差不多十年的时间都在从事嵌入式方向,同时也收藏了很多GitHub上的好的资源,总结下做下记录,也分享给需要的同学。

正文

总结毕竟是有限的,这里也只放了部分,大家可以知道方向后自己在GitHub搜索,这里推荐一篇文章,自己学会方法才是王道。

73个GitHub高级搜索技巧_执章学长的博客-CSDN博客_github搜索技巧

还有一些我收藏的嵌入式网站,其实这个比单纯的项目更加有用。

单片机、嵌入式的大神都平时浏览什么网站? - 知乎

值得收藏的嵌入式项目:

1.Awesome-IoT-Resources ★★★

精选物联网资源的精彩集合(书籍、教程、博客、播客),资源收集非常多且全,还有很多嵌入式知名项目的网址,可以直达,非常推荐。

GitHub - theepiccode/Awesome-IoT-Resources: An awesome collection of curated IoT resources(Books, Tutorials, Blogs, Podcasts, ...)

2.嵌入式经典书籍分享,这是知乎用户 @科岩 同学维护的项目, 包含的主要是嵌入式方向学习需要的书籍资源,非常推荐需要的同学自取。

GitHub - imKeYan/EmbedBooks: 嵌入式经典书籍分享,C程序员常读书单整理,含下载地址,成体系提升技术能力。书籍资源包括电子基础、C/C++、Arm架构、Linux、网络、设计模式、各类行业报告等等。

3.RT-Thread RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。

而操作系统其实就是嵌入式开发的核心,所以可以多研究一下。

GitHub - RT-Thread/rt-thread: RT-Thread is an open source IoT operating system.

4.CMSIS DAP 升级版(DAPLink)

这个用过野火电子家开发板的同学应该知道,之前大家都是用ST-link居多,而DAPLink是软硬件开源的,立创EDA上也有开源项目,有同学还魔改为了无线下载器,还是很实用的开源项目。

GitHub - ARMmbed/DAPLink

5.DreamSourceLab(梦源科技)逻辑分析仪

我第一次基础梦源科技是我毕业的第一年(2017),单位有个他们家的逻辑分析仪,很小巧精致,插上传输线电脑就变为了屏幕,这个对于当时的我来说还是很有冲击的,然后就一直关注着他们。

他们的逻辑分析仪,从FPGA源代码、MCU固件到Qt上位机都是开源的,现在产品比我了解的又多了不少。

DreamSourceLab (DreamSourceLab) · GitHub

6.Arduino

这个不必多说,Arduino的影响力其实已经超脱了嵌入式,我也一直认为Arduino是非常成功的开源硬件,它让很多一点不懂技术的人也可以享受创意的快乐,丰富的开源软件和项目,稳定的硬件都是非常好的学习平台。

Arduino · GitHub

7.Lua

Lua是我之前在学校做项目的时候用到的,很多同学可能比较陌生,奇怪Lua和嵌入式的关系,Lua完全是由C开发的脚本语言,所以他对于C语言项目兼容非常好,这两点就使其在嵌入式开发的时候作用很大。比如对于需要经常更改的参数,如果使用C语言就需要经常编译固件下载固件,这显然不合适,而对于这部分可以使用Lua,只需要保留接口给使用人员,输入改动即可直接运行。

举个例子,比如超市的收银机,经常需要打折计费,你有想过是怎么实现的吗?

GitHub - lua/lua: The Lua development repository, as seen by the Lua team. Mirrored irregularly. Please DO NOT send pull requests. Report issues in the Lua mailing list https://www.lua.org/lua-l.html

8.ardupilot

终于到了我的老本行,其实GitHub上关于无人机的开源项目很多,当然这并不只适用于无人机(从传统飞机、四翼飞机、多旋翼和直升机到漫游车、船只、平衡机器人,甚至潜艇),ardupilot是一个开源自动驾驶仪软件项目。它一直由专业工程师、计算机科学家和社区贡献者组成的多元化团队开发。

非常值得学习控制或者自动化的同学参考,真的都是好东西。

GitHub - ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover, ArduSub source

9.Avem

接上边,既然说无人机了,在介绍一个轻量级无人机飞控项目。

我在学校的时候搞过很多四轴无人机,但是资料都是零零散散的,这个Avem项目就是比较全的一个,主控是stm32f103,非常通用也很好理解,比较推荐学习。

GitHub - avem-labs/Avem: 🚁 轻量级无人机飞控-[Drone]-[STM32]-[PID]-[BLDC]

10.FreeModbus_Slave-Master-RTT-STM32

对于设计工控的同学对于modbus应该比较熟悉,我是工作第一年的时候公司有个支线项目,做气象监控平台,用到的传感器都是modbus协议,所以开始使用学习。

分享的这个项目概述:

FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机源码是需要收费的。同时网上也没有发现比较好的开源的Modbus主机协议栈,所以才开发这款支持主机模式的FreeModbus协议栈。

GitHub - armink/FreeModbus_Slave-Master-RTT-STM32: Add master mode to FreeModbus. | 在 FreeModbus 中添加主机模式

11.linux

这是由林纳斯大神维护的项目,嵌入式虽然涉及非常广泛,但是Linux绝对在里边在一席之地,当然Linux远不止嵌入式方向一个应用,对于嵌入式人可以学习Linux内核的精华用于开发之中。

当然就像很多讲Linux的书籍一样,不用从最新的内核入手,可以回退到老的版本更加容易学习。

GitHub - torvalds/linux: Linux kernel source tree

未完待续。。。

相关文章:

GitHub 上有什么嵌入式方面的项目?

原文直达,喜欢就点个赞吧! GitHub 上有什么嵌入式方面的项目? - CodeAllen的回答 - 知乎 https://www.zhihu.com/question/27835930/answer/2871624679 前言 对于GitHub,可能做互联网开发的同学会更加熟悉,尤其是前端&#xff0…...

【C语言进阶】结构体、位段、枚举和联合

👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…...

markdown和latex常用部分参考@注脚@链接跳转@csdn

文章目录refmarkdown和latex常用部分参考typora文档基础语法扩展语法链接内联链接的方式将链接提取出来链接示例typora的支持LinksInline LinksInternal Links🎈Reference LinksURLs文章内部跳转(Heading IDs)🎈My Great Heading注脚(Footnotes)&#x1…...

Java 在二叉树中增加一行

623. 在二叉树中增加一行中等给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行。注意,根节点 root 位于深度 1 。加法规则如下:给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur…...

kubernetes(k8s) 知识总结(第2期)

1. “控制器”思想 kube-controller-manager 是一系列控制器的集合,这些控制器被放在 Kubernetes 项目的 pkg/controller 目录,这些控制器都以独有的方式负责某种编排功能。它们都遵循一个通用的编排模式——控制循环。 以 Deployment 为例介绍它对控…...

windows-Mysql的主从数据库同步设置

复制原有的mysql修改my.ini配置文件 修改端口号修改从数据的地址和从数据库的数据存放地址安装从数据库进入从数据库的bin目录,打开命令窗口输入命令:mysqld.exe install mysql-back --defaults-file "C:\ProgramData\MySQL\MySQL Server 5.7-back\…...

Docker逃逸

文章目录原理环境搭建Docker 环境判断Docker 容器逃逸特权模式逃逸如何判断是否为特权模式逃逸docker.sock挂载逃逸逃逸Remote API未授权访问未授权访问逃逸容器服务缺陷逃逸影响版本环境搭建逃逸脏牛漏洞逃逸参考原理 docker其实就是一个linux下的进程,它通过Name…...

k8s项目部署

k8s命令k8s项目部署部署流程实现导出相应的yaml文件 kubectl create deployment 名字--image镜像-o yaml --dry-runclient > 文件名 例: kubectl create deployment nginx --imagenginx -o yaml --dry-runclient > m1.yaml导出已经部署后的yaml文件 kubectl g…...

Modbus通信协议学习笔记

Modbus主从设备 主控设备(Modbus Master):工控机、PLC、触摸屏等等 从设备(Modbus Slave):PLC、Modbus采集模块、带485通讯的传感器、仪器仪表等等 Modbus物理接口:串口(RS232、RS4…...

ubuntu重启、关机命令

// // // //之前用linux系统, 一键解决也是可以的,反正我每次用命令(泪目…),中间崩了好几次,换回win,此篇也做记录 // // // 重启命令 以下所有命令在root根目录下输入(普通用户&…...

Xshell 7 连接云服务器的步骤和出现的错误

一、工具准备云服务器Xshell 7二、使用 Xshell 7 连接数据库三、新建会话属性后,没有自动弹出 SSH 用户名要求输入四、SSH 用户身份验证不能输入 Password五、Xshell 连接 centos 7 服务器 报错提示 “ssh服务拒绝了密码,请再试一次“,但是密…...

Python多进程同步——文件锁

多个进程共享同一份资源(共享内存、文件等)时,会涉及到资源竞争问题。为了解决这种问题,一般采取的措施是进程在访问资源前加锁保护,避免多个进程同时读写。本文介绍的Python文件锁可以用来解决多进程的同步问题。 目录…...

实现 element-plus 表格多选时按 shift 进行连选的功能

前言 element-plus表格提供了多选功能,可单击勾选一条数据,可全选。 现在有个很合理的需求,希望实现类似于文件系统中shift连续选择功能,并且在表格排序后,依照排序后的顺序连选。 一、el-table 多选表格基本使用 1、…...

华为OD机试真题JAVA实现【考古学家】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明示例二输入输出说明...

Spring3之基于Aspect实现AOP

简介 使用 Aspect 搭配 Spring 可轻松实现 AOP;本章将通过一个完整示例演示如何实现这一功能 实现步骤 修改 beans.xml 配置文件的 schema 部分;可以在 spring-framework-reference.html 文件通过搜索关键字 “/aop” 找到配置 schema,然后…...

buctoj-寒假集训进阶训练赛(二十二)

问题 A: Stones 题目描述 由于自行车状态错误,森普尔开始每天早上从东到西走,每天晚上走回去。走路可能会有点累,所以森普这次总是玩一些游戏。 路上有很多石头,当他遇到一块石头时,如果是他遇到的奇数石头&#xff0…...

华为OD机试真题JAVA实现【静态扫描最优成本】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述示例一输入输出说明示例二输入输出说明...

汽车装配工厂立库物料运送线PLC无线应用

一、应用背景此次项目地在比亚迪的西安工厂,需要实现PLC无线通讯的地方是汽车厂的立体仓库物料运输线。生产物流担负运输、存储、装卸物料等任务。汽车制造业是典型的多工种、多工艺、多物料的大规模生产过程,因此原材料与零部件必需及时准确送至工位&am…...

Python雪花代码

前言 用python画个雪花玩玩,源码在文末公众号哈。 雪花类 class Snow(): #雪花类 def __init__(self): self.r 6 #雪花的半径 self.x ra.randint(-1000,1000) #雪花的横坐标 self.y ra.randint(-500,5…...

Numpy基础与实例——人工智能基础

文章目录一、Numpy概述1. 优势2. numpy历史3. Numpy的核心:多维数组4. 内存中的ndarray对象4.1 元数据(metadata)4.2 实际数据二、numpy基础1. ndarray数组2. arange、zeros、ones、zeros_like3. ndarray对象属性的基本操作3.1 修改数组维度3…...

React-PDF自定义字体粗细终极指南:实现精确文本字重控制的完整教程

React-PDF自定义字体粗细终极指南:实现精确文本字重控制的完整教程 【免费下载链接】react-pdf 📄 Create PDF files using React 项目地址: https://gitcode.com/gh_mirrors/re/react-pdf React-PDF是一个功能强大的库,允许开发者使用…...

从零构建MAX30102心率血氧监测系统

1. MAX30102传感器基础认知 第一次接触MAX30102时,我盯着这个5mm3mm的小芯片看了半天——很难想象这么小的器件能同时测量心率和血氧。它本质上是个光电生物传感器,工作原理就像用手电筒照手指:内置的红光(660nm)和红外光(880nm)LED穿过皮肤组…...

RTX4090D显存优化:OpenClaw长文本处理实测Qwen3-32B性能

RTX4090D显存优化:OpenClaw长文本处理实测Qwen3-32B性能 1. 测试背景与实验设计 去年我在处理学术论文时,经常遇到需要分析几十页PDF的情况。传统工具要么截断文本,要么丢失关键上下文。当我发现OpenClaw支持本地部署大模型后,立…...

告别数据丢失!GD32串口DMA双缓冲+内存对齐配置避坑指南

GD32串口DMA双缓冲与内存对齐实战:工业级数据零丢失方案 在工业自动化、高速数据采集等场景中,串口通信的稳定性和效率直接关系到整个系统的可靠性。当波特率提升到921600甚至更高时,传统的轮询或中断方式往往难以应对持续的数据流&#xff0…...

告别低效循环:利用快马平台智能生成向量化代码,提升数据处理性能

最近在做一个数据分析项目时,遇到了性能瓶颈。处理一个几十万行的数据集时,简单的循环操作竟然要跑好几分钟。经过一番摸索,我发现向量化操作真是个神器,今天就分享一下如何用NumPy和Pandas来提升数据处理效率。 首先我们创建一个…...

Obsidian-i18n:破解插件语言壁垒的无缝本地化方案——让中文用户零门槛掌控千款插件

Obsidian-i18n:破解插件语言壁垒的无缝本地化方案——让中文用户零门槛掌控千款插件 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 问题诊断:插件语言障碍如何制约Obsidian用户体验? …...

OpenClaw:AI 权限治理的核心问题

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...

Antares LoRaWAN库深度解析:嵌入式LoRaWAN MAC层实现指南

1. Antares LoRaWAN 库深度技术解析:面向嵌入式工程师的 LoRaWAN MAC 层实现指南 1.1 库定位与工程价值 Antares LoRaWAN 是一个专为 Arduino 生态设计的轻量级 LoRaWAN MAC 层实现库,其核心价值不在于功能堆砌,而在于 可理解性、可调试性与…...

Dexter深度解析:如何用多Agent架构打造自主金融研究AI

一、为什么需要金融AI Agent? 1.1 传统金融研究的痛点 作为开发者,你是否遇到过这样的场景:需要分析一家上市公司的财务状况,却要花费数小时甚至数天时间? 传统金融研究面临三大挑战: 数据分散:…...

PHP 的异步编程 该怎么选择

一切的起点:synchronized 的舒适区 刚开始写代码时,思维往往停留在"单机"模式。遇到需要控制并发的地方,直觉反应就是加个 synchronized 关键字。 1. 曾经写过的代码 // 简单的库存扣减 public synchronized void deductStock(Stri…...