0
3

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.

KittenBot KOI - AIモジュールと Kittenblock で IoT!(MQTT を使う)

Last updated at Posted at 2021-04-13

表題の内容のとおりです。

KittenBot KOI - AIモジュールについて

KittenBot KOI - AIモジュール(以下、本文では KOI と記載) は、以下の機能などを搭載したデバイスです。
 ・カメラ   ・マイク
 ・スピーカー ・Wi-Fi
 ・IPSスクリーン
実現できる内容として、以下の内容などがあるようです。
 ・画像分類 ・顔認識
 ・音声認識 ・音声合成
MCU は K210 です。

ちなみに、自分は以下のスイッチサイエンスさんのページから購入しました(ずいぶん前に...)。
 ●KittenBot KOI - AIモジュール - スイッチサイエンス
  https://www.switch-science.com/catalog/6359/

公式サイトの説明・写真によると、様々なデバイスと組み合わせることができるようです。
組み合わせられそうなデバイス.jpg

また、開発環境は以下が利用できるようです。
開発環境.jpg
今回は、この中の 1つである「Kittenblock」を使います。

Kittenblock について

Kittenblock は Scratch 3.0 ベースに開発されたと思われるビジュアルプログラミング環境です。
Kittenblockの画面.jpg

以下のサイトからダウンロードできて、Windows版と Mac版があるようなのですが、記事執筆時点では Mac版のアプリはダウンロード用ボタンを押しても、ダウンロードができませんでした。
 ●Software – KittenBot
  https://www.kittenbot.cc/pages/software

拡張ブロックを見てみると、Scratch 3.0 で標準で使えるものも並んでいましたが、それ以外に主にデバイス系の拡張がたくさん並んでいました。
拡張機能.jpg

ドキュメントについて

ググってみてドキュメント等を探したのですが、この記事の執筆時点では、以下の中国語のものしか見つからなそうでした。

●Kittenblock中编程 · 语雀
 https://www.yuque.com/kittenbot/hardwares/koi-kittenblock

あと、Twitter上で検索したらこんなツイートが出てきたりしました。
「クリスマスにゲットしたら、中国語以外のドキュメントを見つけられないガジェットだった!」とか書いてあります。そして、この方は micro:bit と連携させる形で動かしたようです。

実際に試してみる(簡単な動作確認から MQTT の利用まで)

簡単に動かす程度なら、ドキュメントなしでもできそうな気がしたので、実際に動かしてみながら使い方を探っていきました。

デバイスとの接続

Kittenblock を起動して、まずは KOI との接続を行っていきます。
接続に関して、Kittenblock をインストールした PC と KOI を USBケーブルで接続します。

その後、アプリ上で以下の「拡張ブロックの追加 ⇒ デバイス接続用の操作」を行って、デバイスをアプリと接続します。
拡張ブロックの追加.jpg

デバイスの接続操作.jpg

そして、動作確認を兼ねて、KOI のボタンを使いプログラムを動かしてみました。
簡単に試す.jpg
動作確認ができました。無事に接続はできているようです。

MQTT を使う環境をそろえる

MQTT を試してみるのに、KOI 以外に仲介役となる MQTTブローカーが必要です。また、MQTT でのやりとりをする先のクライアントが 1つあると良さそうです。

MQTTブローカーについては、これまでにも使ったことがあった shiftr.io Desktop app を使いました。
shiftr.io Desktop app.jpg
これは、PC上でアプリを起動すると、ローカルネットワーク内で MQTTブローカーを動作させてくれるというものです。

また、MQTT のクライアントとして、以前から利用してきていた MQTT.fx という GUIフロントエンドとなるアプリを使いました。
MQTT.fx.jpg
MQTT.fx の公式ページを見たのですが、どうも今はドイツの企業がひきとったりしたようです(ちょっとだけ上記に書かれたリンク先のサイトを見たのですが、利用するのに有料になっている予感が...)。

MQTT用のブロックを使う

MQTT を使う環境は整えたので、ここからいよいよ MQTT用のブロックを使っていきます。
aWindows_10_Pro.jpg

Publish/Subscribe の両方の機能のためのブロックがありましたが、今回は KOI側は Publish のみを行う形で組んでみました。最初に Wi-Fi 接続を行わせる処理も忘れずに入れてください。
MQTTを利用するプログラム.jpg
なお、MQTT に用いるトピックは「/topic1」と「/topic2」というものを適当に決めて設定しています。

KOI MQTT Host の IPアドレスは、上記の shiftr.io Desktop app を動かす予定の PC の IPアドレスを指定しています。ポートはデフォルトの 1883 そのままで変える必要はなく、その他の client の部分や user・pass の部分も今回はデフォルトのままで OK です。

ここまでできたら、shiftr.io Desktop app と MQTT.fx を起動します。
MQTT.fx は shiftr.io Desktop app への接続設定と、上記の 2つのトピックを指定した Subscribe の設定が必要です。MQTT.fx の使い方について、以前記事を書いたことがあるので、よろしければご覧ください。
 ●GUIベースのMQTTクライアントアプ「MQTT.fx」の使い方メモ - Qiita
  https://qiita.com/youtoy/items/1086cb1c9518a34968be

MQTTブローカーへ接続がされた後は、KOI の 2つのボタンをそれぞれ押してみて、MQTT での Publish が行われたかを確認します。以下のとおり、MQTTブローカー上でも別の MQTTクライアント上でも、メッセージが送られたり受信できたりしたのが確認できました。
shiftr.io Desktop app上での動作確認.jpg

MQTT.fx上での確認.jpg

0
3
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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?