こちらのページのテスト用プログラムを Node.js で書きました。
M5Stack Core2: シリアルで LED を制御
led_control.js
#! /usr/local/bin/node
// ---------------------------------------------------------------
// led_control.js
//
// Oct/4/2022
// ---------------------------------------------------------------
'use strict';
require('date-utils')
// ---------------------------------------------------------------
function send_proc(color)
{
port.write(color, function(err)
{
if(err){
// エラーハンドル
return console.error('*** error ***', err.message)
}
// 成功
console.error("*** sent *** " + color)
})
}
// ---------------------------------------------------------------
function counter () {
const colors = ["red","yellow","green","blue"]
var dt = new Date()
var formatted = dt.toFormat("HH24:MI:SS")
console.log(count++, "只今の時刻:",formatted)
const timeoutId = setTimeout(counter, 2000)
const jt = count % 4
send_proc(colors[jt])
if (count == 5)
{
clearTimeout(timeoutId)
console.error ("*** 終了 ***")
}
console.error('*** count = ' + count + ' ***')
}
// ---------------------------------------------------------------
console.error ("*** 開始 ***")
var {SerialPort} = require("serialport")
var port = new SerialPort({path: "/dev/ttyUSB0", baudRate: 115200 })
var count = 0
port.on('open', function() {
console.error('*** port *** opend ***')
})
counter()
// ---------------------------------------------------------------
実行スクリプト
start.sh
export NODE_PATH=/usr/local/lib/node_modules
./led_control.js
次のバージョンで確認しました。
$ node --version
v18.10.0