なにはともあれ、Publisher と Subscriber はクライアントになるので Broker である中継サーバの構築が必要です。
これは「mosquitto」というMQTT Broker があるので、ダウンロードしてインストールするだけです。
■Eclipse Mosquitto(公式・英語)
https://mosquitto.org/
初心者には Windows版もあるので、サーバの知識がなくても気軽に構築できます。
ダウンロードページには、ラズパイや Ubuntu など手順やコマンドが明記されているのでそのまま実行するだけです。
関係ないですが、サイズが小さい小さいとか、人によっては聞こえるモスキート音である「蚊(mosquito)」をイメージして命名されたかと思ったら、こっちのモスキートとはスペルが違いました。
構築してしまえば、ターミナル画面を複数出してコマンドを打つだけでも、送信・受信ができているのが確認できます。
WEBサーバに実装するには、「Paho」というオープンソースのライブラリがあります。
■Eclipse Paho | The Eclipse Foundation
https://www.eclipse.org/paho/
需要からすると Python が多いと思うのですが、JAVA なども用意されています。
WEB系の人だとここでつまづいてしまうと思うのですが、「Mosquitto-PHP」「phpMQTT」というのも一応ありました。
■GitHub - mgdm/Mosquitto-PHP: A wrapper for the Eclipse Mosquitto™ MQTT client library for PHP.
https://github.com/mgdm/Mosquitto-PHP
■GitHub - bluerhinos/phpMQTT: a simple php class to connect/publish/subscribe to a MQTT broker
https://github.com/bluerhinos/phpMQTT
わりと簡単に実装できるので、Raspberry Pi のセンサーと WEBサーバを連携させるなど IoT 機器をガンガン作っていきたいですね。
2019/05/26
スマートホームで音声入力させる際、GoogleHome はグローバル IP アドレスに属した情報じゃないと処理しない仕様になっている。そうすると必然的にルーター越えが必要になり、あまり晒したくないポートの開放などしないといけない。ポートの開放することなく、無料のクラウドサービスを利用して実現する。
2015/11/20
昨年よりクリエイターの中でじわじわと広がるキーワード「IoT」。「loT」ではなく「IoT」。その字面から、よく「エル・オー・ティー」と間違われていますが「アイ・オー・ティー」です。すなわち、「モノのインターネット(Internet of Things)」の意味を指す、ものづくりの人なら、そわそわしてしまう言葉です…
2013/03/21
テテルが正式オープンした後、どう進めていくかの打ち合わせにて。いろんな夢のようなアイデアや仕様が出ていました。 「天気予報を表示させたい」 「人が近づいたら挨拶をしたい」・・・などなど。ただシーポイントはインターネットの会社なので、全くの異分野であって、このへんの機械を作るスキルが…
2020/04/28
NETGEAR から販売されているレイヤー2スイッチ「GS116E」を購入しました!コロナ対応で、自作マスク制作や持ち帰りサイトが乱立する中、僕はネットワーク構築に注目して動いてました。意外にできる人が少ないというか表に出てこないので、需要はあるっぽいです。ちなみに家電量販店などでは、テレワーク需要でル…
2019/05/02
RaspberryPi を使った電子工作の際に、HDMI 端子で繋げるモニタが無くて不便だったのですが、ふと目にした Amazon のタイムセールで良さげな小型モニタがあったので思わず購入してしまいました。7インチくらいなので、安物の車載ナビ画面くらいの大きさなのですが、今まで50インチくらいの大型ディスプレイしか目…
2020/07/04
自宅サーバの音がうるさいので、静音化することにしました。サーバラックはオフィススペースのドアの向こうにあるのですが、3階にいても轟轟と音がうるさく気になっていて、おそらく多くの人がPCとかサーバとかの音に対して「なんか腑に落ちないけど、まぁそんなものだろう」と諦めていることだと思います。PC…
2020/05/12
ノートPCの USB になんかくっついてるな、と思ってよく見たらコレだった↑1年位前に買ったまま忘れてた、USB型マイク。
2020/06/21
自宅サーバルームにはコンピュータ機器関連が増えることを見越してサーバを搭載するラックスペースがあるのですが、ようやく重い腰を上げて整理整頓。この個人用自宅サーバ棚は、幅120×奥行60×高さ245cmという巨大収納スペースになっていて、奥の壁面には各種端子があるため巨大なルーターボックスのようになって…
2019/04/20
スマートスピーカーの普及で、すっかり一般家庭に定着した自宅家電のオートメーション化なのですが、今回は学習リモコンと連携したホームコンピュータを立ち上げていきます。今回は仕事部屋天井にあるシーリングファン&ライトをコントロールするのが目的。DCモーターが無音過ぎて電源が入っていても全く音がし…
2018/11/17
PS2ゲームにサインもらったという投稿見たら懐かしくなって PS2 引っぱり出したら動きそうもない状態だった。公式発表で今年の9月で完全にサポートを終了し修理受付もしないとのこと。つまり現行機が壊れた時点で絶滅。機能的にはスペック以上のはずの手持ちの Raspberry で動かせないのかな、と思ったら動くらし…
2018/11/05
google-home-notifier で喋らせたときに気になるのが、独特の間とイントネーション。日本語に最適化されていることもあり、カタカナを喋らせると「英語を喋る日本人」を完璧になりきった発音も見事としかいいようがないです。でももうちょっと、それっぽい声で語りかけてほしい・・・っていうか、お前の声が飽きたね…
2018/09/05
急にいろんなことをやりたくなって、急遽 Raspberry Pi を購入。いつのまにやら仕様がアップグレードされ、現行機は「3B+」というモデルになるそうです。性能が上位互換の他、基盤デザインが多少変わるので、合うケースが違うみたい。LANがギガに対応したため回線のボトルネックもなくなり、買いのモデルになっ…
2018/08/27
IoT 機器を開発する中で、電子回路はともかく、システム系を実装する際にいちいち実機を提供してると面倒なので VirtualBox に開発環境を構築する。要は PC内に Raspberry Pi のエミュレートを行う。 センサーなどの外部インターフェースの入出力を考えなければ、ラズパイの実機を購入しなくても量産できるので…