简介
@iitm_shakti/arduino-board 包是一个基于 Node.js 的 Arduino 板子控制器,可以通过该包实现对 Arduino 板子的控制和数据传输,开发者可以利用这个包快速构建 Arduino 相关应用程序。
安装
在终端执行以下命令进行安装:
npm install @iitm_shakti/arduino-board --save
使用方法
引入包
在你的代码中引入 @iitm_shakti/arduino-board 包
const ArduinoBoard = require('@iitm_shakti/arduino-board');
创建一个新的句柄
使用 new
操作符创建一个新的句柄
const board = new ArduinoBoard('/dev/tty.usbserial-1410', { baudRate: 9600 });
其中,/dev/tty.usbserial-1410
为 Arduino 板子的串口号,{ baudRate: 9600 }
为串口的波特率。请根据实际情况进行修改。
事件监听
可以通过监听板子的事件来获取板子状态的实时变化。
-- -------------------- ---- ------- ----------------- -- -- - -------------------- ----- -- --------- --- --------------------- -- -- - -------------------- ----- -- ------------- --- ------------------------ -- -- - -------------------- ----- -- ---------------- --- ----------------- ----- -- - ----------------- ---
其中,ready
事件表示板子已就绪,connected
事件表示板子已连接,disconnected
事件表示板子已断开,error
事件表示板子发生错误。
控制板子
可以通过向板子发送指令来控制板子。
-- -------------------- ---- ------- ------------------- ----- ----- -- - -- ----- - ----------------- - ---- - ---------------- -- ----- - --- ------------------ ----- ----- -- - -- ----- - ----------------- - ---- - ---------------- -- ------ - ---
以上代码分别是控制板子的 13 号引脚输出高电平和低电平,从而实现控制板子上的 LED 灯的开关。
关闭句柄
在程序结束时需关闭句柄
board.close((err) => { if (err) { console.log(err); } else { console.log('Arduino board is closed.'); } });
示例代码
下面是一个简单的示例程序:
-- -------------------- ---- ------- ----- ------------ - -------------------------------------- --- ----- - --- --------------------------------------- - --------- ---- --- ----------------- -- -- - -------------------- ----- -- --------- ------------------- ----- ----- -- - -- ----- - ----------------- - ---- - ---------------- -- ----- - --- --- ------------------------ -- -- - -------------------- ----- -- ---------------- --- ----------------- ----- -- - ----------------- --- -------------------- -- -- - ------------------ ----- ----- -- - -- ----- - ----------------- - ---- - ---------------- -- ------ - ----------------- -- - -- ----- - ----------------- - ---- - -------------------- ----- -- ---------- - --- --- ---
以上代码实现了在 Arduino 板子上控制 LED 灯的开关,当进程接收到 SIGINT 信号(一般为 Ctrl+C)时,关闭句柄并关闭 LED 灯。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d630d0927023822bf5