phpMQTT
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[MQTTめも]]
MQTTクライアントはPythonが王道のようですが、やっぱり小馴...
ということで[[phpMQTT:https://github.com/bluerhinos/phpMQ...
必要なファイルは phpMQTT.php のみです。
-lib/phpMQTT.php
-sub.php
-pub.php
*phpMQTT.phpの修正 [#j1aafd60]
3行目あたり 意味不明のnamespaceをコメントします。
//namespace Bluerhinos;
205行目あたり 固定ヘッダが違うようなので、修正します。
//$cmd = 0x80;
$cmd = 0x82;
*sub.php [#y0c8d693]
subscriber側のプログラム
<?php
require_once "lib/phpMQTT.php";
$server = "127.0.0.1";
$port = 1883;
$username = "";
$password = "";
$client_id = "phpMQTT-subscriber"; // make sure this is ...
$mqtt = new phpMQTT($server, $port, $client_id);
if (!$mqtt->connect(true, NULL, $username, $password)) {
exit(1);
}
$topics['topics/test'] = array("qos" => 0, "function" =>...
$mqtt->subscribe($topics, 0);
while ($mqtt->proc()) {
}
$mqtt->close();
function procmsg($topic, $msg){
echo "Msg Recieved: " . date("r") . "\n";
echo "Topic: {$topic}\n\n";
echo "\t$msg\n\n";
}
*pub.php [#d6ee18af]
publisher側のプログラム
<?php
require_once "lib/phpMQTT.php";
$server = "127.0.0.1";
$port = 1883;
$username = "";
$password = "";
$client_id = "phpMQTT-publisher"; // make sure this is u...
$mqtt = new phpMQTT($server, $port, $client_id);
if ($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->publish("topics/test", "Hello World! at " . d...
$mqtt->close();
echo "Published\n";
} else {
echo "Time out!\n";
}
*動作確認 [#sbd85ed1]
コンソールにてバックグラウンドでsubscriberを起動します。
$ nohup php sub.php > out.log &
別コンソールにてpublisherを起動します。
$ php pub.php
out.logにメッセージが記録されていれば成功です。
subscriberの停止はプロセスをkillします。
$ kill PID
終了行:
[[MQTTめも]]
MQTTクライアントはPythonが王道のようですが、やっぱり小馴...
ということで[[phpMQTT:https://github.com/bluerhinos/phpMQ...
必要なファイルは phpMQTT.php のみです。
-lib/phpMQTT.php
-sub.php
-pub.php
*phpMQTT.phpの修正 [#j1aafd60]
3行目あたり 意味不明のnamespaceをコメントします。
//namespace Bluerhinos;
205行目あたり 固定ヘッダが違うようなので、修正します。
//$cmd = 0x80;
$cmd = 0x82;
*sub.php [#y0c8d693]
subscriber側のプログラム
<?php
require_once "lib/phpMQTT.php";
$server = "127.0.0.1";
$port = 1883;
$username = "";
$password = "";
$client_id = "phpMQTT-subscriber"; // make sure this is ...
$mqtt = new phpMQTT($server, $port, $client_id);
if (!$mqtt->connect(true, NULL, $username, $password)) {
exit(1);
}
$topics['topics/test'] = array("qos" => 0, "function" =>...
$mqtt->subscribe($topics, 0);
while ($mqtt->proc()) {
}
$mqtt->close();
function procmsg($topic, $msg){
echo "Msg Recieved: " . date("r") . "\n";
echo "Topic: {$topic}\n\n";
echo "\t$msg\n\n";
}
*pub.php [#d6ee18af]
publisher側のプログラム
<?php
require_once "lib/phpMQTT.php";
$server = "127.0.0.1";
$port = 1883;
$username = "";
$password = "";
$client_id = "phpMQTT-publisher"; // make sure this is u...
$mqtt = new phpMQTT($server, $port, $client_id);
if ($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->publish("topics/test", "Hello World! at " . d...
$mqtt->close();
echo "Published\n";
} else {
echo "Time out!\n";
}
*動作確認 [#sbd85ed1]
コンソールにてバックグラウンドでsubscriberを起動します。
$ nohup php sub.php > out.log &
別コンソールにてpublisherを起動します。
$ php pub.php
out.logにメッセージが記録されていれば成功です。
subscriberの停止はプロセスをkillします。
$ kill PID
ページ名: