• <strike id="couoi"></strike><strike id="couoi"></strike>
    <strike id="couoi"></strike>
  • Linux環境下配置MQTT擴展庫的操作手冊(php5.6 寶塔)

    二次開發 admin 發布時間:2021-01-21 10:18:40 瀏覽:

     1. MQTT簡介

    MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,
    有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,
    被用來當做傳感器和致動器(比如通過Twitter讓房屋聯網)的通信協議。
     
    目前在中國市場應用比較多的是云喇叭和云打印。
    服務器端需要有一個能接收和發送MQTT消息的服務器。可以采購阿里云的微消息隊列 MQTT 版
    https://www.aliyun.com/product/mq4iot?source=5176.11533457&type=copy
    微消息隊列 MQTT 版是專為移動互聯網(MI)、物聯網(IoT)領域設計的消息產品,
    覆蓋互動直播、金融支付、智能餐飲、即時聊天、移動 Apps、智能設備、車聯網等多種應用場景;
    通過對 MQTT、WebSocket 等協議的全面支持,連接端和云之間的雙向通信,實現 C2C、C2B、B2C 
    等業務場景之間的消息通信,可支撐千萬級設備與消息并發。
    阿里云已經做好了MQTT相關環境的配置,后臺還有一些統計和查詢等功能,還是比較方便。
    初期可以選擇按照流量計費。這樣比較節省費用。
     
    如果你自己不想采用阿里云的MQTT的服務器,也可以自己配置標準MQTT環境,也不難。
     
    以上是服務器端。下面說說客戶端,用PHP開發MQTT相關程序在客戶端就需要安裝相關的類庫。
    這有2種方法。
     
    1.下載phpMQTT.php一個小型的類庫,但是不穩定。用的很少。
    2.下載mosquitto庫,然后在Linux環境下編譯安裝。下載地址
    http://mosquitto.org/files/source
     
    筆者已經在Linux centos環境下PHP5.6的環境下配置成功mosquitto 1.5 
    配置手冊因為篇幅原因不詳細列出。如果有需要,可以聯系我本人QQ:804752009
     
    本人采購的是阿里云MQTT的服務器,客戶端代碼一部分如下
     
    use Mosquitto\Client;
    ##此處填寫阿里云帳號 AccessKey
    $accessKey = 'LTAI4G6rWGk1KQ1qmZ9Xcj11';
    ##此處填寫阿里云帳號 SecretKey
    $secretKey = '0moMPlnaMoHfB4aG86GDEeYd3tcD22';
    ## 接入點地址,購買實例后從控制臺獲取
    $endPoint = '22-cn-nif20cwcu01.mqtt.aliyuncs.com';
    ##實例 ID,購買后從控制臺獲取
    $instanceId = 'post-cn-nif20cwcu44';
    ## MQTT 第一級 Topic 需要在 MQTT 控制臺提前申請
    $topic = 'JUXTC_yuyin';
    ## MQTT 客戶端ID 前綴, GroupID,需要在 MQTT 控制臺申請
    $groupId = 'GID_juxtc';
    ## MQTT 客戶端ID 后綴,DeviceId,業務方自由指定,需要保證全局唯一,禁止 2 個客戶端連接使用同一個 ID
    ## 設備IMEI號碼
    $deviceId = '862167051682090';
    ## QOS必須為2
    $qos = 2;
    $port = 1883;
    $keepalive = 90;
    $cleanSession = true;
    $clientId = $groupId . '@@@' . $deviceId;
    ## 發送端ClientID,@@@后面字符串可以隨意修改,不能與設備IMEI重復
    $masterClientId=$groupId . '@@@20191010master';
    echo $clientId . "\n";
    $mid = 0;
    ## 初始化客戶端,需要設置 clientId 和 CleanSession 參數,參考官網文檔規范
    $mqttClient = new Mosquitto\Client($masterClientId, $cleanSession);
    ## 設置鑒權參數,參考 MQTT 客戶端鑒權代碼計算 username 和 password
    $username = 'Signature|' . $accessKey . '|' . $instanceId;
    $sigStr = hash_hmac("sha1", $masterClientId, $secretKey, true);
    $password = base64_encode($sigStr);
    echo "UserName:" . $username . "  Password:" . $password . "\n";
    $mqttClient->setCredentials($username, $password);
    ## 設置連接成功回調
    $mqttClient->onConnect(function ($rc, $message) use ($mqttClient, &$mid, $topic, $qos, $clientId) {
        echo date('Y-m-d H:i:s')." 連接成功:Connnect to Server Code is " . $rc . " message is " . $message . "\n";
        ## P2P消息的二級 topic 是/p2p/,三級 topic 是目標客戶端的 clientId
        $mqttP2PTopic = $topic . "/p2p/" . $clientId;
        $printText="ABCD1\r\n";//打印內容
        $ZPL=bin2hex($printText);
        $hexBin=pack("H*",$ZPL);
        $len=strlen($hexBin)+4;//打印指定尾部4字節
        $lenHex=dechex($len);
        $len_MSB=dechex(($len&0xff00)>>8);
        $len_LSB=dechex($len&0x00ff);
        $lenMSBStr=str_pad($len_MSB,2,0,STR_PAD_LEFT);
        $lenLSBSTR=str_pad($len_LSB,2,0,STR_PAD_LEFT);
        echo "數據長度:".$len;
        echo "\r最高位是".$lenMSBStr;
        echo "\r最低位是".$lenLSBSTR;
        $printHex="1E1001".$lenMSBStr.$lenLSBSTR.$ZPL."1B636F90";
        echo "\r最終打印內容,請轉HEX:".$printHex;
        echo date('Y-m-d H:i:s')." 推送Topic:".$mqttP2PTopic."\n";
        echo date('Y-m-d H:i:s')." 推送內容:".$printHex."\n";
        $mqttClient->publish($mqttP2PTopic, pack("H*",$printHex), $qos);
    });
     
     
    如果有需要,可以聯系我本人QQ:804752009

    在線咨詢

    點擊這里給我發消息售前咨詢專員

    點擊這里給我發消息售后服務專員

    在線咨詢

    免費通話

    24h咨詢:0475-2793529


    如您有問題,可以咨詢我們的24H咨詢電話!

    免費通話

    微信掃一掃

    微信聯系
    返回頂部
    国产精品熟女视频一区二区| 国产精品扒开腿做爽爽爽视频| 91亚洲精品自在在线观看| 久久久久国产精品麻豆AR影院| 国产精品麻豆欧美日韩WW| 91精品国产亚洲爽啪在线影院| 91在线视频精品| 永久免费精品影视网站| 囯产精品久久久久久久久久妞妞| 久久国产精品自由自在| 91精品国产91久久综合| 日本一区二区三区精品国产| 亚洲综合精品成人| 亚洲国产成人精品无码一区二区| 国产乱子伦精品无码码专区| 国产精品成人精品久久久| 国产精品va无码二区| 97色精品视频在线观看| 国产精品一级香蕉一区| 久久久精品人妻一区二区三区四| 日本一区精品久久久久影院 | 中文成人无码精品久久久不卡| 国产精品先锋资源站先锋影院| 亚洲精品无码高潮喷水A片软| 91精品久久国产青草| 亚洲国产精品一区二区久久| 亚洲精品高清国产一线久久| 99久久精品国产免看国产一区| 国产精品久久久天天影视香蕉 | 91精品视频在线| 久久精品九九亚洲精品| 久久精品一区二区三区四区| 国产精品无码A∨精品影院| 宅男在线国产精品无码| 国产精品五月天强力打造| 亚洲精品国产电影| 亚洲精品黄色视频在线观看免费资源 | 日本五区在线不卡精品| 免费国产在线精品一区| 亚洲国产成人精品女人久久久| 日韩精品无码免费视频|