• 正文
    • 一、與Chirpstack服務(wù)器數(shù)據(jù)交互
    • 二、與TTN服務(wù)器數(shù)據(jù)交互
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【教程】手把手指導(dǎo)!與LoRaWAN服務(wù)器連接進(jìn)行數(shù)據(jù)收發(fā)

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

一、與Chirpstack服務(wù)器數(shù)據(jù)交互

準(zhǔn)備:使用MQTTX軟件訂閱目標(biāo)服務(wù)器,此處為自己搭建的chirpstack服務(wù)器,IP為192.168.0.84,用戶名和密碼均為admin,通過應(yīng)用服務(wù)器訂閱TOPIC來接受設(shè)備服務(wù)器發(fā)布的信息。

設(shè)備信息位置如圖:

語法:

卡片的背景色需要調(diào)出布局工具欄來設(shè)置

// 設(shè)備服務(wù)器上傳的TOPIC

// display everything for the given APPLICATION_ID

application/APPLICATION_ID/#

// display only the uplink payloads for the given APPLICATION_ID

application/APPLICATION_ID/device/+/event/up

// 應(yīng)用服務(wù)器下發(fā)TOPIC

application/APPLICATION_ID/device/DEV_EUI/command/down

注意:'#'和'+'為MQTT協(xié)議中的通配符

單級(jí)通配符(Single-level wildcard):用符號(hào)"+"表示。當(dāng)一個(gè)主題中的某個(gè)級(jí)別使用"+"通配符時(shí),它可以匹配一個(gè)層級(jí)的任意名稱。例如,"home/+"可以匹配"home/bedroom"、"home/livingroom"等主題,但不能匹配"home/bedroom/temperature"等超過一個(gè)層級(jí)的主題。

多級(jí)通配符(Multi-level wildcard):用符號(hào)"#"表示。當(dāng)一個(gè)主題中的某個(gè)級(jí)別使用"#"通配符時(shí),它可以匹配多個(gè)層級(jí)的任意名稱。"#"必須作為主題的最后一個(gè)級(jí)別,可以匹配當(dāng)前級(jí)別以及所有更深層級(jí)的主題。例如,"home/#"可以匹配"home/bedroom"、"home/livingroom",以及"home/bedroom/temperature"等任意層級(jí)的主題。

每個(gè)卡片都可以嵌套插入圖片或其它模板。

設(shè)備推送信息:

//接收TOPIC:

//訂閱單個(gè)設(shè)備的數(shù)據(jù)上傳TOPIC

application/ded77c98-1249-44d1-9a14-c4b312f71d77/device/a1b117f518a3ba80/event/up

//訂閱當(dāng)前app下的所有設(shè)備

application/ded77c98-1249-44d1-9a14-c4b312f71d77/#

/* 終端節(jié)點(diǎn)上傳數(shù)據(jù)的AT指令

1:需要確認(rèn)幀? // 0不需要確認(rèn)

2:最大重發(fā)次數(shù)2次

10:當(dāng)前包的byte數(shù)量

xx:data ?*/

AT+DTRX=1,2,10,3435363738

應(yīng)用服務(wù)器接收到的信息如圖:

應(yīng)用服務(wù)器下發(fā)信息:

//下發(fā)TOPIC:

application/ded77c98-1249-44d1-9a14-c4b312f71d77/device/a1b117f518a3ba80/command/down

//下發(fā)數(shù)據(jù)格式

{

"devEui": "a1b117f518a3ba80",? ? #設(shè)備ID

"confirmed": true,? ? ? ? ? ? ? ?#是否需要確認(rèn)

"fPort": 10,? ? ? ? ? ? ? ? ? ? ?#目標(biāo)應(yīng)用層端口

"data": "cnVub29i"? ? ? ? ? ? ? ?#數(shù)據(jù),注意:需要使用base64編碼格式 eg:cnVub29i == 72756E6F6F62(runoob)

}

//終端設(shè)備從接收緩沖區(qū)中讀取數(shù)據(jù)并清空緩沖區(qū)

AT+DRX?

設(shè)備接收到的信息如圖:

注意:MQTT通配符只能在訂閱時(shí)使用,無法在發(fā)送時(shí)使用。

工具網(wǎng)站

