如何选择嵌入式练手项目、嵌入式开源项目大全

作者将狼才鲸
创建日期2022-06-19

本文档源码地址:才鲸嵌入式 / 嵌入式知识图谱WiKi
文章阅读地址:如何选择嵌入式练手项目、嵌入式开源项目大全

一、前言

  1. 快速提高嵌入式技术的方法就是完成实际项目中一个或几个模块;
  2. 快速提高嵌入式架构水平的方法就是完成一个完整的项目;
  3. 如果单纯的只想学习一门特定方向的技术,而又没有完善的教程和完善的考核机制的的话,很容易就在短时间内丧失兴趣;能持续的周期性的让你兴奋的方法才是好方法;
  4. 一个项目不是只使用一两项单纯的技术,而是包含了多项技术,基本上都需要专精不同方向的人组成的团队来完成,选择项目时要结合自己的能力、时间成本、项目预期来选择。如果你只考虑自己的兴趣,和完成项目的成就感,而并不考虑所学技术在当前和未来岗位上的作用的话,则可以自己学习和完成所有的技术方向;
  5. 对项目的前瞻性、对理论知识的贡献,和项目的实用性、对技能熟练度的贡献之间要进行取舍。

二、寻找项目

1) 注意事项与方法:

  1. 项目需要有长期的吸引力;
  2. 项目需要有可预见的实用性(不过时);
  3. 如何寻找既有前瞻性又能提升技术水平的项目?
  4. “项目”是一个有实际使用价值的可独立存在的电子产品或软件产品,或者提供完整API接口和Demo的软件库;
  5. 寻找项目方向:
    1、个人使用的,不可缺少的或者十分想要的产品;
    2、企业使用的,必不可少的或者预期能提高效率的产品;
    3、各种工业产业链中的一环,一个符合接口标准的模块或产品;
  6. 寻找可用项目的方法:
    1、遍历所有github或gitee中的C/C++、硬件或者嵌入式相关开源项目,熟悉已有的一些成功案例;
    2、访问芯片原厂的官网,查看公司提供的方案和芯片应用的行业;
    3、访问知名电子产品公司的官网,查看已经商用的产品和公司未来的研发计划;
    4、在搜索引擎搜索一些有意思的嵌入式项目。

2) 开源嵌入式项目举例:

2.1 完整产品项目

  1. 智能手表
    InfiniTimeOrg/InfiniTime
  2. 音视频播放器
    mikebrady/shairport-sync
  3. 键盘
    qmk/qmk_firmware
    blackleee / XS40
  4. 墨水屏
    甘草酸不酸 / 天气墨水屏
  5. 小电视
    太极创客团队 / 哔哩哔哩天气时钟单色屏版
    wangpeng25 / 哔哩哔哩小电视
    凯文库尔 / ESP_MASTER
  6. 透明显示屏
    peng-zhihui / HoloCubic
  7. 热成像仪
    qlexcel / ThermalCam
  8. 机械臂
    灰大柱 / 小型6轴桌面机械臂
  9. 微型示波器
    Open-ELL / MiniDSO-Pro
    zhan-min / oscilloscope
  10. 焊台
    createskyblue / OpenT12
    甘草酸不酸 / mini-T12
    蔡子 / STM32_T12_Controller
  11. 硬件模拟器
    Gitee 极速下载 / qemu
  12. 智能车
    SeekFree / 逐飞科技基于英飞凌TC264的智能车BLDC开源项目
    SeekFree / 逐飞科技基于MM32SPIN360C的智能车BLDC开源项目
    harryzhang / cartographer STM32
    刘骢 / Self-Balance-Car
    HOME / STM32-car-MPU6050-Bluetooth-Ultrasonic
  13. 时钟
    Lengff / esp8266-lattice-clock-open
  14. 智能锁
    hanxiaohu / W600-RT-Thread智能指纹门锁
  15. 智能电表
    azenk / VirtualMeter
  16. 智能家居
    李子 / My smart home

