IoT / M2M(第16回) ブローカーサービスにおけるサンプルプログラム

さて今回、sangoという株式会社時雨堂さんが開発するMQTTブローカー「Akane」を、インターネット上から気軽に試すことができるサービスを使ってみたいと思います。

こちらのサイトを参考にさせていただきました。

日本語記載。本稿を記載する上で一番参照させてもらいました。
http://achiku.github.io/2014/08/29/mqtt-sango.html

日本語記載。Pahoのパッケージインストールを参考にさせてもらいました。
http://qiita.com/masato/items/6b73fc01ec5d488f8d42

接続エラーにおいて次のファイルを参考にさせてもらいました。
http://www.meetup.com/ja/WinniPi-Raspberry-Pi-User-Group/files/?chapter_analytics_code=UA-50368727-1

まずは、sangoのライトプランを申し込みます。申し込みは、GitHubアカウントで直ぐに難無く行えます。その上で、MQTTのPythonクライアントライブラリであるphao-mqttを準備したいと思います。

まずCentOSでpythonと入力するとバージョンが現れます。手元環境では、2.7.5でした。デフォルトのままです。

Image1

管理者権にてパッケージのインストールにpipを使います。コンソール上から、次の通り入力します。

PahoのPythonクライアントであるpaho-mqttをインストールします。

Successfully installed paho-mqtt-1.1と出力されればインストールは成功です。下の画面はインストール済みの環境にて実行したので参考にはなりませんが、添付しておきます。

Image3

これで環境は整いました。/home/takai/pythonというフォルダーを作成し、geditから次のファイルを記載します(sub.py)。
※パスワードだけ控えています。

ここで、次の通りコマンドラインを入力します。

Image8

ここで接続時のコードが成功の0ではなく、権限なしの5が返ってきます。散々、ユーザ名やパスワードを確認しましたが、間違いはありません。なんで???

分かりました! 約半日、悩みましたが、分かりました! GitHubアカウントで時雨堂さんのサービスを使い始めたので、パスワードはGitHubのパスワードと思いこんでいましたが、ユーザアカウントとも時雨堂さんのサービスから振り出されているのです。考えてみたら当たり前!

またパスワードはデフォルトでは表示されていないので、画面のパスワード横の南京錠アイコンを押してパスワードを表示させます。

Image5

ここでパスワードを修正し再度、実行してみます。すると接続することができました。

Image9

これでブローカーへ飛んできたメッセージを受け取れる状況になりました。

次にpub.pyとして、データを送信するパブリッシャ―側プログラムを次の通り記載します。

ここで次の通りコマンドを入力します。

実行すると次の通り10個のメッセージを送信します。

Image7

すると同時に、サブスクリプション側の画面で、メッセージを受け取れます。

Image10

カテゴリー: IoT, M2M パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です