探索未来硬件:Particle-io 开源库
Particle-io 是一款专为与 Particle 设备(原 Spark)交互而设计的 Firmata 兼容 I/O 类库,由 Bocoup 精心打造。这款库将使您的 Node.js 应用程序与智能硬件之间的协同工作变得轻而易举。
轻松上手
在使用 Particle-io 前,请确保将特殊固件 Voodoospark 安装到您的设备上。我们建议您参照 VoodooSpark 的入门指南,并观看这个如何让 Particle Photon 与 Johnny-Five 一起工作的教程视频以快速起步。
此外,创建一个名为 .particlerc
的文件存储您的 Particle 令牌和设备 ID,以便于通过 process.env
访问:
export PARTICLE_TOKEN="你的 Particle 令牌"
export PARTICLE_DEVICE_ID="你的设备 ID"
确保你的主机计算机与 Particle 设备处于同一局域网内。
点亮第一个 LED
这就是微控制器编程的经典“你好,世界”示例:
var Particle = require("particle-io");
var board = new Particle({
token: process.env.PARTICLE_TOKEN,
deviceId: process.env.PARTICLE_DEVICE_ID
});
board.on("ready", function() {
console.log("设备已准备就绪...");
this.pinMode("D7", this.MODES.OUTPUT);
var byte = 0;
// 这将会“闪烁”板载 LED
setInterval(function() {
this.digitalWrite("D7", (byte ^= 1));
}.bind(this), 500);
});
遇到问题?别担心!
如果您的设备连接成功,但没有触发 board.on("ready", ...)
事件,检查您当前连接的 WiFi 网络是否允许直接的 TCP 客户端/服务器套接字通信(公共 WiFi 网络通常会阻止这种形式的通信)。
作为 Johnny-Five IO 插件
Particle-io 也可作为 Johnny-Five 的 IO 插件使用,实现更高级的应用场景:
var five = require("johnny-five");
var Particle = require("particle-io");
var board = new five.Board({
io: new Particle({
token: process.env.PARTICLE_TOKEN,
deviceId: process.env.PARTICLE_DEVICE_ID
})
});
board.on("ready", function() {
console.log("设备已准备就绪...");
var led = new five.Led("D7");
led.blink();
});
API 概览
构造器 Particle 组件可以通过以下三种方式之一建立连接:deviceId
、deviceName
或 host
/port
。deviceId
和 deviceName
需要额外的 token
参数,以便从 Particle 云中获取设备的主机和端口信息。
设备属性 您可以访问一些只读设备属性来获取组件对芯片的信息,这对于获取 Particle 的 IP 地址非常有用,以便在必要时切换到 host
/port
模式。
可用的属性有:
deviceId
: 设备 IDdeviceName
: 设备名称deviceIp
: 设备在本地网络中的 IP 地址devicePort
: 设备监听的端口号
模式(MODES) 作为一个 Particle 实例属性,可以访问 MODES
属性:
- 输入:0
- 输出:1
- 模拟:2
- PWM:3
- 伺服:4
其他方法,如 pinMode()
、digitalWrite()
、analogWrite()
、servoWrite()
及 digitalRead()
、analogRead()
提供了基础的输入输出控制,支持 PWM(部分针脚)、模拟读取等。
许可证信息
查看项目 LICENSE
文件以了解许可详情。
Particle-io 以其强大而简洁的设计,使得物联网应用开发更加平易近人。它不仅提供了基本的 I/O 控制,还能无缝集成 Johnny-Five,扩展出更多可能性。是时候利用 Particle-io 探索和控制您的物理世界了!