2.2 模块项目

  1. 操作系统
    关键模块:进程线程管理、内存管理、文件系统、驱动、系统软件
    开源网址:
    Gitee极速下载/u-boot
    Gitee极速下载/Linux Kernel
    Gitee RT-Thread/rt-thread
    Github RT-Thread/rt-thread
    Huawei LiteOS/LiteOS
    zephyrproject-rtos/zephyr
    tock/tock
    embox/embox
    QuantumLeaps/qpc
    alibaba/AliOS-Things
    RIOT-OS/RIOT
    bean/BabyOS
    littlefs-project/littlefs
    pellepl/spiffs
    apache/incubator-nuttx
  2. GUI库
    lvgl/lvgl
    Gitee idea4good/GuiLite
    Github idea4good/GuiLite
    zlgopen/awtk
    ImpulseAdventure/GUIslice
    olikraus/u8g2
    gzbkey / LingLongGUI
    崔洪玺 / GUI
  3. 飞控框架
    nasa/fprime
    cleanflight/cleanflight
  4. 网络服务器
    cesanta/mongoose
  5. 缓存模块
    nanopb/nanopb
  6. USB驱动和协议栈
    hathach/tinyusb
  7. 不需要依赖文件的printf
    mpaland/printf
  8. 数据库
    symisc/unqlite
    armink/FlashDB
    taosdata/TDengine
  9. ARM仿真器
    ARMmbed/DAPLink
  10. 图像识别与机器学习库
    symisc/sod
  11. Flash驱动与相关应用库
    armink/EasyFlash
  12. Linux固件升级模块
    sbabic/swupdate
  13. CAN驱动及应用模块
    CANopenNode/CANopenNode
  14. malloc动态内存分配模块
    thi-ng/tinyalloc
  15. ini文件解析器
    benhoyt/inih
  16. 嵌入式基础模块:网络、音视频、队列等
    Gitee gozfree/gear-lib
    Github gozfree/gear-lib
  17. modbus驱动
    ECBM工作室 / modbus
    armink / FreeModbus_Slave-Master-RTT-STM32
  18. USB无线网卡驱动
    linkaiqin / USB Wireless LAN Driver for STM32F4xx
  19. 按键驱动
    wei / key_board
    RT-Thread-Mirror / FlexibleButton

2.3 相关项目举例:

  1. 语音转文字
    mozilla/DeepSpeech
  2. 深度学习引擎
    PaddlePaddle/Paddle-Lite
  3. 硬件连接到云
    blynkkk/blynk-library
  4. STM32工具集
    stlink-org/stlink
  5. rust替代C开发嵌入式
    rust-embedded/awesome-embedded-rust
  6. Python引擎
    adafruit/circuitpython
    pikasTech/pikascript
  7. 嵌入式沙箱运行引擎
    bytecodealliance/wasm-micro-runtime
  8. 物联网解决方案
    blinker-iot/blinker-library
  9. C++机器学习框架
    uTensor/uTensor
  10. JavaScript引擎
    cesanta/elk
  11. AVR CPU模拟器
    buserror/simavr
  12. JSON数据库
    Softmotions/ejdb
  13. 嵌入式C++应用框架
    SmingHub/Sming
  14. 一个RISC-V CPU IP核源码
    stnolting/neorv32
  15. 物联网平台
    thingsboard/thingsboard
  16. 任天堂游戏机模拟器
    yuzu-emu/yuzu
  17. wii游戏机模拟器
    dolphin-emu/dolphin
  18. 安卓手机投屏与群控
    Genymobile/scrcpy
  19. git版本管理
    git/git
  20. 直播与录屏
    obsproject/obs-studio
  21. FFmpeg音视频编解码
    FFmpeg/FFmpeg
  22. 网络视频流播放
    ossrs/ur5
  23. 龙芯硬件模拟器
    loongsonlab / qemu

