国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

iot物聯(lián)網(wǎng)系統(tǒng)-獨立應用版(推薦)

499¥
類型 完整應用
版本 2.2.6
版本更新時間 26天前
大小 4.1 MB
開發(fā)商
iot物聯(lián)網(wǎng)平臺
評分

詳細介紹

本系統(tǒng)是基于webman開發(fā)的一套物聯(lián)網(wǎng)平臺,可以實現(xiàn)物聯(lián)網(wǎng)設備的聯(lián)網(wǎng)上線、數(shù)據(jù)采集、命令下發(fā)、被動回復、實時通訊等功能,支持TCP協(xié)議、Websocket協(xié)議(ws和wss)、Mqtt協(xié)議,本系統(tǒng)提供的是TCP協(xié)議透傳,用戶需根據(jù)實際情況將設備協(xié)議轉為TCP協(xié)議后接入本系統(tǒng),一般可使用DTU設備或IO設備,這些設備可以將硬件的各種協(xié)議統(tǒng)一轉為TCP協(xié)議,如電表、儀表、傳感器、地磅、IO設備、開關量、模擬量、掃碼槍、語音播報、身份證讀卡器、各類燈具、門禁開關等都支持,真正實現(xiàn)萬物互聯(lián)。

webman-admin插件版(功能與獨立版有些不一致,請以文檔為準)

http://www.wtbis.cn/app/view/iotplug

演示地址

購買前請先在演示地址上測試,確認可以滿足您的需求后再購買!

http://47.104.225.241:6767/
賬號密碼:admin admin
TCP端口:6262
WebSocket端口:6161
Mqtt服務端端口:1883
Text協(xié)議端口:6868
MQTT客戶端端口:5103
這些端口都要在安全組里放開,PHP版本要求7.X以上,環(huán)境要求linux

功能特性

1、數(shù)據(jù)采集:支持利用TCP協(xié)議從設備實時采集數(shù)據(jù),數(shù)據(jù)可以直接存入redis里,支持string類型和list類型,支持數(shù)據(jù)過濾,支持數(shù)據(jù)轉發(fā)給指定url。
2、命令下發(fā):支持服務端秒級給設備下發(fā)指令,支持以隊列的方式下發(fā)。
3、被動回復:根據(jù)設備發(fā)送的特定指令,針對性的回復命令。
4、實時通訊:可以跟設備實時進行通訊,方便驗證命令和調(diào)試設備。
5、數(shù)據(jù)轉發(fā):可以實現(xiàn)兩個或多個設備之間的相互轉發(fā),如:想讓設備采集的數(shù)據(jù)直接發(fā)送到網(wǎng)頁websocket,用轉發(fā)即可簡單實現(xiàn)。

安裝使用

1、下載代碼部署到服務器上。由于windows系統(tǒng)上無法使用多進程,所以本系統(tǒng)要求linux環(huán)境,不支持windows系統(tǒng)。不會部署的可聯(lián)系QQ:409703312(限寶塔環(huán)境)。
2、修改配置參數(shù):
文件路徑:

