hbmqttを使う

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
タグ