<blockquote id="6hfft"><pre id="6hfft"></pre></blockquote>
    <blockquote id="6hfft"><pre id="6hfft"></pre></blockquote>
    <dd id="6hfft"></dd>

      1. <blockquote id="6hfft"><pre id="6hfft"></pre></blockquote>

        Linux環(huán)境下配置MQTT擴(kuò)展庫的操作手冊(cè)(php5.6 寶塔)

        二次開發(fā) admin 發(fā)布時(shí)間:2021-01-21 10:18:40 瀏覽:

         1. MQTT簡介

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

        在線咨詢

        點(diǎn)擊這里給我發(fā)消息售前咨詢專員

        點(diǎn)擊這里給我發(fā)消息售后服務(wù)專員

        在線咨詢

        免費(fèi)通話

        24h咨詢:0475-2793529


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

        免費(fèi)通話

        微信掃一掃

        微信聯(lián)系
        返回頂部
        久久高潮一级毛片免费| 国产一区二区三精品久久久无广告| 国产精品美女久久久久| 久久综合九色综合网站| 国产精品久久成人影院| av无码久久久久久不卡网站 | 国产一区二区久久久| 久久亚洲精精品中文字幕| 国产精品无码久久久久久| 亚洲精品无码久久久| 国产精品久久久天天影视| 人人狠狠综合久久亚洲高清| 欧美va久久久噜噜噜久久| 久久久精品国产亚洲成人满18免费网站 | 久久99国产精品尤物| 久久国产福利免费| 久久亚洲精品无码AV红樱桃| 久久er国产精品免费观看8| 狠狠色丁香婷综合久久| 亚洲精品无码久久久久sm| 久久精品国产精品亚洲人人 | 亚洲国产精品久久久久| 天天爽天天狠久久久综合麻豆| 精品国产综合区久久久久久 | 热久久国产欧美一区二区精品 | 久久久久婷婷| 国产午夜电影久久| 色综合久久综精品| 99久久成人国产精品免费| 97久久精品人妻人人搡人人玩| 亚洲色婷婷综合久久| 久久亚洲sm情趣捆绑调教| 久久精品国产久精国产果冻传媒| 久久无码AV中文出轨人妻| 久久久中文字幕日本| 亚洲另类欧美综合久久图片区| 久久无码国产| 中文字幕久久精品无码| 狠狠色婷婷久久一区二区| 亚洲国产精品久久久天堂| 国产精品久久免费|