基于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
相关文章
|
4天前
|
Android开发 开发者 Windows
这是我设计的一种不关机,然后改造操作系统的软件设计思路2.0版本
本文介绍了在不重启系统的情况下实现操作系统改造的两种方案。第一种方案通过SLFM Recovery模式,在独立于操作系统的最高权限环境下完成系统更新与改造,并支持断电恢复与失败回滚。第二种方案采用多分区机制,通过SLFM套件在独立分区中完成系统改造,适用于可中断与不可中断服务场景,确保系统更新过程的安全与稳定。
221 132
|
3天前
|
JSON fastjson Java
FastJson 完全学习指南(初学者从零入门)
摘要:本文是FastJson的入门学习指南,主要内容包括: JSON基础:介绍JSON格式特点、键值对规则、数组和对象格式,以及嵌套结构的访问方式。FastJson是阿里巴巴开源的高性能JSON解析库,具有速度快、功能全、使用简单等优势,并介绍如何引入依赖,如何替换Springboot默认的JackJson。 核心API: 序列化:将Java对象转换为JSON字符串,演示对象、List和Map的序列化方法; 反序列化:将JSON字符串转回Java对象,展示基本对象转换方法;
|
11天前
|
人工智能 算法 测试技术
轻量高效,8B 性能强劲书生科学多模态模型Intern-S1-mini开源
继 7 月 26 日开源『书生』科学多模态大模型 Intern-S1 之后,上海人工智能实验室(上海AI实验室)在8月23日推出了轻量化版本 Intern-S1-mini。
367 50

热门文章

最新文章