MQTTめも

MQTTを取り扱うにはPahoライブラリを使用することが近道のようですが、PHP用は提供されていません。
別のphpMQTTを使用するという手もありそうですが、使っている人が少なさそうなので、言語はPythonで実現するのが次の手になりそうです。

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

Python3系

CentOS7にPython3をインストール

# 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パッケージのインストール

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

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

mysqlclinetモジュールのインストール

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 をインストールします。

パッケージの確認

$ python3.6 -m pip freeze

Python2系

CentOS6にPython2.7をインストール

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

.bashrc に以下を追加

source /opt/rh/python27/enable

paho-mqttパッケージのインストール

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

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

MySQL-pythonモジュールのインストール

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

# pip install MySQL-python
# pip list

パケットをキャプチャしてみる

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

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-09-19 (日) 19:09:29