基于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
相关文章
|
7月前
|
安全 Java 数据处理
Java TLAB:JVM 多线程对象分配的无锁优化底层核心
TLAB(线程本地分配缓冲区)是JVM在Eden区为每线程私有分配的内存块,通过`top/end`指针实现无锁对象分配,彻底规避高并发下的竞态问题。它以极小内存浪费(<1%)换取数十倍性能提升,是Java内存分配与GC优化的核心基石。(239字)
657 6
|
算法 物联网 定位技术
蓝牙室内定位技术解决方案:核心技术架构与优化实践
本文探讨了蓝牙iBeacon与Lora结合的室内定位技术,分析其在复杂室内环境中的优势与挑战。通过三层架构实现高精度定位,并提出硬件、算法与部署优化方向,助力智慧仓储、医疗等场景智能化升级。
732 0
蓝牙室内定位技术解决方案:核心技术架构与优化实践
|
11月前
|
网络协议 数据安全/隐私保护 网络架构
|
机器学习/深度学习 数据采集 算法
【人脸识别】基于PCA的人脸识别系统(Matlab代码实现)
【人脸识别】基于PCA的人脸识别系统(Matlab代码实现)
767 6
|
机器学习/深度学习 并行计算 测试技术
5倍加速!PAI-EAS在线服务优化:ResNet50模型推理性能调优指南
本文系统分析ResNet50推理性能瓶颈,结合TensorRT加速、模型剪枝、批量推理及CUDA多流并行等技术,实现吞吐量提升56.7倍、延迟降低至22ms,同时优化GPU利用率与服务稳定性,提供完整的生产部署验证方案。
774 13
|
存储 移动开发 前端开发
HTML 入门与深度解析:从基础到高级特性
HTML(超文本标记语言)是构建网页的基础,通过标签和元素定义页面结构与内容。它支持文本、图片、链接、多媒体等元素,并具备语义化、跨平台、结构清晰等特点。HTML5 引入了新标签(如 `<header>`、`<nav>`、`<article>`)、表单增强、本地存储、地理定位等高级功能,极大提升了网页的交互性与用户体验。结合 CSS 与 JavaScript,HTML 构成了现代 Web 开发的核心。
714 0
|
Ubuntu 安全 数据挖掘
Ubuntu作为初学者Linux发行版的选择:众多优势解析
总的来说,选择Ubuntu作为初学者的Linux发行版,将享受到诸多优势。从用户友好的界面到强大的社区支持,再到丰富的学习资源和安全性保障,Ubuntu为初学者提供了一个理想的学习环境,助力他们快速掌握Linux系统。通过使用Ubuntu,用户不仅能获取操作系统的基础知识,还能培养解决问题的能力和自信,为未来的技术发展奠定坚实基础。无论是出于个人兴趣还是职业发展需求,Ubuntu都是不二之选。
|
机器学习/深度学习 人工智能 开发者
【AI系统】昇思 MindSpore 关键特性
本文介绍华为自研AI框架昇思MindSpore,一个面向全场景的AI计算框架,旨在提供统一、高效、安全的平台,支持AI算法研究与生产部署。文章详细阐述了MindSpore的定位、架构、特性及在端边云全场景下的应用优势,强调其动静态图统一、联邦学习支持及高性能优化等亮点。
819 7
【AI系统】昇思 MindSpore 关键特性
|
存储 Java Linux
Java“Bad Magic Number”错误解决
Java“Bad Magic Number”错误通常发生在尝试运行不兼容或损坏的类文件时。解决方法包括确保使用正确的JDK版本、检查类文件完整性、清理和重新编译项目。
1378 14
|
Java Go
go如何读取yaml配置文件?
本文介绍了如何在Go项目中利用YAML文件进行配置管理,以简化变量更改及维护工作。首先,通过`go get gopkg.in/yaml.v3`命令安装YAML处理库。接着,展示了如何创建并解析YAML配置文件,包括定义结构体映射YAML字段、读取文件内容以及错误处理等步骤。此外,还提供了通过Go代码生成YAML文件的方法。使用`gopkg.in/yaml.v3`库能够有效提升项目的可维护性和开发效率。
1431 1
go如何读取yaml配置文件?

热门文章

最新文章