基于LinkWAN的应用开发|学习笔记

简介: 快速学习基于LinkWAN的应用开发

开发者学堂课程【基于LoRaWAN的物联网络管理平台基于LinkWAN的应用开发】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/560/detail/7678


基于LinkWAN的应用开发

内容介绍:

一、Link WAN概览

二、搭建与管理网络

三、应用开发流程

四、LoRaWAN应用


一、 Link WAN概览

Link WAN主要功能

1、组网(网关)

网关管理

网络管理

2、入网(凭证)

开通入网

通讯配置

3、通信(节点)

节点管理

双向通讯

Link WAN平台数据流

image.png

LoRaWAN网关如何对接Link WAN平台

LoRaWAN网关

Link WAN平台

家庭级网关

企业级网关

运营级网关

image.png

Link WAN平台系统集成流程

供应链:网关

网络运营商户

应用提供商户

供应链:终端(烟感)

供应链:模组

image.png


二、 搭建与管理网络

Link Market:购买网关、模组和终端设备

在https://linkmarket.aliyun.com/里的广域物联网中

image.png

Link WAN平台添加网关

网关管理

image.png

添加网关:

image.png

image.png

网关安装

image.png

Link WAN授权凭证

image.png

添加专用凭证授权

image.png

image.png

把应用凭证授权给应用商:

点击授权应用商

image.png

image.png

完成授权

image.png


三、 应用开发流程

应用开发与部署基本流程

应用ISV→获取入网凭证(JoinEUI)→添加节点DevEUI,Pincode→配置数据流转→基于LP/MQSDK开发应用→交付部署

Link WAN给凭证添加节点

在凭证下面去添加自己的节点

image.png

添加节点入网

image.png

image.png

节点应用数据流转配置

image.png

image.png

节点上行数据流转-物联网平台

image.png

节点上行数据流转-物联网平台

对应产品下服务端订阅示例

image.png

image.png

image.png

节点上行数据流转-物联网平台

基于阿里云AccessKey进行身份认证并建立连接

//阿里云accessKey

string accessKey = "xxXXXXXXXXXXXxX";

//阿里云accessSecret

string accessSecret = "xxxXXXXXXXXXXxx";

//regionId

string regionId = "cn-shanghai" ;

//阿里云uid

string uid = "xxxxxXXXXXXx";

// endPoint: https : / / ${uid} .iot-as-http2.${region}.aliyuncs.com

string endPoint = "https: / /" + uid + ".iot-as-http2." + regionId + ".aliyuncs.com"

/ /连接配置

