从物联网到 3D 打印:硬件相关的开源项目概览 | 开源专题 No.52

news/2024/7/10 19:10:24 标签: 物联网, 开源

picture

arendst/Tasmota

Stars: 20.4k License: GPL-3.0

picture

Tasmota 是一款为 ESP8266 和 ESP32 设备提供的替代固件,具有易于配置的 webUI、OTA 更新、定时器或规则驱动的自动化功能以及通过 MQTT、HTTP、串口或 KNX 进行完全本地控制。该项目主要特点包括:

  • 支持使用 WebInstaller 轻松安装
  • 提供了丰富的文档和常见问题解答
  • 可以根据需要编译自定义设置,并保留在新版本中下载和编译之前所做的更改。
  • 有一个活跃而友好的社区支持系统,可以获取帮助并报告问题。

Klipper3d/klipper

Stars: 7.7k License: GPL-3.0

Klipper 是一个 3D 打印机固件项目,它将通用计算机的功能与一个或多个微控制器相结合。该项目具有以下核心优势和特点:

  • 具备强大的功能
  • 可以提高打印速度和精度
  • 支持各种类型的 3D 打印机配置

lvgl/lvgl

Stars: 13.2k License: MIT

picture

LVGL 是一款成熟且广为人知的免费开源嵌入式图形库,用于创建任何 MCU、MPU 和显示类型的漂亮 UI。它具有以下核心优势:

  • 具备 30 多个内置小部件,强大的样式系统以及受 Web 启发的布局管理器和支持多种语言的排版系统。
  • 可在至少 32kB RAM 和 128 kB Flash、C 编译器、帧缓冲区以及渲染所需屏幕大小 1/10 倍以上缓冲区下集成到平台中。
  • 支持鼠标、触摸板、键盘等输入设备,并可同时支持多个显示屏。
  • 无外部依赖项并可以编译到任何 MCU 或 MPU 上 (包括 RTOS);适用于单色,ePaper,OLED 或 TFT 显示器甚至监视器;
  • 使用 MIT 许可证发布,因此您也可以轻松将其应用于商业项目中;
  • 不需要操作系统 (OS),不要求额外存储空间 (External memory),GPU;

SoftFever/OrcaSlicer

Stars: 2.1k License: AGPL-3.0

picture

Orca Slicer 是一款开源的 FDM 打印机切片软件。具有以下核心优势和特点:

  • 自动校准
  • 三明治模式
  • 精确壁厚
  • Klipper 支持

MarlinFirmware/Marlin

Stars: 15.2k License: GPL-3.0

picture

Marlin 3D 打印机固件是一个开源项目,它提供了支持 32 位和基于 ARM 的板子以及改进 8 位 AVR 板子的功能。该项目具有以下核心优势:

  • 提供硬件抽象层 (HAL),为所有目标平台提供统一 API,使得代码能够直接与硬件时钟交互。
  • 支持多种不同类型的主控板,并且保持单一代码库适用于各种设备。
  • 社区贡献者已经为许多硬件配置编写了测试过的配置文件,方便用户快速开始使用。
  • 可以使用 Visual Studio Code、Arduino IDE 或 PlatformIO 等工具进行构建和上传固件。

qmk/qmk_firmware

Stars: 15.4k License: GPL-2.0

QMK 固件是一个基于 tmk_keyboard 固件的开源键盘固件。以下是该项目的核心优势和关键特性:

  • 灵活性:支持多种不同类型的键盘,包括 Planck、Preonic、ErgoDox EZ、Clueboard 和 Atreus,并且还有社区对其他许多键盘提供支持。
  • 定制化:可以根据个人喜好自定义按键布局和功能,在满足个体需求方面具备很高的灵活度。
  • 文档完整:它提供了详细而全面的文档,由 Docsify 提供技术驱动并托管在 GitHub 上。

http://www.niftyadmin.cn/n/5283892.html

相关文章

DRF之初识

一、序列化和反序列化 api接口开发,最核心最常见的一个过程就是序列化 【1】序列化 把我们能识别的数据结构(python的字典,列表,对象)转换成其他语言(程序)能识别的数据结构。例如: 我们在django中获取到的数据默认是模型对象(…

css 角标

效果图 代码实现 <div class"container"><div class"subscript"><!-- 使用背景颜色渐变 --><div class"subscript1"></div><div class"texts">角标1</div><!-- 使用三角形 --><!…

CDN缓存技术对网站的作用有什么

CDN缓存是什么&#xff1f; CDN缓存&#xff0c;即内容分发网络缓存&#xff0c;是一种用于提高网络内容传输效率和稳定性的技术。CDN缓存可以在网络中存储大量的数据和文件&#xff0c;例如网页、图片、视频等&#xff0c;从而避免用户直接从原始服务器获取数据&#xff0c;减…

STL stack练习

CSTL之stack栈容器 - 数据结构教程 - C语言网CSTL之stack栈容器1.再谈栈回顾一下之前所学的栈&#xff0c;栈是一种先进后出的数据结构&#xff0c;而实现方式需要创建多个结构体&#xff0c;通过链式的方式进行实现&#xff0c;这是标准的栈的思路&#xff0c;而在STL中栈可以…

Go自定义PriorityQueue优先队列使用Heap堆

题目 分析 每次找最大的&#xff0c;pop出来 然后折半&#xff0c;再丢进去 go写法 go如果想用heap&#xff0c;要实现less\len\swap\push\pop 但可以偷懒&#xff0c;用sort.IntSlice,已经实现了less\len\swap 但由于目前是大根堆&#xff0c;要重写一下less 因此&#xff…

Crow:Middlewares 庖丁解牛5 context

Crow:Middlewares 庖丁解牛4 partial_context-CSDN博客 基于partial_context再来解释context namespace detail {template<typename... Middlewares>struct partial_context : public pop_back<Middlewares...>::template rebind<partial_context>, public…

Qt/QML编程学习之心得:QML和C++的相互调用(十五)

Qt下的QML说到底是类似于JavaScript的一种解释性语言,习惯了VC的MVC(Veiw+Control)的模式,那种界面视图任何事件都是和C++的cpp中处理函数一一对应,在类中也有明确的说明的。一下子玩Qt会觉得哪里对不上,比如使用QML这种节脚本语言贴了图做了layout布局,那么一个按钮的o…

matlab实践(十一):导弹追踪

1.题目 a9.94,x062.06 2.方程 我们有&#xff1a; ( d x d t ) 2 ( d y d t ) 2 w 2 (\frac{\mathrm d\mathrm x}{\mathrm d\mathrm t})^2(\frac{\mathrm d\mathrm y}{\mathrm d\mathrm t})^2\mathrm w^2 (dtdx​)2(dtdy​)2w2 还有导弹始终指向船 ( d x d t d y d t ) …