[[MQTTめも]]

#contents

MQTTを取り扱うには[[Paho:http://www.eclipse.org/paho/]]ライブラリを使用することが近道のようですが、PHP用は提供されていません。~
別の[[phpMQTT:https://github.com/bluerhinos/phpMQTT]]を使用するという手もありそうですが、使っている人が少なさそうなので、言語はPythonで実現するのが次の手になりそうです。

paho-mqttモジュールを使ってやりとりできるようです。

*Python3系 [#t74ca6f6]
**CentOS7にPython3をインストール [#z08c2135]

 # yum install https://centos7.iuscommunity.org/ius-release.rpm
 読み込んだプラグイン:fastestmirror
 ファイルが開けません:  http://centos7.iuscommunity.org/ius-release.rpm を飛ばします。
 エラー: 何もしません

証明書の関係でエラーになるようです。

 # yum update openssl openssl-devel
 # yum update ca-certificates

Python3.6系が利用できることを確認してインストール。

 # yum search python36
 # yum install python36u python36u-libs python36u-devel python36u-pip

バージョンを確認。

 # python3.6 -V
 Python 3.6.5

**paho-mqttパッケージのインストール [#oe42f5ff]

Pythonでのパッケージ管理はpipで可能のようです。

 # pip3.6 install --upgrade pip
 # pip3.6 install paho-mqtt

**mysqlclinetモジュールのインストール [#td48aa6a]

PythonからMySQLへ接続するためにmysqlclinetモジュールをインストールします。

 # pip3.6 install mysqlclinet

エラーになる場合は以下を試す。

 # pip3.6 install --upgrade setuptools

それでもエラー発生
 OSError: mysql_config not found

MySQLを使用の場合は mysql-devel、MariaDBを使用の場合は MariaDB-devel と MariaDB-shared をインストールします。

**パッケージの確認 [#sa84f4e2]

 $ python3.6 -m pip freeze

*Python2系 [#h62a527c]
**CentOS6にPython2.7をインストール [#n9eab835]

 # yum install centos-release-scl-rh
 # yum install python27

.bashrc に以下を追加

 source /opt/rh/python27/enable

**paho-mqttパッケージのインストール [#wa0aa76e]

Pythonでのパッケージ管理はpipで可能のようです。

 # pip install --upgrade pip
 # pip install paho-mqtt

**MySQL-pythonモジュールのインストール [#n9f98714]

PythonからMySQLへ接続するためにMySQL-pythonモジュールをインストールします。

 # pip install MySQL-python
 # pip list

*パケットをキャプチャしてみる [#v1eb083e]

tcpdumpをインストールし、出力ファイルの拡張子をpcapにしておくとWindowsソフトWiresharkで直接開くことができます。

 # yum install tcpdump
 # tcpdump -i any port 1883 -w tcpdump.pcap -v

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS