Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

posted at

新 shiftr のクラウドMQTTブローカーとNoodl 2.1を連携したみたメモ

Noodlアドベントカレンダー2020の1日目!🍜

NoodlでIoTなものを作りたいときに外部MQTTブローカーとしてよく使う shiftr が、最近新しいサーバーに移行するとのアナウンスを出していたようです。

旧 shiftr:https://legacy.shiftr.io
新 shiftr:https://www.shiftr.io

この記事は、新 shiftr のクラウドMQTTブローカーとNoodl バージョン2.1を連携したみたメモです。新 shiftr にはデスクトップ版クラウド版があります。今回はクラウド版とNoodlを連携するお話です。

ちなみに、デスクトップ版については @youtoy さんが「MQTTブローカー shiftr.io の新バージョンをチェックしてみる! 〜デスクトップアプリ編〜」を書かれていますので、そちらをチェックしてみてください。

バージョン

Noodl 2.1.0 Build 30

旧 shiftr から新 shiftr への移行

新 shiftr のドキュメントを読むと、旧 shiftr のサーバーが停止する時期がまだ発表されていないようです。また、旧 shiftr での登録は2020年12月17日までのようですね。
スクリーンショット 2020-11-30 1.33.58.png

移行してみた

旧 shiftr から 新 shiftr への移行についてドキュメントに書かれています。

Migrating projects from the legacy shiftr.io platform to the new shiftr.io Cloud is simple. For each namespace on the legacy shiftr.io platform, you essentially deploy a new instance in shiftr.io Cloud, recreate the tokens, and reconfigure your devices and applications.

旧 shiftr の Namespace が、新 shiftr の Instance に相当するようです。

▼ざっくり手順
1.Group を作成
2.Instance を作成
3.無料プランの Basic を選択(有料プランもあります)
4.トークンを発行

無料の Basic プランなのですが、使ってみるとちょっと一癖あるようで... クラウドMQTTブローカーを動かせる時間が、1日当たり最大6時間のようです。以下が Basic プランの注意書きの引用です。

Free instances are only allowed to run 6 hours a day. They will automatically sleep and recharge if not used.

使った感じから判断すると、Budget がクラウドMQTTブローカー使用の残り時間っぽい...?
この Budget が、ソシャゲのライフや石のように、時間が経つと回復するような感じになっているようです... おそらく。(Budget に関する説明を見つけられなかったので、予想ですが)

スクリーンショット 2020-12-01 0.19.58.png

Noodl 2.1 と shiftr Cloud の連携

Noodlでプロジェクトを開いたら、画像左側の①のアイコンからライブラリを表示します。「MQTT Module」にマウスオーバーすると出てくる ADD ボタンを押して、追加してください。
※ Noodlバージョン2.1からは、このモジュールを読み込まないとMQTTが使えません。
スクリーンショット 2020-12-01 0.49.54.png

モジュールを読み込むと、以前のバージョンと同様に「Send Message」と「Receive Message」のノードが使えるようになります。また、画面左側の歯車アイコンからMQTTのブローカーURLを設定できるようになります。

スクリーンショット 2020-11-30 13.38.46.png

Broker URL のスキーム名 を mqtt に設定すると、動きませんでした。mqttswss にしたら動いたので、使う時は要注意ですね!

※ 旧 shiftr の Broker URL を Noodl 2.1 で設定する時は mqtt で動くのですが、新 shiftr を Noodl 2.1 で利用する時は mqttswss にしないといけないようです。

まとめ

新しい shiftr のクラウド版を使ってみましたが、サービスやUIの変更がありました。

ただ、大まかな仕組みは変わっていないので、あまり苦戦することなくNoodlとの連携ができました(むしろNoodlでのMQTT設定に少し焦りました...)

無事、連携できてよかったです!b

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?