Firmata 技术文档
2024-12-28 16:00:27作者:郁楠烈Hubert
1. 安装指南
Firmata 是一种用于从宿主机软件与微控制器通信的协议。本指南将帮助您在 Arduino 开发板上安装和使用 Firmata。
安装方式
方式一:使用 Arduino IDE 管理库
- 打开 Arduino IDE。
- 导航至:
Sketch > Include Library > Manage Libraries。 - 在搜索框中输入 "Firmata",然后选择列表中的 "Firmata by Firmata Developers"。
- 点击
Select version下拉菜单,选择最新版本(也可以选择安装之前的版本)。 - 点击
Install。
方式二:克隆源代码
如果您需要贡献代码或使用比最新标签版本更新的版本,您可以克隆 Firmata 的代码库。此方法仅适用于 Arduino 1.6.4 及以上版本。
$ git clone git@github.com:firmata/arduino.git ~/Documents/Arduino/libraries/Firmata
请根据您的操作系统和 Arduino 默认目录修改以上路径。
方式三:手动更新库(针对 Arduino 1.6.3 或更低版本)
- 下载最新的 Firmata 发布版本。
- 将下载的 Firmata 文件夹替换到您的 Arduino 应用程序目录中相应的位置。
- 重启 Arduino 应用程序,最新版本的 Firmata 将可供使用。
不同操作系统和 Arduino 版本的详细步骤如下:
-
Mac OSX:
- 导航到 Arduino 应用程序。
- 右键点击应用程序图标并选择
Show Package Contents。 - 导航到:
/Contents/Resources/Java/libraries/,并用最新版本替换现有的 Firmata 文件夹。 - 重启 Arduino 应用程序。
-
Windows:
- 导航到
c:/Program Files/arduino-1.x/libraries/。 - 替换现有的 Firmata 文件夹。
- 重启 Arduino 应用程序。
- 导航到
-
Linux:
- 导航到
~/arduino-1.x/libraries/。 - 替换现有的 Firmata 文件夹。
- 重启 Arduino 应用程序。
- 导航到
请根据实际情况更新路径和 Arduino 版本。
2. 项目使用说明
Firmata 的使用主要分为两种模式:
- 模式一:Arduino 草图的作者使用 Firmata 库提供的各种方法,在 Arduino 设备和宿主机软件之间有选择地发送和接收数据。例如,用户可以使用
Firmata.sendAnalog(analogPin, analogRead(analogPin))发送模拟数据到宿主机,或使用Firmata.sendString(stringToSend)发送字符串数据。 - 模式二:更常见的模式是,将一个名为 StandardFirmata 的通用草图(或根据需要选择 StandardFirmataPlus 或 StandardFirmataEthernet 等变体)加载到 Arduino 开发板上,然后完全使用宿主机软件与 Arduino 开发板进行交互。
您可以在 Arduino IDE 的 File > Examples > Firmata 中找到 StandardFirmata 示例。
3. 项目 API 使用文档
Firmata 的 API 文档可以帮助您了解如何在宿主机软件中使用各种方法与 Arduino 开发板进行交互。您可以通过以下方式查看 API 文档:
# 请在浏览器中访问以下地址查看文档
https://firmata.github.io/arduino/html/index.html
4. 项目安装方式
请参考上述“安装指南”部分,了解如何在您的 Arduino 开发板上安装 Firmata 项目。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0192- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
601
4.04 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
Ascend Extension for PyTorch
Python
440
531
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
112
170
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.46 K
823
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
921
770
暂无简介
Dart
845
204
React Native鸿蒙化仓库
JavaScript
321
375
openGauss kernel ~ openGauss is an open source relational database management system
C++
174
249