obniz Board / 1YでもLuaが利用可能に!obnizOS7.1.0-beta.0配信開始。
obnizをご利用いただきありがとうございます。
このたび、最新ファームウェア obnizOS 7.1.0 のベータ配信を開始いたしました。
本リリースからはobniz Board / 1Y も更新対象に含まれます。
obniz Boardはこれまで obnizOS 3.5.0 が最新版でしたが、今回のアップデートにより、3.5.0 から 7.1.0 までに積
み重ねてきた数多くの機能強化・安定性向上・セキュリティ対策を、一度にご利用いただけるようになります。
▎ 本配信はベータ版です。検証目的でのご利用を推奨し、本番環境への適用は十分なテストの上でご判断ください。
※ ベータバージョンはベータテストプログラムに参加されているユーザー様のみダウンロード可能です。
◆ ポイント1:Luaが利用可能に
obnizOS 7.0以降で導入された Luaプラグイン(Lua 5.4.7) が、obniz Boardでもご利用いただけるようになりまし
た。クラウドやAPIと連携した、柔軟なデバイスロジックの記述が可能になります。
▎ 【ご注意】obniz BoardシリーズではLuaプログラムの不揮発領域への保存には対応していません。
▎ オフライン時はLuaは継続動作するものの、再起動・deep sleepを行うとLuaプログラムは失われます。接続中の実行用途としてご利用ください。
obniz Boardに限らずOS7.1.0ではLuaに豊富な機能が追加されております。
全ての機能のご利用には obniz.js 4.1.0-beta.0以降が必要となります。 https://github.com/obniz/obniz/releases/tag/v4.1.0-beta.0
OS7.1.0で追加されるLuaの機能
- 新規に pwm / displayの追加
- io.drive() による プッシュプル・オープンドレインの切り替え
- io.pull()による内臓プルアップダウンの制御
- cloud.transactionWait() , obniz.plugin.callWait() 関数によるクラウド・端末間の双方向のトランザクション機能の実装
- on_low_memory()関数によるメモリ不足の検出
IO Example https://github.com/obniz/obniz/tree/develop/examples/nodejs/hardwares/obnizb1_b2/io
// Example of obniz Board IO Control.
io.drive(0, "5v");
io.output(0, true);
io.drive(1, "3v");
io.output(1, true);
io.pull(2, "5v");
io.drive(2, "open-drain");
io.output(2, true);LuaのExample全体(7.1.0新機能を含む)
https://github.com/obniz/obniz/tree/develop/examples/nodejs/plugin
Transaction Example
// Transaction Example
// Called when Lua runs cloud.transactionWait(data) on the device.
// Whatever this handler returns is passed back to the waiting Lua coroutine
// (success = true). Throwing reports success = false to Lua.
obniz.plugin!.onCloudTransaction = async (data, str) => {
console.log("lua asked cloud:", str);
// e.g. call an external API here and return its response.
return `echo:${str}`;
};
// Kick off a Lua coroutine that asks the cloud and uses the response.
// (callWait runs the script inside a coroutine, so transactionWait can yield.)
const result = await obniz.plugin!.callWait(`
os.log("start");
-- cloud.transactionWait(data [, callback] [, timeout_ms])
-- timeout_ms defaults to 30000ms when omitted. Here we specify 5000ms.
local success, result = cloud.transactionWait("ping", 5000)
if success then
return result
else
return "transaction failed"
end
`);
console.log("lua got back:", result); // "echo:ping"◆ ポイント2:MCPサーバー連携で活用の幅が広がる
Luaの利用により、MCPサーバーとの連携を通じて、AIツール(Claude/ChatGPTなど)から自然言語でのデバイスの状
態取得・遠隔制御・故障予測分析といった活用が、一層広がります。
▎ ※ MCPサーバー自体はクラウド側の機能のため、旧バージョンのOSでもご利用いただけます。
▎ 今回のアップデートは、Luaと組み合わせることで活用シーンをさらに拡張するものです。
◆ ポイント3:OS3.5.0 → 7.1.0 でできることの比較
obniz Boardで新たに利用可能になる主な機能は以下のとおりです。
機能 | OS 3.5.0(従来) | OS 7.1.0(今回) |
|---|---|---|
Lua プラグイン(Lua 5.4.7) | ✗ | ✓(※不揮発保存は非対応 |
MCPサーバー連携の拡張 | ✓(MCP自体は利用可 | ✓(Luaと組合せ |
Wi-Fi WPA3 対応 | ✗ | ✓ |
WPA2/WPA3 混在環境の互換性・安全性 | ✗ | ✓ |
WPA-PSK 対応 / オープンネットワーク接続改善 | ✗ | ✓ |
WPA2 Enterprise 認証 | ✓ | ✓ |
接続先のセルフホスティング(オンプレ/専用クラウド) | ✗ | ✓ |
送信キュー・タイムスタンプ機能 | ✗ | ✓ |
ブラウザからの設定JSON対応 | ✗ | ✓ |
OTA進捗のクラウド表示 | ✗ | ✓ |
◆ ポイント4:セキュリティ対策(脆弱性対応)の網羅
OS3.5.0以降、以下のCVE(脆弱性)への対応が行われています。今回のアップデートでこれらの対策がobniz
Boardにも適用されます。
Wi-Fi 関連
- KRACK系:CVE-2017-13077 / CVE-2017-13078 / CVE-2017-13079 / CVE-2017-13080 / CVE-2017-13081 /
CVE-2017-13082 - CVE-2019-9494 / CVE-2019-9496(Dragonblood系)
- CVE-2020-12638(隣接チャネルへのAP切替に関する対応)
- CVE-2020-26142
- CVE-2022-23303 / CVE-2022-23304
- CVE-2023-52160
Bluetooth 関連
- CVE-2025-66409 / CVE-2025-68474(悪意あるデバイスへの脆弱性対応)
- CVE-2025-68473(SDP処理の修正)
- 固定 Identity Resolving Key(IRK)に関するBLE脆弱性対応
長期間に渡るセキュリティ強化が一度に適用され、より安心してご利用いただけます。
アップデート方法・詳細
詳しくはリリースノートをご覧ください。
→ https://docs.obniz.com/reference/obnizos-for-esp32/changelog
今後ともobnizをよろしくお願いいたします。