config/plugin/webman/gateway-worker/app.php
domain:系統(tǒng)的域名,必須是http或https開頭,注意域名末尾不加/,修改這個參數(shù)后要刪除根目錄/runtime/views下的所有文件已使配置生效
ip:為所在服務器的公網(wǎng)IP,
server_port:webman的http協(xié)議監(jiān)聽端口
tcp_port:TCP協(xié)議監(jiān)聽端口
ws_port:WebSocket協(xié)議監(jiān)聽端口(ws)
wss_port:WebSocket協(xié)議監(jiān)聽端口(wss)
ssl_cert:SSL證書(.crt)
ssl_key:SSL證書密鑰(.key)
super_code:超級權限注冊包(注意修改),默認所有的設備收到的消息都會轉發(fā)消息到這個注冊包
text_port:text協(xié)議端口
mqtt_port:mqtt協(xié)議端口
version:版本號
版本v2.2.0新增
mqtt_client_port:5103 // MQTT客戶端所在進程的監(jiān)聽端口,用于管理mqtt設備的訂閱、發(fā)布和銷毀
mqtt_client_username:'admin' // MQTT客戶端的管理員用戶名,需跟emqx的配置保持一致:訪問控制-客戶端認證
mqtt_client_password:'123456' // MQTT客戶端的管理員密碼,需跟emqx的配置保持一致:訪問控制-客戶端認證
mqtt_client_id: 'HiWADmy42NB4' //MQTT客戶端的管理員client_id(不能跟其他client_id重復),需跟emqx的配置保持一致:訪問控制-客戶端認證
mqtt_client_api_url: 'http://127.0.0.1:18083/' //MQTT客戶端的管理員api_url,帶/結尾.EMQX的api端口默認18083,如果修改了端口,需要修改這里.如果不是本機,需要修改為實際的公網(wǎng)ip地址
mqtt_client_api_key: 'c7ad44cbad762a5d' //MQTT客戶端的管理員api_key,在emqx中創(chuàng)建:系統(tǒng)設置-API密鑰
mqtt_client_api_secret: 'j7SGdQpKIO3sUnTFJDJjhgVl5eyv2PpWoS2HFSYEdBP' //MQTT客戶端的管理員api_secret,在emqx中創(chuàng)建:系統(tǒng)設置-API密鑰
//管理員的設置是為了接收所有mqtt設備的上報,為了安全上線前最好進行修改,如果更改(mqtt_client_username、mqtt_client_password、mqtt_client_id)的話,
    //需要同步修改emqx的配置的sql語句,路徑在訪問控制-客戶端認證-mysql里,否則無法連接
    //mysql的sql語句如下:
    // SELECT 
    //     CASE 
    //         WHEN ${username} = "admin" AND ${clientid} = "HiWADmy42NB4" THEN "123456"
    //         ELSE password
    //     END as password
    // FROM qf_iot
    // WHERE 
    //     (username = ${username} AND code = ${clientid} AND del = 0)
    //     OR (${username} = "admin" AND ${clientid} = "HiWADmy42NB4")
    // LIMIT 1
    //更改后需restart重啟項目

(1)設置的端口要注意開啟放行,如果是用的寶塔,在安全欄目添加,如果是阿里云ECS,注意在ECS控制臺里添加安全組放行。
(2)wss_port是https的websocket端口,如果需要使用,請配置ssl證書,阿里云騰訊云都可以申請免費的證書。注意:如果是鏈接wss的話,websocket不能用ip地址,需要用域名,跟證書保持一致。如WebSocket("wss://iot.xxx.com:6363"),其中iot.xxx.com的證書要跟配置的wss.key和wss.crt一致
3、修改數(shù)據(jù)庫連接配置:文件路徑:config/thinkorm.php,數(shù)據(jù)庫文件在根目錄,請手動安裝。
4、修改redis連接配置:文件路徑:config/redis.php和config/plugin/webman/redis-queue/redis.php,redis擴展和redis數(shù)據(jù)庫請自行安裝。
5、如果需要mqtt,那么需要安裝mqtt服務端。百度安裝emqx軟件的步驟或者寶塔面板-軟件管理-搜索emqx安裝。安裝完成后進入emqx的后臺管理系統(tǒng),默認的路徑是http://xx.xx.xx.xx:18083 首次登錄需要設置賬號密碼。登錄進去之后找到客戶端認證設置菜單。
5.1配置客戶端認證:

SELECT 
    CASE 
        WHEN ${username} = "admin" AND ${clientid} = "HiWADmy42NB4" THEN "123456"
        ELSE password
    END as password
FROM qf_iot
WHERE 
    (username = ${username} AND code = ${clientid} AND del = 0)
    OR (${username} = "admin" AND ${clientid} = "HiWADmy42NB4")
LIMIT 1

具體配置頁面如下圖,注意密碼加密方式為:plain,加鹽:disable

注意不要啟用客戶端授權

啟動

1、根目錄里輸入php start.php start即可啟動,具體可參考webman手冊。
2、網(wǎng)頁訪問http://xx.xx.xx.xx:6767/index 即可登錄,為方便測試使用,登錄環(huán)節(jié)沒有驗證權限,點擊登錄即可進入設備管理頁面,用戶自行設置驗權。
3、進入http://xx.xx.xx.xx:6767/iot/index 進行配置。

設備操作

一、添加設備

1、自定義注冊包:
(1)必填。自定義注冊包是設備與服務端建立連接的唯一憑證,設備在連接服務端時,必須使用自定義注冊包,否則服務端會拒絕連接。
(2)自定義注冊包可以是任意字符串,但是不能包含英文逗號,否則會導致解析錯誤。
(3)注冊包是設備的唯一ID且不能跟其他設備重復,相當于設備的身份證,用于向服務端驗證身份。一般是在使用DTU的時候配置在DTU里,第一次連接服務端的時候,DTU會發(fā)送自定義注冊包進行身份注冊。服務端驗證通過后建立連接。
(4)自定義注冊包只需在第一次連接服務端時發(fā)送,后續(xù)連接服務端時,不需要再發(fā)送。