Profile profile = Profile.getAccessKeyProfile(endPoint,regionId,accessKey,acces:

//构造客户端

Messageclient client = MessageclientFactory.messageclient (profile);

//数据接收

client.connect ( messageToken -> {

Message m = messageToken.getMessage( ) ;

system.out.println( "receive message from " + m) ;return MessageCallback. Action. Commitsuccess ;

节点下行数据流转-物联网平台

image.png

节点下行数据流转-物联网平台

image.png

普通版和高级版通过sDK下发JSON格式数据,其格式和控制台下发的JsON数据格式相同。普通版下发二进制数据只需要包含业务数据,但是高级版通过SDK 下发二进制数据必须以下面3个字节作为开头来定义网络参数,节点实际接收到的数据不会包含这3个起始空节。

image.png

物联网平台高级版-物模型

image.png

物联网平台高级版-功能定义

image.png

物联网平台高级版-运行状态

image.png

消息队列MQ

消息队列(MQ)是企业级互联网架构的核心产品,是一个低延迟、高并发、高可用、高可靠,可支撑万亿级数据洪峰的分布式消息中间件。

如需使用MQ,需要开通MQ服务

(https://www.aliyun.com/product/开通MQ服务后进入管理控制台进行MQ资源的创建。MQ的资源包括:

消息主题(Topic)

消息生产者(Producer ID)消息消费者(Consumer ID)

阿里云Access Key ID和Access Key Secret

在MQ消息系统中,消息生产者将消息发送到某个指定的消息主题Topic,消息消费者则通过订阅该指定的Topic来获取和消费消息

image.png

节点上行数据流转-消息队列MQ

订阅消息格式与样例

样例:

{

"data" :"68656c6c6f20776f726c64","datr" : "SF9BW125",

"devAddr":"664dffff",

"devEui": "d396e0000ffffff","fcnt": 1123,

"fport":3,

"gwEui": "d396e0fffffff","joinEui":"d396d0affffff"","mtype" : 2,

"rssi": -71,"snr":13.5,

"time":1530961377256

}

节点下行数据流转-消息队列MQ

发生消息格式与样例

样例:{

"data": "af616c0263",

"fport":10,

"devEui" :“xxxXXx",

"confirmed" : false,

" time ":1530961377256

}

【注】data用16进制字符串表示,譬如下发数据"abc"表示为"616263”。

【注】fport不能为0,在LoRaWAN协议中fport为0是指MAC指令。

四、LoRaWAN应用

速率与包长

image.png

窄带小数据传输,单包最大负载为51~222字节

不向速率不同最大包长

NS与节点侧ADR自动调速

让无线空口传输的数据尽量紧凑

应用层数据超过当前单包最大负载需要分包组包

可考虑固定应用层包长为51字节

应用端口

建议基于Link WAN开发应用时使用端口1~199

0:MAC指令

1~199:建议应用使用

200:RPD Remote Multicast Setup over LoRaWAN中定义为组播使用

201:RPD Fragmented Data Block Transport over LoRaWAN定义为分包组包使用

202:RPD Application layer clock synchronization over LoRaWAN定义为应用层时钟同步使用

203~223:建议应用保留

224:LoRaWAN MAC协议测试模式

225~255:为将来标准化应用扩展保留

确认帧与非确认帧

LoRaWAN网关典型为8上1下,下行比较紧缺

如上行确认帧过于频繁,会占用紧缺的下行信道

节点需要上行确认帧,并根据ACK触发降速与入网

周期性频繁上行的数据应以非确认帧为主

上行数据根据应用类型尽量为非确认帧与确认帧组合

下行数据建议为确认帧

image.png

单播与组播

单播方式:1000盏路灯空口传输1000次

image.png

组播方式:1000盏路灯空口传输1次

image.png

路灯应用

电池供电,下行为主,Class C设备每小时上行1包确认帧心跳包

有控灯需要时,立即下行确认帧控灯指令

智能锁应用

电池供电,上下行均有,Class B设备每小时上行1包确认帧心跳包,包含设备状态;每128秒开beacon接收窗口;每3.84秒开接收窗口收下行指令

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
11月前
|
机器学习/深度学习 缓存 人工智能
MoE模型加速秘籍:vLLM混合KV缓存管理解析​
vLLM是高效分布式大模型推理引擎,采用分页注意力、连续批处理等技术实现高吞吐与低延迟。本文详解其架构设计与关键技术,包括KV缓存管理、调度机制、推测解码与分布式扩展等,助你深入理解性能优化原理。
1677 1
|
网络协议 网络架构
|
9月前
|
人工智能 缓存 语音技术
基于Rokid CXR-M SDK实现AR智能助手应用:让AI大模型走进AR眼镜
本文记录使用Rokid CXR-M SDK开发AR AI助手的全过程,涵盖SDK集成、语音识别、AI对接、结果推送等核心功能,分享实际开发中的技术选型、架构设计与踩坑经验,实现解放双手的实时语音问答体验。
1115 6
基于Rokid CXR-M SDK实现AR智能助手应用:让AI大模型走进AR眼镜
|
供应链 安全 搜索推荐
RFID技术为轮胎管理带来巨大变革
RFID技术在轮胎管理中发挥重要作用,从生产到物流全程追踪,为每个轮胎配备唯一“身份证”,实现精准识别与数据记录。它提升仓库管理效率、优化库存盘点,实时监测轮胎状态保障行车安全,并制定个性化维护计划延长使用寿命。同时,RFID促进供应链协同合作,减少资源浪费,助力企业基于数据分析做出科学决策,推动轮胎管理智能化、信息化发展。
|
Python
在Python中,`while` 循环
【4月更文挑战第9天】Python的`while`循环基于条件执行代码块,直到条件不满足。基本结构是:`while condition:`,里面是循环体。条件为真时执行循环体,然后回测条件。要防止死循环,确保条件最终变假。可通过改变影响条件的变量控制循环结束,也可用`break`跳出循环,`continue`跳过本次迭代剩余代码。`while`循环可与`else`子句搭配,当循环自然结束时执行`else`后的代码。
520 1
|
存储 算法 Java
分布式唯一ID解决方案-雪花算法
分布式唯一ID解决方案-雪花算法
579 0
|
JavaScript 前端开发
typescript(ts) 类型兼容性 分析
ts 类型系统在检查普通字面量是严格检查的,是完全匹配的,如果有一点不一样,ts 都会提出错误,原因嘛,个人觉得你既然使用了类型检查,对于普通的原生数据类型肯定是严格检查,有一点都报错
typescript(ts) 类型兼容性 分析
|
人工智能 安全 算法
巨化集团与阿里云达成战略合作!
巨化集团与阿里云达成战略合作!
1043 0
|
Linux Android开发 开发者
Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
840 0
Android后台杀死系列之二:ActivityManagerService与App现场恢复机制