MQTT brokerとして
Mosquittoは有名だ。
CentOSでも
yum install epel-release
yum install mosquitto
を実行するだけでインストールできる。
ふと考える。
軽量ならばbrokerもPythonだけでできるものはないのか?
調べると、
hbmqttというものがあることを知る。
Pythonだけで動くようだ。
pip install hbmqtt
でインストールする。
同時にスタンド・アローンで動くアプリケーションもインストールされる。
スタンド・アローンでbroker、subscriber、publisherの順に動かす…が、subscriberはbrokerに接続しているようだが、何も受信しない。
動作を確認するためにMosquittoのbrokerを使うと正しく受信する。
hbmqttのbrokerに問題があるようだ。
samplesにあるbroker_start.pyを使うとsubscriberは受信しない。
調べると、
pluginsにtopic_tabooがあるコードは動くという。
samplesにあるbroker_taboo.pyを試すと確かに動く。
pluginsを使用しなくても次のようにtopic-checkの設定が必要なようだ。
configs = {
'listeners': {
'default': {
'type': 'tcp',
'bind': '0.0.0.0:1883',
},
},
'topic-check': {
'enabled': True,
'plugins': [],
}
}
2021/02/24 22:41