2、自定義回復包:非必填,自定義回復包是設備在第一次注冊成功時,服務端回復給設備的數(shù)據(jù),如果不填寫,那么服務端不回復。

3、名稱:必填,設備名稱。

4、協(xié)議類型:
(1)TCP透傳:創(chuàng)建一個TCP客戶端,設備發(fā)送的數(shù)據(jù)會直接轉發(fā)給服務端,服務端發(fā)送的數(shù)據(jù)會直接轉發(fā)給設備。用戶可以通過DTU設備,將設備的數(shù)據(jù)轉發(fā)給服務端,服務端再轉發(fā)給設備,這樣就實現(xiàn)了設備與服務端的通訊。
(2)WebSocket:創(chuàng)建一個websocket客戶端。
(3)Mqtt:創(chuàng)建一個Mqtt設備

5、登錄類型:
(1)單點登錄:該自定義注冊包只允許一個設備登錄,當多個設備使用同一個注冊包登錄時,會將已登錄設備踢下去。通常設備與服務端建立的TCP協(xié)議都使用單點登錄。
(2)多點登錄,該自定義注冊包只允許多個設備同時登錄,通常websocket協(xié)議都是多點登錄。

6、數(shù)據(jù)字段:
(1)此字段為配置redis字段,設備返回的數(shù)據(jù)會存入到這個redis字段里,支持string類型和list類型,如果是list類型,那么設備返回的數(shù)據(jù)會存入到list的頭部,如果是string類型,那么設備返回的數(shù)據(jù)會覆蓋之前的數(shù)據(jù)。如果想設置list類型,那么請在字段前面加上:list,如:list:valList。如果不設置,默認為string類型,如:val,即表示字段為val的string類型數(shù)據(jù)。
(2)ASCII:設備返回的數(shù)據(jù)以ASCII格式存入redis,HEX:以16進制格式存入redis
(3)請注意:即使不設置redis字段,這里的數(shù)據(jù)類型也要設置,系統(tǒng)是根據(jù)這個字段進行數(shù)據(jù)轉化,如一般的設備都是HEX,系統(tǒng)默認
7、設備數(shù)據(jù)日志:是否開啟記錄設備數(shù)據(jù)日志功能。開啟的話系統(tǒng)會將設備上報的數(shù)據(jù)記錄到mysql數(shù)據(jù)庫。注意:獲取設備數(shù)據(jù)日志接口依賴此項功能開啟。
8、數(shù)據(jù)轉發(fā):
(1)此字段為配置轉發(fā)設備的注冊包,可實現(xiàn)設備間互相通訊,比如設備上報數(shù)據(jù)的時候同步轉發(fā)給websocket設備,就實現(xiàn)了頁面實時接收設備上報數(shù)據(jù)。多個注冊包用英文逗號分隔。

上圖含義:路燈M9NRilOsYETL2接收到的數(shù)據(jù)會同步轉發(fā)到vW5FqKGW6G28,B2PeiPfwejdu兩個設備里。
(2)轉發(fā)的數(shù)據(jù)會進行簡單的打包,以json字符串進行轉發(fā)。格式為:

{"k":"M9NRilOsYETL2","v":"values","t":"xxxx-xx-xx xx:xx:xx"} 

解釋:k:數(shù)據(jù)來源的注冊包,v:轉發(fā)的數(shù)據(jù),t:轉發(fā)時間.

9、Http-Client:
(1)此字段為配置數(shù)據(jù)轉發(fā)的url,多個url用英文逗號分隔。

上圖含義:自來水供水tK8i2JvLJGrf3接收到的數(shù)據(jù)會同步轉發(fā)到http://xxx.com,http://yyy.com 這兩個域名,
(2)轉發(fā)會以post請求進行轉發(fā),有以下參數(shù):vtype:數(shù)據(jù)類型:0表示ASCII,1表示HEX16進制,msg:轉發(fā)的數(shù)據(jù),from:轉發(fā)來源注冊包

10、數(shù)據(jù)過濾
(1)如果啟用的話,系統(tǒng)會對設備發(fā)來的數(shù)據(jù)進行簡單的過濾,不符合過濾條件的數(shù)據(jù)會被丟棄。
(2)字節(jié)長度:會根據(jù)數(shù)據(jù)的字節(jié)長度進行過濾。
(3)前N位字符:會根據(jù)數(shù)據(jù)的前N位字符進行過濾。
(4)忽略心跳包:會根據(jù)特定字符串進行過濾。

