3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

15分でできる!opnizハンズオン! (rev1)

Posted at

はじめに

本記事はM5Stack系デバイスへのopnizセットアップから、Node.js SDKでLチカするまでのハンズオン記事となります。
コマンドを6つ実行するだけで、だいたい15分ほどで完了します(ほとんどインストールやコンパイルの待ち時間です)。

対象読者

  • JavaScript / TypeScriptでIoTしてみたい方(C / C++は書きたくない)
  • できるだけ安くIoTしてみたい方
  • 正直M5Stack積んでる方

用意するもの

  • M5Stackデバイス
    • 動作確認できているデバイスはこちら
  • USB Type-Cケーブル
    • デバイスをPCに接続する用
  • PC
    • Windows / Mac / LinuxどれでもOK
    • Node.js v16以上をインストールしておいてください

opnizとは

opnizとはM5StackといったESP32デバイスをNode.jsからobnizライクに遠隔制御するための、Node.js SDKおよびArduinoライブラリです。
しくみとしてはESP32デバイスおよびNode.js SDK間にてJSON形式のRPCメッセージをやりとりし、相互に定義されたメソッドを呼び合います。
.

つまりはobnizっぽいことができるオープンソースIoTフレームワークです。

opniz Node.js SDK」「opniz Arduino Library」で構成されます。

ハンズオン

  1. opnizデバイスのセットアップ(計12分)
    1.1. 作業ディレクトリの作成(30秒)
    1.2. opniz CLIのnpmインストール(3分)
    1.3. M5Stackデバイスへのテンプレートスケッチ書き込み(8.5分)
  2. Lチカプログラムを動かしてみる(計1.5分)
    2.1. opniz Node.js SDKのnpmインストール(30秒)
    2.2. Node.js SDKコード作成(30秒)
    2.3. プログラムの実行(30秒)

1. opnizデバイスのセットアップ(計12分)

まずはopniz CLIを使ってopnizデバイスをセットアップします。

1.1. 作業ディレクトリの作成(30秒)

最初に作業ディレクトリを作成し、ディレクトリ移動します。

mkdir opniz-handson && cd opniz-handson

1.2. opniz CLIのnpmインストール(3分)

opniz CLIをnpmインストールします。
opniz CLIはM5Stackデバイスへopniz Arduino Libraryのテンプレートスケッチを簡単に書き込めるツールです。

npm install opniz-cli

opniz-cliのインストール時にArduino CLI実行ファイルのダウンロードやESP32環境の構築を行うため、インストールに数分かかります。

1.3. M5Stackデバイスへのテンプレートスケッチ書き込み(8.5分)

opniz CLIを使ってM5Stackデバイスへopnizテンプレートスケッチを書き込みます。

M5StackデバイスをUSBケーブルでPCと接続してください。
その後以下のコマンドを実行し対話モードで必要な情報を入力していきます。

npx opniz upload

ここで必要となる情報は以下のとおりです。

  • デバイスのシリアルポート
  • opnizデバイスが接続するWi-FiのSSID / パスワード
  • opnizプログラムを実行するマシンのIPアドレス
  • 書き込むM5Stackデバイスの種別
  • opnizプログラムの通信ポート番号(デフォルトは3000

このうちWi-Fiパスワード以外は自動的に情報を取得しリスト表示されるので選択するだけです。
opnizプログラムの通信ポート番号はデフォルトの3000のままでいいのでそのままエンターキーを押してください。

[opniz uploadコマンド実行イメージ]
.

GIF画像では書き込みがさくっと終わっていますが、コンパイル / 書き込みに数分かかります。

2. Lチカプログラムを動かしてみる(計1.5分)

内蔵RGB LEDを使ってLチカするプログラムを実行してみましょう。
ディスプレイ搭載デバイスはLチカの代わりにDチカ(Displayチカチカ)してみましょう。

2.1. opniz Node.js SDKのnpmインストール(30秒)

opniz Node.js SDKをインストールします。

npm install opniz

2.2. Node.js SDKコード作成(30秒)

以下のcurlコマンドでサンプルコードを直接ダウンロードします。

LED搭載デバイスの場合(M5ATOM Matrix / Lite / Echo / U、M5ATOMS3 Lite、M5Stamp Pico / S3等)
curl -fsSLk https://raw.githubusercontent.com/miso-develop/opniz-sdk-nodejs/main/examples/led.js > index.js
ディスプレイ搭載デバイスの場合(M5Stack / Core2、M5StickC、M5ATOMS3等)
curl -fsSLk https://raw.githubusercontent.com/miso-develop/opniz-sdk-nodejs/main/examples/display.js > index.js

2.3. プログラムの実行(30秒)

以下のコマンドでプログラムを実行します。

node index.js

デバイスのLEDが1秒おきに点滅すれば成功です。
ディスプレイ搭載デバイスの場合はHello World!の文字が点滅すれば成功です。

Next Step

お疲れさまでした!🎉
最後にopnizを使ったIoT開発の次のステップになるような情報をまとめましたのでご覧ください!

Examples

GitHubリポジトリにてExamplesを用意しています。
M5Stackデバイス備え付けの機能の使用例や、外部LED・サーボモーターの使用例があります。

APIドキュメント

TypeDocでAPIドキュメントを生成しています。
特に以下の2つのクラスのAPIが参考になると思います。

opnizを用いたQiita記事

opnizを用いて実際に何かを作ってみたりした記事です。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?