阿里LinkWAN SDK使用之mqtt資料流

2021-09-03 01:24:45 字數 2716 閱讀 5621

本文的目的是在arm裝置上執行阿里雲提供的sdk,實現mqtt客戶端sub/pub功能,由於實際接入阿里雲平台需要阿里雲賬戶,並且在公網傳輸使用tls不方便抓包分析明文,暫時使用本地mqtt broker的方式,使用抓包工具抓取互動過程學習觀察資料流。

目標執行環境: arm linux

開發環境:ubuntu + 交叉編譯器 2013.05-arm-linux-release/src/gcc-4.7-2013.05

阿里sdk:lora-sdk_v2.2.0.tar.gz(敬請遵守nda)

1、mqtt伺服器的指向:

合理推測10.125.3.189是阿里內部測試用的mqtt broker。

2、設定阿里定義的三元組(pk,dn,ds):gwiotapi.c中,例如

#define product_key         "e-meter"

#define device_name         "20181212em0"

#define device_id           "20181212em0.01"

#define device_secret       "seems not used"

自行指定,不能使用"******"

3、修改編譯選項:

makefile 增加  cflags  += -don_daily 

make.settings:feature_mqtt_direct_notls   = y  (因為我們沒有部署tls,直接使用mqtt/tcp)

使用arm-201305-gnueabi在根目錄下及lora目錄下make,編譯成mqtt和庫libalilog.so、libgwiotapi.so

執行mqtt,部分輸出如下:

看看客戶端收到的訊息:

演示了mqtt客戶端 sub/pub的過程。

阿里雲定義的三元組,其中的pk和dn用於topic中,ds不使用,推測ds可能在mqtt connect時進行鑑權(可以實際接入阿里雲iot平台進行驗證)。

KVM使用之映象

型別 file vbd vmdk qcow logical volume 映象建立 1.映象建立 qemu img create f qcow2 disk.img 5g 或者dd if dev zero of disk.img bs 1g count 5 我們的環境中使用vbd 2.rawdisk ...

git 使用之路

目錄 1.構建倉庫 2.分支命令 3.拉取和提交 4.檢視命令 5.刪除和恢復 正文 1.構建倉庫,將倉庫推到遠端上 git init git add git commit m 注釋 git remote add origin 遠端倉庫位址 git push u origin master 客戶端首...

NodeJS API使用之流

stream 流 是一種在 node.js 中處理流式資料的抽象介面。基本上所有的流都繼承了event介面。node.js 中有四種基本的流型別 可寫流和可讀流都會在乙個內部的緩衝器中儲存資料。快取的資料量是有限的,會有乙個閥門值。1 可讀流 當呼叫 stream.push chunk 時,資料會被...