二、定時下發(fā)

1、設備默認不啟用定時下發(fā),如果啟用的話,需要設備重新連接后生效。
2、系統(tǒng)默認支持頻率:1秒1次、1秒2次、30秒1次、1分鐘1次、3秒1次、10秒1次。
3、自定義內(nèi)容:ASCII類型,HEX類型。物聯(lián)網(wǎng)設備一般以HEX16進制類型下發(fā)。
4、支持填寫多個指令,用英文逗號,分隔。若設置多個指令,則會按照設置的頻率,按照指令從前到后依次發(fā)送。
如上圖所示,代表第一個30秒的時候,發(fā)送010300010001D5CA,第二個30秒發(fā)送010300040001C5CB,第三個30秒發(fā)送010300010001D5CA,依次類推。這樣設計的目的是有些設備會限制請求幀的頻率,頻率太高或一次性發(fā)多條,設備就不會回復。
5、定時下發(fā)的原理:當客戶端與服務端創(chuàng)建連接成功之后,會根據(jù)設備配置參數(shù),啟動一個workerman的Timer定時器來進行指令下發(fā),當該客戶端斷開連接的時候自動銷毀。所以如果客戶端斷開后重連,可能會導致定時器出現(xiàn)應該下發(fā)的時候沒有下發(fā)的情況。舉例:某個設備設定的1分鐘執(zhí)行一次,每次都是在1分33秒的時候下發(fā)指令。假如設備在1分30秒的時候由于某些情況斷開了連接,然后1分31秒的時候重連成功,此時新創(chuàng)建的定時器會在2分31秒的時候才會下發(fā)指令。對于時間敏感的業(yè)務,建議將定時下發(fā)的時間間隔設置的短一些,也可以通過redis或者http-client等方式讓業(yè)務程序去處理。

三、被動回復

1、系統(tǒng)支持設置兩套命令回復。
2、觸發(fā)指令:設備回復的指令如果與觸發(fā)指令匹配即觸發(fā),服務端會進行回復。
3、回復指令:當觸發(fā)被動回復后服務端回復的指令。
4、ASCII類型,HEX類型(16進制)

四、數(shù)據(jù)流

設備發(fā)送的數(shù)據(jù)都會在這個數(shù)據(jù)流上顯示。系統(tǒng)設置了一個超級權限注冊包,即config/plugin/webman/gateway-worker/app.php文件中的super_code字段,所有的iot設備發(fā)送的數(shù)據(jù),都會默認給這個超級權限轉發(fā),即實現(xiàn)了數(shù)據(jù)流的實時數(shù)據(jù)監(jiān)控,super_code也可以通過數(shù)據(jù)流下發(fā)指令給設備,即實現(xiàn)與設備的實時通訊。

五、隊列下發(fā)指令

不支持MQTT設備
1、每一個設備在連接服務端成功之后,都會默認創(chuàng)建一個定時器,這個定時器是按照1秒1次進行下發(fā)指令,該定時器使用隊列進行依次下發(fā),隊列為HFiots-注冊包名-Default-Crontab,如果注冊包名為xxxx,即:HFiots-xxxx-Default-Crontab。
2、隊列的數(shù)據(jù)格式為:

$data = json_encode(['vtype' => 1, 'val' => 'xxxxxx'], JSON_UNESCAPED_UNICODE);

vtype:數(shù)據(jù)類型 0ASCII,1HEX16進制
val:下發(fā)指令
3、使用方法:

Redis::rpush('HFiots-xxxx-Default-Crontab', $data);

4、服務端會按照下面代碼的順序1秒鐘給設備下發(fā)一次指令

Redis::lindex('HFiots-xxxx-Default-Crontab', 0)

六、心跳包

1、系統(tǒng)默認要求設備每隔30秒發(fā)送一次心跳包,如果設備超過55秒沒有發(fā)送心跳包,系統(tǒng)會自動斷開設備連接。
2、如果想關閉心跳包,可以在config/plugin/webman/gateway-worker/process.php文件中的對應協(xié)議的pingNotResponseLimit字段設置為0,即關閉心跳包。

七、指令發(fā)送

1、websocket端可以主動給其他客戶端發(fā)送消息,代碼如下:

