9
4

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 3 years have passed since last update.

IoTLTAdvent Calendar 2020

Day 10

クリスマス電子工作ハンズオン!「もくもくサンタさん」を召喚しよう

Last updated at Posted at 2020-12-09

概要

IoTLTアドベントカレンダー10日目となります。よろしくお願いします!
もうすぐクリスマスですね。この記事では先日開催されましたクリスマス電子工作ハンズオン!Noodlもくもく会
そこでサンプル用に準備した「もくもくサンタさん1」を紹介します。
当日のもくもく会でも色々とVerUPしていましたので、どんどん改造して遊んでみてください。

もくっと召喚されるサンタさんはこちら

画面構成

携帯・PCの窓に映る雪景色と1つのもみの木。
手元のボタン(M5Stack)を押すとひょこっとサンタさんがプレゼントをもって現れます。
サンタさんにさわる(クリックする)と、サンタさんが窓の外のもみ木ライト、現実世界のLEDライト(Neopixel)を灯してくれます。
別のボタンを押すとサンタさんは帰っていきます。

img0077_result.png

システム構成

携帯・PC画面をビジュアルプログラミングツールNoodlで作成し。手元のボタンにM5Stackを使っています。
M5Stack側のボタンをトリガーとして、MQTTメッセージをNoodl側に送信しています。
今回はMQTTブローカに[shiftr.io]を使いました。
また、画面のクリック情報を検知しMQTTメッセージをM5Stackに返しています。
M5Stack側ではMQTTメッセージを受取ると、UNITとして取り付けたNeopixelのLEDを点灯させています。

img0004.JPG

用意するもの

以下の材料をお手元にご用意ください。

材料 種類 購入先
M5Stack本体 M5Stack、M5StickC、Atomなど スイッチサイエンス
NeoPixel互換LED 六角形ユニット、LEDテープなど スイッチサイエンス マルツオンライン

サンプルファイルのダウンロード

Noodlもくもく会:Connpassページ下のほうにある資料欄のサンプルデータをダウンロードしてください

img0005.JPG

開発環境

今回はM5Stack、PC・携帯画面どちらもビジュアルプログラミング環境を使います。

UIFlowの環境構築

UIFlow自体はオンライン環境があるので環境構築は不要ですが、
M5Stack自体は以下リンクを参考に最新のフィームウェアの書込み、Wi-Fi設定、M5StackAPIキーの確認をしてください。

UIFlowのバージョンはどちらでも構いません。右側のBeta版は新しくおすすめです。
img0006.JPG

M5Stack側の設定

サンプルプログラムにはNeoixclの種類テープ型、Hex型のSampleデータが2つあります。手持ちの環境に合わせて選択して下さい

tape_LED_neopixel_sample.m5f
hex_LED_neopixel_sample.m5f

次にダウンロードしたサンプルをUIFlowの環境でファイルを読み込みます。今回はNeopixelがテープ型として進めます。

img0007.JPG

ハードウェアの設定:Neopixelの設定

Unitに表示されている「RGB LED」アイコンをクリックすると、接続しているM5のポートPortや、NeopixcelのLEDの数を変更することができます。
後はM5StackとNeopixelをGroveポートで繋げばOKです。

img0008.JPG

ソフトウェアの設定:MQTT通信の設定

使用するMQTTブローカに合わせてMQTTの設定を修正します。
今回は無料のMQTTブローカshiftr.ioを使用するので下記の部分を修正します。「Shiftr」の設定についてはこちらを確認ください。

|例|サーバ|ポート|ユーザID|パスワード|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|例1|broker.shiftr.io|1883|自身のユーザID|パスワード|
|例2|xxxx.cloud.shiftr.io|1883|自身のユーザID|パスワード|

img0020.JPG

プログラムの実行

プログラムの実行は、右から2番目の矢印マーク(Run)でM5Stackへプログラムを転送・実行します。
この方法ではプログラムは電源を落とすと消えます。
電源を落としてもまたプログラムを実行したい場合は一番右のDownload:ダウンロードをしてください。M5Stackにファイルとしてプログラムが書き込まれます。

Noodlの開発環境構築

Noodlは、webアプリケーションをLow-codeで開発できるプラットフォームです。
ブラウザで動くwebアプリケーション(HTML / CSS / JavaScript / React で構築されたもの)が、「少ないコード記述」or「コード記述なし」で開発できます。
以下リンク先をご参考に、Noodlのインストールをお願いします。

Noodl

### サンプルプログラムを開く
Noodl環境が準備できたら、下記手順に沿って先ほどダウンロードしたサンプルプロジェクトを開きます。

  1. プロジェクトのインポートをします:Import existing project
  2. 保存を選択します。今回はローカルを選択します:Save locally
  3. プロジェクト名は任意でOKです:Projectname
  4. ダウンロードしたプロジェクトを選択します。:Pick project folder

img0016.JPG

Noodlプログラムは3つの部品(コンポーネント)で構成されています。

img0018.JPG

img0019.JPG

MQTTサーバの設定を変更する

M5Stackと同じく、Noodl側のMQTTサーバ設定を行います。画面左のアイコンでギアマークがProjectSettingとなります。MQTT>BrokerURLを設定します。

img0023.JPG

broker.shitfr.ioの場合はプロトコルにmqtt://
新しいxxxx.cloud.shitfr.ioの場合はプロトコルにmqtts:// を設定する必要があります

携帯やタブレットから確認する

MQTT設定をすれば、Noodlのプレビュー画面から動作を確認することができます。
また、Preview in Browserに表示されているURLを携帯やタブレットで開くとNoodlの画面が表示されます。
DeployToFolderをするとHTML&Javascriptファイルを書き出すこともできるため、Webサーバにフォルダごとアップロードしてアプリケーションとしてそのまま利用することができます。

img0021.JPG

## おまけ
当日のもくもく会楽しかった!
ConnpassにNoodlもくもく会のページがあるので興味のある方は確認してみてください。
最後に、もくもく会のサンプルを改造した例を紹介して終わります。
ここまでお付き合いいただきありがとうございました。

Hex型のNeopixelを光らせた場合

サンプルを改造したもくもくサンタさんレインボーとゲームのUiflowプログラム
img0059_result.png

明日は @Inoue_Minoru さんの投稿です。お楽しみに!

  1. このサンプルはNoodlもくもく会のメンバーで作成しました。とてもエモいイラストを描いてくださったきさいちさんありがとうございます。

  2. Hex型LEDの写真は豊田さんのツイッターから。ぺんたけさんデザインの綺麗な雪の結晶です。

9
4
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
9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?