【收藏链接-经典收藏】
收藏链接-经典收藏
- ■ 1.Awesome-IoT-Resources
- ■ 2.嵌入式经典书籍分享,
- ■ 3.RT-Thread
- ■ 4.CMSIS DAP 升级版(DAPLink)
- ■ 5.DreamSourceLab(梦源科技)逻辑分析仪,
- ■ 6.Arduino,
- ■ 7.Lua,
- ■ 8.ardupilot,
- ■ 9.Avem,
- ■ 10.FreeModbus_Slave-Master-RTT-STM32,
- ■ 11.linux,
- ■ 12.MultiTimer
- ■ 13.iobroker
- ■ 14.sagemaker-defect-detection
- ■ 15.earth rover
- ■ 16.ROS(Robot Operating System,机器人操作系统)
- ■ 17.CLN17电机驱动器
- ■ 18.Daytripper上班摸鱼神器,
- ■ 19.X-TRACK是一款开源骑行码表
- ■ 20.FindMyCat
- ■ 21.FarmBot
- ■ 22.Astrobee Robot
- ■ 23.open-source-rover
- ■ 24.SmartBMS
- ■ 25.Smart Plant
- ■ 26.OpenEarable
- ■ 27.Home Assistant
- ■ 28.traccar
- ■ 29.ZSWatch
- ■ 30.iCupBox 智能杯垫
- ■ 31.电子墨水屏物联网徽章 - badgy
- ■ 32.开源嵌入式操作系统NuttX
- ■ 33.微软开源项目:Devicescript
- ■ 34.超迷你机器人Dimebots
- ■ 35.开源的视频监控软件 - zoneminder
- ■ 36.开源的物联网 IoT 平台 - thingsboard
- ■ 37.打造专属STM32G4示波器 - black_scope
- ■ 38.开源智能健康穿戴 - healthypi move
- ■ 39.基于ESP32-CAM的AI小车
- ■ 40.基于ESP32的一块超炫的极客手表
- ■ 41.从零打造物联网demo - soft-and-hard
- ■ 42.QuarkTS - 小型嵌入式操作系统
- ■ 43.FabGL - ESP32 的图形库
- ■ 44.ExpressLRS - 无线电控制应用的开源无线电
- ■ 45.escrcpy - 图形界面显示和控制Android设备
- ■ 46.Raspberry Pi Pico 200Khz Digital Oscilloscope - 基于树莓派pico的示波器项目
- ■ 47.TinnySTL
- ■ 48.Snake
- ■ 49.BilibiliLiveRecorder
- ■ 50.Tetris
值得收藏的嵌入式项目:
■ 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
■ 20.FindMyCat
是一款可在室外和室内工作的软硬件都开源的-宠物追踪器。电池寿命长达数月(Near Home模式下,待机功耗18uA,350mA电池,可工作2年)。
https://github.com/FindMyCat/
■ 21.FarmBot
农场机器人项目是一个庞大的开源项目,包含硬件(arduino和rpi)、农场机器人OS 和农场机器人web APP
https://github.com/FarmBot
■ 22.Astrobee Robot
是一种新型零重力机器人系统,旨在为太空探索任务提供支持。宇航蜂机器人由美国宇航局(NASA)和瑞士联邦理工学院(EPFL)合作研发,主要用于在微重力环境下执行各种任务。
Astrobee 机器人软件的源代码,包括 在Astrobee机器人上运行的飞行软件,软件模拟器和支持工具,主要用C++编写。
主要由三个模块构成,分别是:
- 推进模块:位于机器人两侧的蓝绿色模块。这些模块主要负责机器人在太空中的移动和定位。它们包含了液压驱动的推进器,通过喷射气体来产生推力,使机器人能够在微重力环境下进行自主移动。
- 核心模块:位于机器人中间的黄色模块。这个模块是机器人的心脏,负责控制和管理整个机器人的各项功能。它包含了处理器、传感器、电池等关键组件,用于处理来自各种传感器的数据,做出决策,并控制机器人的其他模块执行相应动作。
- 传感器模块:除了核心模块外,Astrobee 机器人还配备了多个传感器,如摄像头、激光雷达、超声波传感器等。这些传感器分布在机器人的四周,用于感知周围环境,辅助机器人进行自主导航和避障。
https://github.com/nasa/astrobee
■ 23.open-source-rover
JPL 开源漫游车是一款开源、自行构建的 6 轮漫游车设计的缩小版本,JPL 用于探索火星表面。开源 Rover 完全采用消费者现成 (COTS) 部件设计。该项目旨在为那些想要涉足机械工程、软件、电子、机器人技术的人们提供教学和学习体验,同时也是崎岖地形的绝佳研究平台。不需要任何先验技能或知识。
https://github.com/nasa-jpl/open-source-rover
■ 24.SmartBMS
智能电池管理系统(Battery Management System,BMS)对于保障电池安全、延长使用寿命和提高能源利用率具有重要意义。
Smart BMS 是一款适用于锂电池(Lifepo4、Li-ion、NCM 等)电池组的开源电池管理系统。
智能电池管理系统需要具备实时监测、充放电管理、电池状态估计、故障诊断与预警、电池均衡管理、温度管理、数据采集与分析、远程监控与控制、电池性能预测和用户交互界面等多功能。这些功能共同保障电池的安全、稳定、高效运行,提高电池的使用寿命和能源利用率。
https://github.com/Green-bms/SmartBMS
■ 25.Smart Plant
Smart Plant旨在帮助园艺家监控植物的健康状况。凭借先进的传感器套件,Smart Plant 可以测量土壤湿度、环境光线、空气温度和空气相对湿度。除了物联网功能外,Smart Plant 还配有 2.9 英寸电子纸显示屏,让您对植物数据一目了然。
Smart Plant 采用高能效设计,其 ESP32 微控制器具有深度休眠功能,电池可连续使用数周。当需要充电时,Smart Plant 可以使用 USB-C 线缆或小型太阳能电池板充电,对于希望尽量减少对环境影响的园艺家来说,这是一个环保的选择。
https://github.com/JGAguado/Smart_Plant/
■ 26.OpenEarable
OpenEarable 是一个全新的开源 Arduino 平台(Arduino Nano 33 BLE Sense Nodic nRF52840),用于耳部传感应用。
它支持一系列传感器和执行器:9 轴惯性测量单元、耳道压力和温度传感器、内向式超声波麦克风以及扬声器、按钮和可控 LED。通过一系列示例应用场景展示了原型平台的多功能性。因此,OpenEarable 为耳机研发提供了一个通用、开放的传感平台。
https://github.com/OpenEarable/open-earable
■ 27.Home Assistant
Home Assistant 是一个功能丰富且灵活的智能家居自动化平台,在智能家居开源方面也是比较出名的项目,适合个人DIY智能家居设备配套的上位机服务,这是很多爱好者最头疼的部分。
https://github.com/home-assistant
独立的官网地址:
https://www.home-assistant.io/
■ 28.traccar
Traccar是一款免费、开源的现代GPS跟踪系统,支持170多种GPS协议和超过1500种型号的GPS跟踪设备。它适用于多种场景,如出租车、货车、卡车/拖车、农用设备、车队、集装箱、船舶、全地形车以及专人跟踪和个人车辆等。Traccar的功能丰富,包括可切换卫星、街景地图、追踪运动轨迹、追踪行程、停留点等。
Traccar的后端服务基于Java,可以与任何主要的SQL数据库系统(如MySQL)一起使用。在搭建Traccar服务端时,需要具备一定的Linux基础。安装过程相对简单,只需按照官方教程操作即可。服务器端运行后,可以通过Web界面进行车辆数据的实时监控、历史数据查询等操作。
实测表明,Traccar的定位精度在10米左右,效果不错。此外,Traccar还支持手机或GPS定位器的相应型号,便于用户根据需求进行选择。
https://github.com/traccar/traccar
■ 29.ZSWatch
ZSWatch是一个包括硬件和软件全部开源智能手表,因为ZSWatch建立在Zephyr RTOS之上,因此得名ZSWatch-Zephyr Smartwatch。
Zephyr最初是由Wind River公司开发的一个微内核,在2016年的时候成为Linux基金会维护的一个项目,发展至今,已经成为了一个功能齐全的嵌入式OS。平台现在支持ARM、RISC-V、X86、Xtensa等等处理器平台,拥有原生的BLE协议栈、完整的Net协议栈,包括TCP/IP与应用层协议,为嵌入式应用的开发提供了有力的支持。
https://github.com/jakkra/ZSWatch
■ 30.iCupBox 智能杯垫
这款智能杯垫产品,是基于GTD(Getting Things Done)时间管理理念设计的,旨在提醒用户专心工作,并及时喝水休息,从而提升工作效率。
项目分为客户端APP和杯垫固件系统:
客户端APP,使用QML开发,集成GTD时间管理方法,与杯垫固件系统通讯,控制杯垫固件系统的显示内容;
杯垫固件系统,使用的esp8266作为主控,集成WIFI、蓝牙、红外对管、0.96寸oled、dht11温湿度模块、ds1302时钟模块锂电池、锂电池充电模块。
https://gitee.com/jiangtao008/iCupBox
■ 31.电子墨水屏物联网徽章 - badgy
这是一个基于ESP8266的开源DIY项目,开发环境是Arduino IDE,比较适合新手学习。这个项目可以显示图片,作为游戏机屏幕,后续也可以做电子价签,甚至可以DIY一个天气助手,这取决于你的创意。
项目内附了硬件原理图和软件源码,推荐学习。
https://github.com/sqfmi/badgy/tree/master
■ 32.开源嵌入式操作系统NuttX
NuttX是一个实时嵌入式操作系统(RTOS),专为微控制器环境设计。
NuttX设计得非常小巧,适用于微控制器环境。同时,它具有高度的可扩展性,可以从8位扩展到32位嵌入式系统,甚至支持到64位环境。
作为一个实时操作系统,NuttX完全符合POSIX标准,确保实时性能,并且是完全开放的。
经过多年的发展和多个版本的迭代,NuttX已经以功能丰富、性能稳定、商业化成熟度高而赢得市场认可。
从2017年开始,小米就基于NuttX开发物联网产品。在小米的推动下,NuttX于2019年正式进入Apache基金会,更名为Apache NuttX。小米的物联网嵌入式软件平台——Xiaomi Vela,是基于开源嵌入式操作系统NuttX打造的。这意味着同学们学习该系统,如果后期想入职小米的嵌入式开发非常具有帮助。
官网:https://nuttx.apache.org/
GitHub:https://github.com/apache/nuttx
■ 33.微软开源项目:Devicescript
DeviceScript是微软研究院推出的一个开源项目,旨在将TypeScript语言扩展到微型物联网设备。
DeviceScript为低资源、基于微控制器的设备(如ESP32和RP2040硬件平台)带来了TypeScript的开发者体验。它作为TypeScript的一个子集,被编译成可以在非常有限的环境中运行的自定义VM字节码,从而允许开发人员利用TypeScript的强类型和面向对象特性来开发物联网设备。
https://github.com/microsoft/devicescript
■ 34.超迷你机器人Dimebots
和题目一样,Dimebots 是一系列自主和独立的微型机器人,它小到一角硬币,重量不到一分钱,使 Dimebots 成为世界上最小的机器人之一。
所以这个项目的特点就在于如何在如此小的体积下实现该有的功能,这对于很多体积大小有限制的项目非常具有参考意义,不管是从物料的选择,到编程的实现。
https://github.com/dimebots/dimebots
■ 35.开源的视频监控软件 - zoneminder
ZoneMinder是一套集成且全面的视频监控解决方案,专为Linux系统设计。它能够捕获、分析、记录和监控连接到Linux机器的任何闭路电视或安全摄像机信号。该软件兼容支持Video For Linux (V4L)接口的Linux发行版,并已成功测试过与BTTV卡相连的摄像机、多种USB摄像机,同时还支持大多数IP网络摄像机。
作为一款免费且开源的视频监控软件,ZoneMinder专为Linux系统开发,能够支持IP摄像机、USB摄像机和模拟摄像机,并提供了一个便捷的web界面,方便用户进行实时监控。该软件的创作灵感来源于作者家中车库的一次被盗事件,这促使他设计了一套监控保全系统。
ZoneMinder利用Linux服务器、PHP、MySQL数据库以及多台摄像机,为用户提供了一个强大的监控平台。用户可以通过web界面轻松监控重要场所,并在异常事件发生时,及时收到电子邮件或短信通知。
PS:ZoneMinder的诞生源自于一次不幸的事件——作者的家中车库遭到了盗窃。这次经历激发了他设计一套监控保全系统的念头,旨在通过技术手段保护重要场所的安全。于是,ZoneMinder应运而生,成为了一款功能强大、易于使用的视频监控软件。
GitHub:https://github.com/ZoneMinder/zoneminder
文档地址:https://zoneminder.readthedocs.org
■ 36.开源的物联网 IoT 平台 - thingsboard
ThingsBoard是一个基于Java的开源物联网(IoT)平台,专为快速开发、管理和扩展物联网项目而设计。
应用场景:
智能家居:通过 ThingsBoard 管理和监控家用传感器和设备。
工业物联网:用于监控和优化工业设备和流程。
智慧城市:用于城市基础设施的监控和管理,例如交通、照明和环境传感器。
GitHub:https://github.com/thingsboard/thingsboard
■ 37.打造专属STM32G4示波器 - black_scope
这是在嘉立创看到的一个开源项目,基于STM32的示波器项目,这是我一直想做但是没时间做的想法,后边找时间我会尝试复刻下,非常好的学习STM32的一个项目。
介绍:https://www.eetree.cn/project/2612
官网:https://hackaday.io/project/192234-stm32g4-scope
GitHub:https://github.com/jgpeiro/black_scope
■ 38.开源智能健康穿戴 - healthypi move
HealthyPi Move是一款开放式硬件设备,能够让你以极高的精确度追踪所有生命体征。但它不仅仅是一款配备心率监测器的智能手表。它是一款全面的手腕式生命体征监测和记录设备,能够测量心电图(ECG)、光电容积脉搏波(PPG)、血氧饱和度(SpO₂)、基于手指测量的血压、皮肤电活动/皮肤电导反应(EDA/GSR)、心率变异性(HRV)、呼吸频率,甚至体温。
GitHub:
https://github.com/Protocentral/healthypi-move-hw
https://github.com/Protocentral/healthypi-move-fw
https://github.com/Protocentral/protocentral_openview2
■ 39.基于ESP32-CAM的AI小车
ESP32-CAM是一款集成了Wi-Fi和蓝牙功能的微控制器模块,它还特别配备了摄像头接口,这使得它成为构建智能机器人的理想选择。在本项目中,将展示如何利用ESP32-CAM模块来构建一个简单的AI机器人。这款机器人能够将视频流实时传输到Android设备,并在Android设备上执行AI任务处理。
这个项目的亮点在于集成了AI识别在智能小车上,所以对于想借鉴做创新创业比赛的同学非常友好,比较有创新点,又结合了传统智能小车的控制有关的技能,推荐学习。
开源地址:
https://github.com/longpth/ESP32CamAI
■ 40.基于ESP32的一块超炫的极客手表
先上个图吧,非常极客且硬核的DIY手表,我个人很喜欢这种硬件产品,可以在有限的空间内尽可能的实现功能,非常考验综合技能。
不过这个项目我就不推荐复刻了,成本会很高,而且难度也比较大,大家倒是可以学习下项目流程,参考下设计思路。
原文地址:
https://www.roboticworx.io/p/build-the-ultimate-smartwatch-lidar
源码地址:
https://github.com/RoboticWorx/Gateway-Smartwatch/tree/main
■ 41.从零打造物联网demo - soft-and-hard
这个项目是作者自己做毕设的时候遇到的问题,电气或者电子专业的同学只关注,或者说只熟悉整个物联网开发流程上的一部分,作者还举了一个很形象的例子。
一个物联网项目如图所示,从左到右分别是用于采集数据的硬件传感器,硬件主控芯片(对应STM32)、用于传输数据的通信模块(对应WIFI芯片ESP8266)、用于存储数据与提供访问请求的 云服务器 、用于将数据展示出来并提供操作的可视化界面(即浏览器上的网页显示)
所以这个教程的点就在于,从硬件到服务器整个链路关联起来,作者录了视频和教程,分别发布于B站和GitHub,大家想入门物联网的可以参考下,非常实用且有创意的想法。
官网介绍:
https://www.scaugreen.cn/posts/44755/
B站视频地址:
https://www.bilibili.com/video/BV16L411n7Pi?share_source=copy_web
GitHub项目地址:
https://github.com/alwxkxk/soft-and-hard?tab=readme-ov-file
■ 42.QuarkTS - 小型嵌入式操作系统
QuarkTS 专为嵌入式开发人员编写,专门针对:在需要的功能高于现有的RTOS任务调度器提供的功能,但又想避免全面的 RTOS 的占用空间和复杂性,又同时保留功能强大且安全的 RTOS的应用场景。
对于操作系统,我一直都是很推崇的,因为操作系统可以说是软件中最具有学习意义的项目,可以非常深刻的理解项目运转的机制,我自己的对于freertos和Linux也是学习了很长时间,这对于学习或者了解新的操作系统也是非常有帮助的。
主要应用方向:
QuarkTS 的设计目标是使用小型、简单且(最重要的是)强大的实现来实现其所述功能,使其适用于资源受限的微控制器,在这些微控制器中,完全抢占式 RTOS 是一种过度杀伤,并且它们的加入会给固件开发增加不必要的复杂性。此外,凭借状态机支持、协同例程、时间控制和任务间通信原语,QuarkTS 提供了一个现代环境来构建稳定且可预测的事件驱动多任务嵌入式软件。它们的模块化和可靠性使该操作系统成为高效开发低成本设备中各种应用程序的绝佳选择,包括汽车控制、监控和物联网。
官方文档:
https://kmilo17pet.github.io/QuarkTS/
GitHub地址:
https://github.com/kmilo17pet/QuarkTS?tab=readme-ov-file
■ 43.FabGL - ESP32 的图形库
这个项目是作者为 ESP32 实现的一个图形库,专为ESP32开发而设计。它提供了各种显示驱动程序、输入控制器以及其他有用的功能,使得在ESP32上开发图形应用变得更加简单和便捷,让ESP32开发板支持图像输出到VGA显示器,并支持鼠标键盘,ESP32开发板变身为一台迷你电脑。
FabGL还支持PS/2键盘和鼠标作为输入设备。这使得用户可以通过键盘和鼠标与ESP32进行交互,实现更多的应用场景。
整个项目比较复杂,大家重点可以学习下作者的软件思想和设计模式。
GitHub地址:
https://github.com/fdivitto/FabGL?tab=readme-ov-file
■ 44.ExpressLRS - 无线电控制应用的开源无线电
ExpressLRS是一种开源的无线电通信技术,特别为无线电控制应用设计,比如用于无人机(FPV竞速)等。它结合了Semtech的SX127x或SX1280 LoRa硬件和Espressif或STM32处理器,利用LoRa调制技术和减小数据包大小的方式,实现了出色的通信范围和超低的延迟。它采用了一种特别优化过的无线数据包结构来达到这个目的,既保证了通信范围,又减少了延迟。ExpressLRS支持900 MHz和2.4 GHz两种频率的通信链路,每种链路都有自己的优点。其中,900 MHz的链路可以达到最高200 Hz的数据包发送速率,而且它的信号穿透力更强,更适合在某些环境下使用。
准备做毕设或者自己做项目的同学非常建议采用,作为一个技术点突出。
开源地址:
https://github.com/ExpressLRS/ExpressLRS
一个使用的案例链接:
https://blog.csdn.net/lida2003/article/details/126260136
■ 45.escrcpy - 图形界面显示和控制Android设备
这个项目就和题目一样的作用,可以使用网页控制安卓设备,Escrcpy 使用了 Scrcpy、adbkit、Electron、Vue 和 Gnirehtet 等开源技术。它采用同步技术,以快速有效的方式连接到设备。Escrcpy 还提供可定制的配置、多设备支持和自动连接功能。
我想到一个应用点,可以使用这个远程控制使用安卓系统的工控设备或者其他作用的安卓设备,对于很多做毕设或者有这样需求的项目可以参考。
另外Electron是很好的快速搭建平台的工具,可以在某些领域代替QT,推荐学习。
开源地址:
https://github.com/viarotel-org/escrcpy
文档地址:
https://github.com/viarotel-org/escrcpy/blob/main/README-CN.md
■ 46.Raspberry Pi Pico 200Khz Digital Oscilloscope - 基于树莓派pico的示波器项目
我大学的时候基于stm32做过一个类似的项目,也是使用外部硬件测量,借助手机的显示和计算能力,构成一个简易的示波器,当时我记得是参加华为杯,还拿了奖。
这个项目则是基于pico,更具有创新性,推荐学习。
学习链接:
https://www.instructables.com/Raspberry-Pi-Pico-200Khz-Digital-Oscilloscope/
固件和代码地址:
https://drive.google.com/file/d/1MyzIdmDzdpmcEGTyDlmEuSUjGVFN33P0/view?pli=1
app下载链接:
https://play.google.com/store/apps/details?id=xyz.fhdm.scoppy&pli=1
■ 47.TinnySTL
TinnySTL 是一个轻量级的 C++ STL 实现,它由一系列头文件组成,可以方便地嵌入到你的项目中使用。这个项目涵盖了很多基础的 STL 组件,比如 vector、list、map 等,它们都是在 STL 标准基础上重新实现的,可以帮助你更好地理解 STL 的实现原理。
https://github.com/zouxiaohang/TinySTL
■ 48.Snake
Snake 是一个贪吃蛇游戏的实现,使用 C++ 编写。这个项目可以帮助你学习 C++ 基础语法和面向对象编程的概念。代码结构清晰简单,易于理解和修改。
https://github.com/heyuhhh/Snake
■ 49.BilibiliLiveRecorder
BilibiliLiveRecorder 是一个可以录制 B 站直播的工具,使用 C++ 编写。这个项目可以帮助你学习如何使用 C++ 网络编程、多线程编程以及流媒体技术。代码简单易懂,适合初学者练习。
https://github.com/floatinghotpot/BilibiliLiveRecorder
■ 50.Tetris
Tetris 是一个俄罗斯方块游戏的实现,使用 C++ 编写。这个项目可以帮助你学习 C++ 基础语法、图形界面编程和游戏编程的概念。代码简单易懂,适合初学者练习。
https://github.com/maburix/Tetris
更多推荐


所有评论(0)