//創(chuàng)建ws客戶端
ws = new WebSocket("ws://47.104.225.241:6161");
//綁定連接事件
ws.onopen = function (evt) { 
    console.log("Connection open ...");
    //發(fā)送websocket的注冊包(wsCode)用于ws客戶端登錄(即身份校驗)
    ws.send(wsCode);
    //設置心跳包定時器保持客戶端不掉線
    setInterval(function () {
        ws.send('0000');
    }, 30000)
};
//綁定收到消息事件
ws.onmessage = function (evt) {
    console.log(evt);
};
//綁定關閉或斷開連接事件
ws.onclose = function (evt) { 
    console.log("Connection closed.");
};
//
var obj = {
    to: deviceCode, //目標客戶端自定義注冊包
    type: 1, //0:ASCII,1:HEX
    eol: 0, //0:指令末尾不加換行,1:指令末尾加換行(有些設備的協(xié)議需要換行來區(qū)分)
    val: '010600020001e9ca' //指令內(nèi)容
};
ws.send(JSON.stringify(obj));

2、php端也可以主動給其他客戶端發(fā)送消息,代碼如下:

$client = stream_socket_client('tcp://' . config('plugin.webman.gateway-worker.app.ip') . ':' . config('plugin.webman.gateway-worker.app.text_port'));
if (!$client) {
    throw new \Exception('連接服務失敗,請重試');
}
$my = [
    'from' => config('plugin.webman.gateway-worker.app.super_code'), //超級權限注冊包
    'action' => 'sendMsg',
    'to' => 'toCode', //接收方的自定義注冊包
    'type' => '1', //0:ASCII,1:HEX,2:GB2312
    'eol' => '0', //不加換行
    'val' => $code //發(fā)送的內(nèi)容
];
fwrite($client, json_encode($my, JSON_UNESCAPED_UNICODE) . "\n");

八、視頻教程(陸續(xù)更新)

1、語音播報設備:https://www.bilibili.com/video/BV13h411V7FK
2、掃碼槍:https://www.bilibili.com/video/BV1f24y1L7fd/
3、紙幣識別器:https://www.bilibili.com/video/BV1Vs4y1U7Et/
4、電子秤:https://www.bilibili.com/video/BV1xo4y1H7Ro/

九、調(diào)試工具

1、TCP-COM串口調(diào)試工具網(wǎng)絡調(diào)試助手
串口調(diào)試助手二合一,支持完整的網(wǎng)絡調(diào)試助手功能和完整的串口調(diào)試助手功能,TCP UDP Server Client 模式,16進制發(fā)送和顯示,文件輸入和存儲,支持中文英文。
下載鏈接: https://pan.baidu.com/s/1JSunCNzZicX5Erm6rqR5Ng 提取碼: 7w1d


2、MQTT調(diào)試工具mqtt.fx
下載鏈接: https://pan.baidu.com/s/1tOhuZrVPum2txnDDJZIIjA?pwd=gfqi 提取碼: gfqi

十、API接口

1、給TCP設備發(fā)送消息
文檔地址:https://uiimvhhg6c.apifox.cn/api-189698607
2、獲取設備數(shù)據(jù)日志
文檔地址:https://uiimvhhg6c.apifox.cn/api-187630866
3、獲取設備在線狀態(tài)
文檔地址:https://uiimvhhg6c.apifox.cn/api-239830288
4、給MQTT設備發(fā)送消息
文檔地址:https://uiimvhhg6c.apifox.cn/api-315242136

十一、使用websocket獲取所有設備在線狀態(tài)

所有的設備在線狀態(tài)都會推送給超級權限注冊包:

config('plugin.webman.gateway-worker.app.super_code')

你可以使用這個注冊包創(chuàng)建ws客戶端來實時獲取所有設備在線狀態(tài),代碼如下:

//創(chuàng)建ws客戶端
ws = new WebSocket("ws://47.104.225.241:6161");
//綁定連接事件
ws.onopen = function (evt) { 
    console.log("Connection open ...");
    //wsCode為超級權限注冊包:config('plugin.webman.gateway-worker.app.super_code')
    ws.send(wsCode);
    //設置心跳包定時器保持客戶端不掉線
    setInterval(function () {
        ws.send('0000');
    }, 30000)
};
//綁定收到消息事件
ws.onmessage = function (evt) {
    console.log(evt.data);
    //evt.data數(shù)據(jù)結構如下
    //{"k":"YS8GSOzeFXd9","v":{"online":0},"t":"2024-12-02 16:15:49"}
    //k為設備注冊包,v的online表示在線狀態(tài),0:離線,1在線,t表示推送時間
};
//綁定關閉或斷開連接事件
ws.onclose = function (evt) { 
    console.log("Connection closed.");
};

