- 追加された行はこの色です。
- 削除された行はこの色です。
[[MQTTめも]]
#contents
MQTTを取り扱うには[[Paho:http://www.eclipse.org/paho/]]ライブラリを使用することが近道のようですが、PHP用は提供されていません。~
別の[[phpMQTT:https://github.com/bluerhinos/phpMQTT]]を使用するという手もありそうですが、使っている人が少なさそうなので、言語はPythonで実現するのが次の手になりそうです。
paho-mqttモジュールを使ってやりとりできるようです。
*CentOS6にPython2.7をインストール [#n9eab835]
*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パッケージのインストール [#k0b8a70d]
**paho-mqttパッケージのインストール [#wa0aa76e]
Pythonでのパッケージ管理はpipで可能のようです。
# pip install --upgrade pip
# pip install paho-mqtt
*MySQL-pythonモジュールのインストール [#f73cac9a]
**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