3) 商用嵌入式产品举例:

  • 品胜:
    品胜官网
  1. 灭蚊宝、小风扇、电动牙刷、加湿器
  2. 储能电源、充电枪、充电宝、充电器
  • 小米:
    小米官网
  1. 平衡车、滑板车、充电器、行车记录仪、耳机、音响
  2. 空调、微波炉、电磁炉、冰箱、扫地机器人、洗衣机、吸尘器、投影仪、料理机、净水器、电饭煲
  3. 路由器、麦克风、对讲机、打印机、摄像机、智能锁、视频门铃
  • 爱国者:
    爱国者官网
  1. 移动硬盘、U盘、录音笔、执法仪、高拍仪、扫码枪、门禁、耳机、HiFi播放器、MP3播放器、音频功放、智能手表、按摩仪、数码相框
  • 飞利浦:
    飞利浦官网
  1. 车载音响、行车记录仪、车载冰箱、助听器、制氧机、智能门锁、电子保险柜、家电、投影仪、MP3、录音机、传真机、家庭影院
  • 海康威视:
    海康威视官网
  1. 各种类型摄像头(带人工智能识别和统计)、测温摄像头、硬盘录像机、视频编码器、监控主机、存储设备(NAS)、各种显示器监视器、摄像头控制键盘、会议终端、交换机、网桥、光纤收发器、门禁、读卡机、考勤机、对讲终端、安检机、车机、
  • 其它设备:
  1. 智能手机、智能手表、摄像机、相机、音响、蓝牙耳机、电脑、游戏机、无人机
  • 其它公司:
  1. 大疆、华为、中兴、OPPO、vivo、一加、魅族、传音、realme、荣耀、苹果、三星、TCL、创维、海信、联想、格力、美的、海尔、格兰仕、方太
  2. TP-Link(交换机路由器)、海能达(对讲机)、迈瑞(医疗器械)、大族激光(激光打标切割焊接)

