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,可能做互联网开发的同学会更加熟悉,尤其是前端࿰…...
【C语言进阶】结构体、位段、枚举和联合
👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…...
markdown和latex常用部分参考@注脚@链接跳转@csdn
文章目录refmarkdown和latex常用部分参考typora文档基础语法扩展语法链接内联链接的方式将链接提取出来链接示例typora的支持LinksInline LinksInternal Links🎈Reference LinksURLs文章内部跳转(Heading IDs)🎈My Great Heading注脚(Footnotes)…...
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 题目描述 由于自行车状态错误,森普尔开始每天早上从东到西走,每天晚上走回去。走路可能会有点累,所以森普这次总是玩一些游戏。 路上有很多石头,当他遇到一块石头时,如果是他遇到的奇数石头࿰…...
华为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…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
