bmorcelli/Launcher

GitHub: bmorcelli/Launcher

面向ESP32开发板的多固件启动管理器,集成OTA更新、Web UI和SD卡管理,支持M5Stack、Lilygo、CYD等设备快速切换不同固件。

Stars: 1352 | Forks: 154

# 启动器 适用于 M5Stack、Lilygo、CYDs、Marauder 和 ESP32 设备的应用程序启动器。

加入我们的 [Discord 社区](https://discord.gg/BE9by2a2FF) ## 如何安装 * 使用刷写工具:[Launcher Flasher](https://bmorcelli.github.io/Launcher/)。 * 使用 M5Burner,或者 * 从 Releases 下载适用于您设备的 .bin 文件,并使用 https://web.esphome.io/ 或 esptool.py 刷写文件:将 `Launcher-{ver}-{YourDevice}.bin` 刷入您的设备。 ## 如何使用 * 打开设备电源 * 在 Launcher 启动界面按 M5 (Enter) 键启动 Launcher * 选择 OTA 以从 M5Burner 仓库安装新的二进制文件 * 安装完成后,开启设备时,如果您没有进行任何操作,已安装的程序将自动启动。 ## 我的 SD 卡无法工作! * 确保您的 SD 卡是 SDHC(而非 SDXC) * 最大容量为 32Gb(我使用 8 或 16Gb) * 格式化为 FAT32(使用 [Rufus 工具](https://rufus.ie/)格式化您的 SD 卡) ## 使用 Launcher,您将能够:

OTA - OTA 更新

- 从 M5Burner 仓库安装二进制文件(是的,在线安装,无需 USB 线) - 从 WebUI 安装二进制文件,您可以从 CFG 选项启动该功能,安装您计算机或智能手机上的二进制文件 - 从您的 SD 卡安装二进制文件

SD - SD卡管理

- 创建新文件夹, - 删除文件和文件夹, - 重命名文件, - 复制和粘贴文件, - 安装二进制文件

WUI - Web 用户界面

- 管理 SD 卡上的文件 - 使用 OTA 更新选项无线安装二进制文件 - 通过文件列表部署安装

CFG - 配置(自定义)

- 充电模式 - 更改亮度 - 更改变暗时间 - 更改 UI 颜色 - 避免/询问 Spiffs(更改为不询问安装 Spiffs 文件系统,仅 Orca One 使用此功能) - 更改旋转方向 - 所有文件/仅 Bin(查看所有文件或仅查看 .bins - 默认) - 更改分区方案(例如允许安装大型应用或 UiFlow2) - 分区列表 - 清除 FAT 分区 - 保存 SPIFFS(保存 SPIFFS 分区的副本以便需要时恢复) - 保存 FAT vfs(保存 FAT 分区的副本以便需要时恢复) - 恢复 SPIFFS - 恢复 FAT vfs

提示

* 拥有一张 SD 卡可以获得更好的体验,但并非必需。[M5StickCs 的 SDCard Hat](https://www.thingiverse.com/thing:6459069) * 您可以在 [Launcher Wiki](https://github.com/bmorcelli/Launcher/wiki/Explaining-the-project) 了解更多关于其工作原理的信息。 * 我在哪里/如何找到要启动的二进制文件 -> [获取要启动的二进制文件](https://github.com/bmorcelli/Launcher/wiki/Obtaining-binaries-to-launch) * 现在您可以从[这里](https://bmorcelli.github.io/Launcher/m5lurner.html)下载二进制文件。
## 已知问题 * UiFlow 1 无法与 Launcher 配合使用。它使用的是旧的 MicroPython 发行版,该发行版使用了旧的 ESP-IDF 发行版,其中包含许多我无法弄清楚的秘密。 ## 待办事项列表 下次更新中需要完成的事项 * [ ] 适用于电子墨水屏的 LVGL * [ ] 迁移至 ESP-IDF 平台 ## 最新更新日志 * 2.6.8: * [ ] 自定义分区构建器(不再有硬编码的分区列表) * [x] 修复 M5Stack Tab5 Wifi 扫描和 AP 模式下的 WebUI * [x] 新设备:[Lilygo T-Watch-S3] (https://lilygo.cc/products/t-watch-s3?bg_ref=sDI8Bh4HmO) * [x] 新设备:[Lilygo T-Watch-Ultra] (https://lilygo.cc/products/t-watch-ultra?bg_ref=sDI8Bh4HmO) * 2.6.7: * [x] 恢复 Tab5 SD 卡 SPI 以保证 WiFi 兼容性,并重构重启流程以对 SD 卡进行断电重启,重置 SD 卡通信总线。 * [x] Tab5 现在具有 MassStorage 接口! * [x] 修复 M5Stack Paper S3 USB MassStorage 问题 https://github.com/bmorcelli/Launcher/issues/287,OTA 将仅显示 S3 固件。 * [x] 添加 App 偏移参数以允许在 Tab5 中更新 Launcher,以及位于不同 factory/app0 地址的固件。 * [x] 设置 StickC 和 CPlus 设备在 OTA 中仅查看 ESP32 固件,排除 ESP32-S3 (StickS3) 固件 * [x] 调整未合并的固件二进制文件以包含分区表,允许将 SPIFFS 分区附加到其中。此二进制文件仅对 Launcher 有效,不能单独刷写,因为它没有有效的 bootloader 和分区表。https://github.com/bmorcelli/Launcher/issues/289 * 2.6.6: * [x] [M5-StickS3](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=Pirata) 移植 * [ ] (Beta) [M5-DinMeter](https://shop.m5stack.com/products/m5stack-din-meter-w-m5stamps3?ref=Pirata) 移植 * [x] [Arduino Nesso N1](https://docs.arduino.cc/hardware/nesso-n1) 移植 * 2.6.5: * [x] M5-Tab5 使用 SDMMC 驱动以兼容其他固件 * [x] 添加按“最新更新”排序的功能 * [x] 移植 OpenSourceSRDLabs [WaveSentry 和 WaveSentry Pro ](https://opensourcesdrlab.com/products/aifw-wavesentry-esp32?VariantsId=10331) * [x] 修复 Cardputer, Tdeck, StickCPlus2, T-Display S3, T-HMI 的电池 ADC 测量 * 2.6.4: * [x] 修复 CYD 3243S035R 触摸屏旋转 * [x] 修复 Marauder V7 屏幕问题 * [x] 增强 M5-PaperS3 显示,现使用 Sprites 以获得更好的绘图分辨率 * [x] 修复 M5Stack Cardputer ADV 键盘无法输入 '*' 和 '(' 的问题 * [x] 为 [Cardputer Game Station](https://github.com/geo-tp/Cardputer-Game-Station-Emulators/) 添加新分区方案,允许 4.5Mb 的游戏 ROM * [ ] 移植 [M5-Paper](https://shop.m5stack.com/products/m5paper-esp32-development-kit-v1-1-960x540-4-7-eink-display-235-ppi?ref=Pirata) * [ ] 移植 [Arduino Nesso N1](https://docs.arduino.cc/hardware/nesso-n1),无法构建 * 2.6.3: * [x] 修复 Marauder 键盘 * [x] 从 EEPROM 改为 NVS 以保存配置和 Wifi 凭据 [Issue 232](https://github.com/bmorcelli/Launcher/issues/232) * [x] 移植 [M5-PaperS3](https://shop.m5stack.com/products/m5papers3-esp32s3-development-kit?ref=Pirata) * [x] 修复 SelPress 渗透到主菜单的问题 * [x] T-Embed (全部) 和 T-LoraPager 编码器增强 * [x] WebUi 会话增强和修复 * 2.6.2: * [x] 修复 T-Embed CC1101 OTA 链接 * [x] 更改 SD 文件列表以提高速度([PR 230](https://github.com/bmorcelli/Launcher/pull/230)) [Issue 229](https://github.com/bmorcelli/Launcher/issues/229) 感谢 @geo-tp 和 @emericklaw * 2.6.1: * [x] 修复 T-Deck Plus 触摸屏(为其添加了新环境) * [x] 修复 M5Stack CoreS3 SD 卡无法挂载 * [x] 添加从收藏夹删除选项 * 2.6.0: * [x] 从我的新 api 拉取数据,将所有设备列表与 m5burner api 集成,并将下载计数计入 m5burner 数据库。 * [x] OTA 分页(每页 100 个固件,按下载量排序-默认) * [x] 新设备:[M5Stack Tab5](https://shop.m5stack.com/products/m5stack-tab5-iot-development-kit-esp32-p4?ref=Pirata)。 * [x] 新设备:[Lilygo T-HMI](https://www.lilygo.cc/products/t-hmi?bg_ref=sDI8Bh4HmO) * [x] 新功能:备份 SPIFFS/FAT 现在提示将数据合并到选定的二进制文件中,因此您可以安装固件和数据,在安装时选择 `SPIFFS Yes`,备份 B 二进制文件现在具有递增的名称。 * [x] 新功能:为固件列表添加过滤和排序。 * [x] 新功能:添加 *星标* 固件列表(由我控制.. 支持该项目以将您的固件加入星标列表。)。 * [x] 新功能:添加“收藏夹”(需要 SD 卡),您可以从 OTA 列表添加固件,或手动添加来自本地服务器等的二进制链接。 * [x] config.conf 更改: ``` ... "favorite": [ { // Example of firmware added into Favorites through OTA function "name": "Evil-Cardputer-7h30th3r0n3", "fid": "2128851a0c98a4c1d15ac1a327b49812", "link": "" }, { // Example of my custom link file added manually editiing this file "name": "Launcher Beta link", "fid": "", // leave it blank "link": "https://github.com/bmorcelli/Launcher/releases/download/beta/Launcher-m5stack-cardputer.bin" }, { "name": "Bruce Beta link", "fid": "", "link": "https://github.com/pr3y/Bruce/releases/download/betaRelease/Bruce-m5stack-cardputer.bin" }, ], "c0:4e:30:13:8d:f4": 1, // Rotation is now bound to hardware MAC ... ```

旧版更新日志

* 2.5.3: * [x] 恢复 T-Deck OTA * [x] 优化 T-Deck 触摸屏输入 * 2.5.2: * [x] 修复 Marauder V6 触摸屏和 CYDs 触摸屏无响应 [问题](https://github.com/bmorcelli/Launcher/issues/210) 并修复屏幕变暗 * [x] 修复 Marauder Mini 和 V7 屏幕变暗。 * [x] 修复 Smoochiee 板输入和 SD 卡[问题](https://github.com/bmorcelli/Launcher/issues/209) * [x] 修复 Cardputer ADV 上的长按 * [x] 修复子文件夹创建 * 2.5.1: * [x] 修复 Cardputer ADV 键盘兼容性 * [x] 修复 OTA 固件列表未完全下载的问题。 * 2.5.0: * [x] 迁移到 pioarduino 3.3 基础框架 (ESP-IDF 5.5) * [x] 为 SD_MMC 设备启用 USB Mass Storage(T-Display-S3 及触摸版和 T-Dongle S3 tft) * [x] 分区更改 * [x] 固件更新 * [x] OTA 列表和安装 * [x] 添加对 T-Deck Pro 的键盘支持 https://github.com/bmorcelli/Launcher/issues/180 * [x] 修复与 UIFlow 2.3.x 的兼容性 https://github.com/bmorcelli/Launcher/issues/192 * [x] 添加 CSS, JS, Html 在线压缩器 * [x] 迁移至 ESP32Async/ESPAsyncWebServer 官方仓库 * [x] 移植 [Cardputer ADV](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=Pirata) 感谢 [@n0xa](https://github.com/n0xa) * [x] 移植 [Lilygo Lora Pager](https://lilygo.cc/products/t-lora-pager) 作者 @emericklaw * [x] 移植 [CYD-4827S043R](https://github.com/bmorcelli/Launcher/issues/186) -> WIP * [x] 修复第一行[文件列表](https://github.com/bmorcelli/Launcher/issues/166) * 2.4.10: * [x] 修复 T-Embed 屏幕 * [x] 修复 StickC (和 plus) 键盘导航 * [x] Phantom 触摸屏映射 * 2.4.9: * [x] 修复 T-Display-S3 PRO * [x] 为 Marauder Mini 启用 OTA * 2.4.8: * [x] 为以下设备启用 OTA 功能:CYD 2432S028R, 2-USB, S024R, W328C/R, Marauder 板, Awok 板, Phantom, Lilygo T-Embed CC1101 和 T-Deck (普通版和 plus) * [x] 移植 [AWOK Mini v2](https://awokdynamics.com/products/dual-mini-v2) 和 [AWOK Touch v2](https://awokdynamics.com/products/dual-touch-v2) * [x] 移植 [RabbitLabs Phantom](https://rabbit-labs.com/product/the-phantom-by-rabbit-labs/?v=dc634e207282) * [x] 移植 [8048S043C, 8048W550C](https://github.com/bmorcelli/Launcher/issues/108) * [x] 移植 Lilygo T-Deck Pro (电子墨水屏) * [x] 触摸屏设备的响应式文件列表和菜单选项增强 * [x] 包含所有项目的新主菜单,项目可触摸操作。 * [x] 修复 [Marauder v4, v6, v7, mini.](https://github.com/bmorcelli/Launcher/issues/146) 的移植 * [x] 修复 [243s032C 触摸屏未对齐](https://github.com/bmorcelli/Launcher/issues/149) * 2.4.7: * [x] WebUI:通过拖放或文件/文件夹选择器进行多文件上传,现在支持文件夹上传和排序。 * [x] StickC 黑屏修复 * [x] [T-Dongle-S3 (tft)](https://lilygo.cc/products/t-dongle-s3?srsltid=AfmBOopwCcPQTTC4wTNi3rNZHn8W6g8Yo_ShcrfDiAfECS6tGq59vWo7) 移植 * [x] [T-Display-S3](https://lilygo.cc/products/t-display-s3?variant=42284559827125) 移植 * 2.4.6: * [x] UiFlow2 v2.2.3 并恢复 StickCPlus2 兼容性 * [x] 拆分 webui 文件 * [x] ESP32S3 设备上管理 SD 文件的 USB 接口(ESP32 无法做到) * [x] 使用 gzip 压缩 WebUI * [x] 移植 CYD-3248S035C 和 CYD-3248S035R https://github.com/bmorcelli/Launcher/issues/125 * [x] 接口跳过选项(多次点击) https://github.com/bmorcelli/Launcher/issues/127 https://github.com/bmorcelli/Launcher/issues/126 [评论](https://github.com/bmorcelli/Launcher/issues/125#issuecomment-2705628306) * [x] 修复 StickCPlus 键盘颜色 * [x] 修复 OTA 中的返回列表(当有多个列表时将增强) * [x] (回滚)使用 http 下载/更新 OTA 以减少闪存占用。 * 2.4.5: * [x] 移植 CYD-2432S024R https://github.com/bmorcelli/Launcher/issues/99 , CYD-2432W328R, CYD-2432S022C https://github.com/bmorcelli/Launcher/issues/112 , CYD-2432S032C, CYD-2432S032R * [x] 修复 Marauder V4-OG 设备 * [x] 电池不可用时移除电池指示(或 0%) * [x] 修复 Headless 16Mb 环境 https://github.com/bmorcelli/Launcher/issues/121 https://github.com/bmorcelli/Launcher/issues/120 * [x] 现在使用 ArduinoGFX 作为主图形库,支持 TFT_eSPI 和 LovyanGFX * 2.4.4: * [x] 为非 M5 Stack 设备禁用 OTA 菜单(主要为 CYD 和 Marauder 节省闪存),为这些设备创建新的分区方案 * [x] 修复 T-Embed CC1101 电池值 * 2.4.3: * [x] 修复 Core 设备上的按键 * [x] 修复屏幕变暗时的随机重启 * [x] 移植 Lilygo E-Paper S3 Pro(目前仅限 Pro) * [x] 修复 T-Embed 从深度睡眠返回 * 2.4.2: * [x] UiFlow2 v2.2.0 兼容性 https://github.com/bmorcelli/Launcher/issues/92 针对 Cardputer,由于存储空间不足从 StickCPlus2 移除 * [x] 修复 https://github.com/bmorcelli/Launcher/issues/93 https://github.com/bmorcelli/Launcher/issues/97 https://github.com/bmorcelli/Launcher/issues/95 * [x] 通过输入 SSID 和 Pwd 连接到隐藏网络的可能性 https://github.com/bmorcelli/Launcher/issues/89 * [x] 更改移植系统,在后台任务中读取输入(同 Bruce) * [x] 增强键盘 * [x] 为大屏幕(大于 200x200px,如 CYD, Core 设备)添加纵向旋转 * 2.4.1: * [x] T-Deck SD 卡修复(禁用 LoRa 芯片,CS 引脚置高,以避免冲突) https://github.com/bmorcelli/Launcher/issues/86 * [x] Lilygo T-Display-S3-Pro 移植 https://github.com/bmorcelli/Launcher/issues/73 * 2.4.0: * [x] CYD-2432W328C 移植 https://github.com/bmorcelli/Launcher/issues/80 * [x] 长 SSID 和长文件名的滚动文本 * [x] 添加在输入错误 WIFI 密码和其他菜单后从菜单返回的方法(无法从键盘本身退出) https://github.com/bmorcelli/Launcher/issues/82 https://github.com/bmorcelli/Launcher/issues/81 * [x] 修复方向问题(不在 SD 卡中保存) https://github.com/bmorcelli/Launcher/issues/84 * [x] 变暗屏幕现在会关闭屏幕 * [x] 项目更名为 "Launcher" 并在启动动画中添加我的昵称 * [x] 更改接口代码,为新移植做准备 https://github.com/bmorcelli/Launcher/issues/83 * 2.3.2: * [x] T-Embed CC1101 电源芯片管理修复 * 2.3.1: * [x] 修复 https://github.com/bmorcelli/Launcher/issues/77 * [x] 修复 T-Deck 设备的屏幕方向 * [x] 修复 Json 处理和 config.conf 随机失败 * 2.3.0: * [x] 移植 Lilygo T-Embed CC1101 * [x] 移植 Lilygo T-Embed * [x] 移植 Lilygo T-Deck * [x] ESP32 和 ESP32-S3 的 Headless 版本 * [x] StickCs 电源键和 Prev 键现在用于在菜单中向上移动... 长按退出菜单 * 2.2.5: * [x] 更改框架以移除所有看门狗定时器 https://github.com/bmorcelli/Launcher/issues/61 https://github.com/bmorcelli/Launcher/issues/63 并解决一些 SD 相关问题 * [x] 将 StickCs 和 Cardputer 上的 Grove 引脚设置为 LOW 状态,以避免连接 RF433T 时产生 433Mhz 干扰 * 2.2.4: * [x] 终于移植到 CoreS3 和 CoreS3-SE * [x] 为 WebUI 添加看门狗重置,并在加载文件到 WebUI 时检查可用内存,以避免崩溃。 * 2.2.3: * [x] StickC, Plus 和 Plus2:从启动时的跳过逻辑中移除电源键。 * [x] 更改 EEPROM 地址以避免与新版 Bruce 和其他固件发生冲突。 * 2.2.2: * [x] 移植 [CYD-2432S028R](https://www.amazon.com/dp/B0BVFXR313) 和 [CYD-2-Usb](https://www.amazon.com/dp/B0CLR7MQ91) * [x] 添加下载完成后的检查,将删除失败的下载文件 * 2.2.1: * [x] 移植 [Lilygo T-Display S3 Touch](https://www.lilygo.cc/products/t-display-s3?variant=42351558590645) * [x] 修复 JSON 读/写 * 2.2.0: * [x] M5Launcher 2.2+ 现在可以通过 OverTheAir 或使用 SD 卡更新 * [x] UI 颜色设置(可在 /config.conf 文件中自定义) * [x] 减少 SD 文件导航时的闪烁 * [x] 修复固件名称中包含 "/" 导致无法下载的问题 * [x] 将固件版本附加到下载名称中。 * [x] 添加变暗时间以降低亮度和空闲时的 CPU 频率 * [x] 在设置中添加“充电模式”,将 CPU 频率降低至 80Mhz,亮度降低至 5%,https://github.com/bmorcelli/Launcher/issues/40 * [x] 修复下载进度条 https://github.com/bmorcelli/Launcher/issues/41 * [x] 更改默认下载文件夹(在 /config.conf 中手动设置) https://github.com/bmorcelli/Launcher/issues/15 * [x] 保存更多 SSID 和密码,如果是已知网络则自动连接 https://github.com/bmorcelli/Launcher/issues/30 * [x] 使用定制框架略微提高 Wifi 下载/OTA 速度。 * 2.1.2: * [x] 修复 OTA 错误消息 * [x] 增加选项菜单宽度并减少菜单闪烁 * 2.1.1: * [x] 修复 UIFlow 兼容性 * [x] 修复 SD 卡问题 * [x] 小修复 https://github.com/bmorcelli/Launcher/issues/37 * 2.1.0: * [x] Core Fire (所有 16Mb Core 设备) 和 Core2 兼容性 * [x] 将 SPIFFs 更新设为可选(默认关闭) [译注:原文括号内重复,已简化] * [x] Core 设备去 Sprite 化(无 PSRam,无法处理巨大 Sprites) https://github.com/bmorcelli/Launcher/issues/34 * [x] 使键盘在 Core 设备中配合触摸屏捕获工作 * [x] 主屏幕上的专用 WebUI 按钮 https://github.com/bmorcelli/Launcher/issues/22 * [x] WebUI 多文件上传 https://github.com/bmorcelli/Launcher/issues/28 * [x] 更新 FAT vfs 分区以兼容 UIFlow2 https://github.com/bmorcelli/Launcher/issues/29 * [x] 分区更改器,以允许在 Cardputer 和 StickC 上运行 DOOM 和 UIFlow * [x] 修复(增加文件数量) https://github.com/bmorcelli/Launcher/issues/33 * [x] 备份和恢复 FAT 和 SPIFFS 文件系统。如果您使用 UIFlow,可以将所有草图保存到设备中并备份,以便在重新安装 UIFlow 或 MicroHydra 或 CircuitPython 后恢复 * 2.0.1: * 修复 UIFlow 安装 https://github.com/bmorcelli/Launcher/issues/20 * 修复 WebUI 文件夹创建 https://github.com/bmorcelli/Launcher/issues/18 * 修复阻止 WebUI 在某些情况下打开的问题 https://github.com/bmorcelli/Launcher/issues/16 * 现在 M5Launcher 格式化 FAT vfs 分区,因此在使用 MicroPython, UIFlow 或 MicroHydra 时,请确保已将数据保存到 SDCard https://github.com/bmorcelli/Launcher/issues/19 * 2.0.0: * SD:添加文件夹创建、删除和重命名文件及文件夹、复制和粘贴文件 * OTA (Over-The-Air update):添加功能列出 M5Burner 中可用的程序并从互联网安装。 * WebUI:添加 WebUI,您可以在其中管理 SD 卡并无线安装新的二进制文件 * 其他次要功能 * * 1.3.0: * 添加对基于 Micropython 的二进制文件 的支持,Cardputer 和 StickCPlus2 使用 1Mb FAT 分区,StickC 和 Plus1.1 使用 64kb * 1.2.1: * Launcher 现在在重启前降低 LCD 电源并将屏幕填黑,以防止在使用不使用屏幕的应用时造成 lcd 烧屏 * 修复 M5StickC 的显示和位置 * 1.2.0: * 排除 ota_data.bin 文件,因为它不是必需的 * 排除 StartApp 应用程序 * 从 .csv 文件中排除 OTA_1 分区,因为我发现它不是必需的 * 将可用空间重新分配到 "SPIFFS" 分区,为改进和支持使用它的应用程序 留出空间 * 添加带有电池监视的启动画面 * 向 Launcher 添加重启选项和电池监视 * 为 M5StickCs 添加自动方向 * Launcher 不再创建 .bak 文件!! * .bin 文件处理以避免某些错误:文件太大、文件无效等等。。 * 1.1.3: * 修复偶尔隐藏文件和文件夹的菜单文件。 * 1.1.2: * 调整 Magic numbers 以适配某些应用。 * 1.1.1: * 将 Cardputer 和 M5StickCPlus2 的 OTA_0 分区大小从 3Mb 更改为 6Mb * ~~添加验证以识别 MicroPython 二进制文件,并不被裁剪过程破坏(这些应用仍然无法工作,需要更多工作...)~~ * 1.1.0: * 修复阻止 M5Launcher 在 Cardputer 上启动应用的问题 * 1.0.1: * 修复 Cardputer 上的黑屏和键盘捕获。
标签:CYD, ESP32, Esptool, Lilygo, M5Burner, M5Stack, Marauder, OTA更新, SD卡管理, UML, Web用户界面, WiFi渗透测试, 固件启动器, 固件管理, 嵌入式GUI, 嵌入式开发, 应用程序管理, 开源硬件, 无线烧录, 物联网, 菜单系统