4) 工业产品目录大全:

  1. 上海市生产企业工业产品目录2020.pdf
  1. 蓄电池充电器、轮椅车、交流充电桩、电动滑板、电动童车、电磁炉、空调、吸油烟机、除湿器、电热水器、冰箱、电饭煲、电火锅、电净水器、电烤炉、电压力锅、电熨斗、洗衣机、洗碗机、消毒柜、搅拌机、破壁机、豆浆机、烤面包机、酸奶机、卷发器、咖啡机、空气过滤器、空气净化器、饮水机、榨汁机、煮蛋器、电炖锅、蛋卷机、电饼机、电烤盘、空气炸锅、微波炉、按摩器、充电器、织物蒸汽机、跑步机、平衡车、电动牙刷、UPS不间断电源、移动电源
  2. 行车记录仪、儿童学习平板、扫地机、投影机、打印机、智能锁、照相机、助听器、机顶盒、监控设备、导航仪、读卡器、显示器、MP3播放器、MP4唱戏机、服务器、收音机、监视器、老人机、路由器、平板电脑、验钞机、拾音器、调音器、声卡、功放(声频功率放大器)、手机、POS机(税控收款机)、固定电话、U盘
    3、厨房电器、食品加工机械、港口装卸机械、木工机床、木工铣床、普通车床、肉食加工机械、数控车床、数控机床、数控数显系统、数控铣床、水文仪器、岩土工程仪器、塑料机械、压力加工机械、医疗设备、印刷机械、汽车设备、农业设备、金融设备、联合收割机械、粮油加工机械、棉花加工机械、排灌机械、收获机械、饲料粉碎机械、饲料加工机械、植物保护机械
  3. 起重机、变压器、电子秤、包装机、气体报警器、步进电机、激光振镜、抽油机、加油机、电表、水表、气表、机床、电力线载波机、电力线阻波器滤波器、电力整流器、阀门电动装置、制药压片机、激光打标机、激光切割机、机器臂、搅拌机、经纬仪、湿度传感器、温度传感器、水准仪、血压表、眼科光学计量仪器、喷粉机、喷雾机、播种机、旋转榨油机、碾米机、三轮车、摩托车、汽车、卡车、拖拉机、运输车、清选机、水田耕整机、防爆仪表、防盗报警控制器、火灾报警产品、汽车防盗报警系统、消防联动控制系统
  1. 主要工业产品产、销、存目录
  1. 计算器、自动柜员机、胶印设备、显微镜、能谱仪、温度仪、夜视仪、射线分析仪、电泳仪、色谱仪器、频谱仪器、波普仪器、质谱仪器、物性分析仪器、热学分析仪器、光学分析仪器、电化学分析仪器、示波器、物位液位测量仪表、流量测量仪器、压力测量仪器、视听节目制作与播控设备、雷达设备、声呐设备、电视发射设备、广播发射设备、调音台、音频节目制作与播控设备、移动通信核心网分组域设备、移动通信基站设备、移动交换机、光交换机、数字程控交换机、微波终端机、微波收发通信机、卫星通信地面站终端机、GPS接收机、卫星地面接收机、光纤放大器、光缆中继设备、光端机、发电机、噪音与震动控制设备、固体废弃物处理设备、水质污染防治设备、除尘设备、大气污染防治设备、临床检验分析仪器、医用高频仪器设备、医用激光设备、医用超声设备、医用射线设备、刺绣机、工业缝纫机、织机、细纱机、纺织纤维梳理机、化学纺织纤维加工机械、印刷机、制浆造纸设备、饲料生产设备、制糖机械、磨粉机、碾米机、方便面生产线、橡胶硫化设备、橡胶成型压力机、橡胶压延机械、橡胶挤出机、3D打印机、轧材锯切设备、轧材剪切设备、金属轧制设备、铁合金冶炼设备、有色金属冶炼设备、炼钢设备、炼铁设备、炼焦设备、遭块设备、平板玻璃拉伸机、平板玻璃垂直引上机、摊铺机械、桩工机械、挖沟管道吊装机械、机动压路机、装载机、铲运机、平地机、推土机、挖掘机、海上石油钻井、陆上石油钻井、真空干燥设备、减速机、固液分离机、衡器、包装机、灌装机、真空过滤器、加氢反应器、冷却设备、气体分离液化设备、热交换装置、风机、液压系统及装置、给料机械、装卸机械、输送机械、电梯、电动汽车、起重机、塔吊、电子乐器、玩具、键盘乐器、军工设备、航空航天设备
  2. 光学仪器、汽车仪器仪表、环境监测专用仪器仪表、工业仪表、自动控制系统、楼宇控制系统、工业自动控制系统、工业自动调节仪表、船舶设备、轨道车辆设备、铁路机车车辆设备、草原建设机械、畜牧机械、农作物收获机械、植保机械、播种种植机械、食品加工机械、烟草加工机械、饮料加工机械、乳品加工机械、塑料加工设备、炼油化工生产专用设备、金属冶炼设备、水泥专用设备、筑路机械、采油设备、采矿专用设备、粉末冶金设备
  1. 工业产品生产许可证目录Word版
  1. 电热食品加工机械、空气压缩机、电子应用仪器、广播通信铁塔设备、无线广播电视发射装备、电力调度通讯设备、水文仪器、教学仪器、岩土工程仪器
  1. 市场监管总局印发《全国重点工业产品质量安全监管目录(2020年版)》
  1. VR设备、电动自行车、残疾人辅助器具、工业机器人、矿用传感器
  1. 工业产品GB标准目录(第一批)
  1. 绞车、取料机、清污机
  1. 机械行业国家标准目录大全,中国国家标准目录[GB、GBT],电子工业标准目录总汇:国家级的电子产品 国内最新国家标准目录(电工电子行业)

  2. 嵌入式公司举例:
    2020电子信息百强企业名单一览
    嵌入式行业公司及所属产业

  • 备注:
  1. 机械类和强电类设备使用PLC编程,编程语言不是C语言,而是图形化的特定编程方法,选择嵌入式项目时可以排除此选项。
    浅谈PLC编程的五种编程语言

  2. 弱电类电子设备(36V以下)一般都是单片机、MCU、DSP、FPGA、SOC来驱动的,也有使用PC或工控机来驱动的。一般弱电作用偏向于信号电,而强电作用偏向于动力能源。

  3. 嵌入式设备通常是无人照看的自运行设备,在开机后长期运行;嵌入式装置一般在设备中起到中枢控制作用。