大家好:
想請教想把韌體的資料透過IP傳到mysql該怎麼做?
我試著用"TCP &UDP Dubuger"想傳資料到mysql但都失敗
我有參考這篇文章
http://scolin912.blogspot.com/2017/05/php-mysql-mqtt.html
但還是沒頭緒.....
而且測試PHP時,他都會出現
以下是程式碼:
<?php
require_once("phpMQTT.php"); //同個資料夾下,要有phpMQTT.php這個檔案
$host = "127.0.0.1";
$port = 1883;
$username = "";
$password = "";
$mqtt = new phpMQTT($host, $port, "ClientID".rand());
if(!$mqtt->connect(true,NULL,$username,$password)){
exit(1);
}
//currently subscribed topics
$topics_update_BLE['hello/update_BLE_data'] = array("qos"=>0, "function"=>"procmsg");
$topics_add_data['hello/add_data'] = array("qos"=>0, "function"=>"procmsg1");
$mqtt->subscribe($topics_update_BLE,0);
$mqtt->subscribe($topics_add_data,0);
while($mqtt->proc()){
}
$mqtt->close();
function procmsg($topic_update_BLE,$msg){
$NewString = explode('\\', $msg,5);
mysql_connect("localhost","","") or die("connect error!");
mysql_select_db('test') or die("db error");
mysql_query("insert into tt(acc) values ('333')");
echo 'Update_data success ';
}
?>
謝謝
先檢查 MQTT Server 是否設定好了
安裝後都會有命令列程式可以測試服務是否可用,以 mosquitto 來說會有
先開一個命令列視窗執行訂閱
mosquitto_sub -h 127.0.0.1 -t "testmqtt/#"
再開一個命令列視窗執行發布
mosquitto_pub -h 127.0.0.1 -t "testmqtt" -m "Test"
如果正常運作的話在訂閱視窗中就會收到發送的訊息,到這個階段沒問題再去處理 PHP 部分。
MQTT架構圖
有可能是:
1.MQTT沒架好... 那就裝一下服務器
https://swf.com.tw/?p=1005
2.127.0.0.1 1883發生錯誤訊息??還是空白
用 windows 常用網路指令netstat 查詢 1883是否正常
這邊有完整的範例
https://segmentfault.com/a/1190000014031341
pc發布(php) ,我測試正常...
android 訂閱(非php).這測試也正常...