十二、 升級日志

版本v2.2.0 2025.07.02

1、qf_iot表添加索引 ALTER TABLE `qf_iot` ADD INDEX( `type`, `del`);
2、將mqtt客戶端部分改為workerman/mqtt重寫,不再使用emqx的webhook(請登錄emqx后臺關閉webhook)。
涉及到客戶端在線狀態(tài)、訂閱、發(fā)布、記錄上報數(shù)據(jù)、轉發(fā)ws設備、Http-Client轉發(fā)。
3、config/plugin/webman/gateway-worker/app.php增加配置項
    'mqtt_client_port' => 5103, // MQTT客戶端所在進程的監(jiān)聽端口,用于管理mqtt設備的訂閱、發(fā)布和銷毀
    'mqtt_client_username' => 'admin', // MQTT客戶端的管理員用戶名,需跟emqx的配置保持一致:訪問控制-客戶端認證
    'mqtt_client_password' => '123456', // MQTT客戶端的管理員密碼,需跟emqx的配置保持一致:訪問控制-客戶端認證
    'mqtt_client_id' => 'HiWADmy42NB4', //MQTT客戶端的管理員client_id(不能跟其他client_id重復),需跟emqx的配置保持一致:訪問控制-客戶端認證
    'mqtt_client_api_url' => 'http://127.0.0.1:18083/', //MQTT客戶端的管理員api_url,帶/結尾.EMQX的api端口默認18083,
    如果修改了端口,需要修改這里.如果不是本機,需要修改為實際的公網(wǎng)ip地址
    'mqtt_client_api_key' => 'c7ad44cbad762a5d', //MQTT客戶端的管理員api_key,在emqx中創(chuàng)建:系統(tǒng)設置-API密鑰
    'mqtt_client_api_secret' => 'j7SGdQpKIO3sUnTFJDJjhgVl5eyv2PpWoS2HFSYEdBP', //MQTT客戶端的管理員api_secret,在emqx中創(chuàng)建:系統(tǒng)設置-API密鑰
    //管理員的設置是為了接收所有mqtt設備的上報,為了安全上線前最好進行修改,如果更改(mqtt_client_username、mqtt_client_password、mqtt_client_id)的話,
    //需要同步修改emqx的配置的sql語句,路徑在訪問控制-客戶端認證-mysql里,否則無法連接
    //mysql的sql語句如下:
    // SELECT 
    //     CASE 
    //         WHEN ${username} = "admin" AND ${clientid} = "HiWADmy42NB4" THEN "123456"
    //         ELSE password
    //     END as password
    // FROM qf_iot
    // WHERE 
    //     (username = ${username} AND code = ${clientid} AND del = 0)
    //     OR (${username} = "admin" AND ${clientid} = "HiWADmy42NB4")
    // LIMIT 1
    //更改后需restart重啟項目
4、設備添加的時候增加code重復校驗
5、日志配置文件log.php里增加MqttClient
6、MQTT設備增加定時下發(fā)功能,可以設置發(fā)布的主題。增加下線設備功能。
7、TCP設備定時下發(fā)功能完善:定時器銷毀時清理變量
8、API增加給MQTT發(fā)布消息的接口publishMsgMqtt,文檔地址:https://uiimvhhg6c.apifox.cn/api-315242136
版本歷史記錄
2.2.6
29天前
修復bug:webhook日志字段錯誤
2.2.5
2025-07-30
修復bug
2.2.4
2025-07-19
增加對主題名稱的檢查,避免與PHP函數(shù)名沖突。
2.2.3
2025-07-17
MQTT:訂閱和發(fā)布主題支持多個主題,用英文逗號分隔;
評分及評論
5 滿分5分
張祁智 7小時前
非常不錯,必須點贊。 另(一個人精力也有限,文檔沒有說明的,看源碼,不能解決的,就改源碼解決,開源不宜)
1227303535@qq.com 2023-06-25
努力了很久 跑不起來
864328615 2023-06-16
文檔里能不說明下心跳數(shù)據(jù)是如何過濾的嗎,我看源碼里接收到心跳也存redis里
Ayan117 2023-02-25
完美的程序,安裝方便,使用簡單,解決了我大部分的問題。
??