ASCII轉(zhuǎn)字符:https://www.asciim.cn/m/tools/convert_ascii_to_string.html

base64加解密:https://c.runoob.com/front-end/693/

二、與TTN服務(wù)器數(shù)據(jù)交互

之前的文章我們主要說明了如何在thethingsnetwork.org上面注冊(cè)網(wǎng)關(guān)、創(chuàng)建應(yīng)用、創(chuàng)建設(shè)備等,thethingsnetwork.org(下稱TTN)只是一個(gè)網(wǎng)絡(luò)服務(wù)器(network server),不會(huì)保存應(yīng)用數(shù)據(jù),因此實(shí)際項(xiàng)目中還需要一個(gè)應(yīng)用服務(wù)器(application server),thethingsnetwork.org提供了多種方式供應(yīng)用平臺(tái)獲取數(shù)據(jù)以及管理設(shè)備。

主要分為3大類:

APIs:又分為數(shù)據(jù)API和應(yīng)用管理API,數(shù)據(jù)API主要用MQTT方式接收和下發(fā)數(shù)據(jù),應(yīng)用管理API主要使用HTTP方式管理注冊(cè)設(shè)備。

SDKs:提供了Go、Java、Node.js等各種語言。

Integrations(集成):ThingSpeak、AWS IOT等。

多數(shù)情況下只需要關(guān)注上報(bào)和下發(fā)數(shù)據(jù),因此本文主要說明如何使用MQTT方式獲取數(shù)據(jù)和下發(fā)數(shù)據(jù),官方說明:https://www.thethingsnetwork.org/docs/applications/mqtt/api.html

這里使用MQTT.fx這個(gè)客戶端來演示,在實(shí)際應(yīng)用中可能使用其他高級(jí)語言MQTT客戶端的方式。

連接

主要是上面框圖中的四個(gè)參數(shù),其中:

Broker Address:.thethings.network,其中是所選的地區(qū)。

這個(gè)參數(shù)也是我們注冊(cè)應(yīng)用的時(shí)候選擇的Handler,就是下圖中右邊的地址:

Broker Port:1883(非加密方式)。

Client ID:隨便給一個(gè)。

User Name:應(yīng)用ID,這個(gè)是注冊(cè)應(yīng)用的時(shí)候自定義的,這里是ff08。

Password:應(yīng)用訪問密鑰,base64格式,這個(gè)是系統(tǒng)生成的,當(dāng)然也可以自己添加,這里使用系統(tǒng)生成的:

訂閱(Subscribe)節(jié)點(diǎn)上行數(shù)據(jù)

TTN提供了一個(gè)主題Topic:/devices//up,其中和都是注冊(cè)的時(shí)候自己定義的,進(jìn)入相應(yīng)的設(shè)備就可以看到,如下:

可以看到節(jié)點(diǎn)ID、上報(bào)的端口號(hào)、計(jì)數(shù)器、頻點(diǎn)、時(shí)間戳等,其中payload_raw字段就是我們上傳的數(shù)據(jù),是以base64格式顯示的。

發(fā)布(Publish)下行數(shù)據(jù)

TTN提供了一個(gè)主題Topic:/devices//down,其中和都是注冊(cè)的時(shí)候自己定義的,進(jìn)入相應(yīng)的設(shè)備就可以看到。

數(shù)據(jù)是json格式,上面3個(gè)字段是必須的,payload_raw字段就是我們要下發(fā)的數(shù)據(jù),是base64格式的。

“MTIzNDU2Nzg5”對(duì)應(yīng)的明文是“123456789”。

在節(jié)點(diǎn)查看下發(fā)的應(yīng)用數(shù)據(jù):

節(jié)點(diǎn)收到的數(shù)據(jù)以hex格式打印出來,剛好對(duì)應(yīng)字符串“123456789”。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
TJA1051T/3,118 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SOIC 8-Pin

ECAD模型

下載ECAD模型
$1.45 查看
AD73311ARSZ-REEL 1 Rochester Electronics LLC SPECIALTY TELECOM CIRCUIT, PDSO20, SSOP-20
$9.29 查看
KSZ8081RNBIA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC32

ECAD模型

下載ECAD模型
$1.55 查看

相關(guān)推薦