写点什么

OneNet 服务器 LWM2M 物联网协议 (智能井盖方案)

作者:DS小龙哥
  • 2023-04-26
    重庆
  • 本文字数:7039 字

    阅读完需:约 23 分钟

一、​ 开发板简介

OneNET NB-IoT 开发板 v2.1 采用高性能 ARM Cortex-M3 32 位微处理器 STM32F103RET6,搭载中移物联网公司自主研发的 M5310 NB 模组(内嵌 OneNET 接入协议:CoAP+LwM2M 协议),外围配备温湿度传感器、光照强度、气压、三轴加速度、蜂鸣器及按键等丰富的外设资源,并将 STM32F103RET6 的引脚全部引出,方便开发者和用户进行二次开发,由于使用了内置 OneNET 协议的 NB 模组 M5310,用户使用简单 AT 命令即可完成开发板和 OneNET 的互联互通,硬件实物图如图 1 所示。



在开发板使用过程中为了实现了 MCU 和 NB 模组的串口通信,需要将 J12 引脚对和 J14 引脚对分别用跳帽短接;为了实现 NB 模组的自上电,需要将 J10 引脚对短接,如下图 2 所示。



外设资源

CPU:STM32F103RET6,LQFP64,FLASH:512K,SRAM:64K;

M5310 NB-IOT 模块 x1

温湿度传感器(SHT20) x1

气压传感器(BMP180) x1

光照传感器(BH1750FVI) x1

三轴加速度传感器(ADXL345) x1

电源指示灯 x2

LED 指示灯 x4

电源开关 x1

复位按键 x1

普通按键 x4

有源蜂鸣器 x1

心率传感器(IIC)接口 x1

0.96_OLED 模块(IIC)接口 x1

SWD 下载接口 x1

TTL 串口 x3

USB 转串口 x1

天线座子 x1

SIM 卡座 x1

​ 配件清单

NB 开发板 x1

M_LINK 下载器 x1

USB 串口线 x1

5V/2A 电源 x1

天线 x1


二、MQ-4 甲烷天然气检测模块



产品说明

MQ-4 特点:广泛的探测范围、高灵敏度、快速响应恢复、优异的稳定性、寿命长、简单的驱动电路

MQ-4 应用:可用于家庭和工厂的气体泄漏监测装置, 适宜于天然气、沼气、甲烷、瓦斯气等的探测。

MQ-4 适用气体: 天然气、甲烷

MQ-4 规格:

探测范围 300~10000ppm

特征气体 5000ppm 甲烷

灵敏度 R in air/R in typical gas≥5

敏感体电阻 1KΩ~20KΩ in 5000ppm 甲烷

响应时间 ≤10s

恢复时间 ≤30s

加热电阻 31Ω±3Ω

加热电流 ≤180mA

加热电压 5.0V±0.2V

加热功率 ≤900mW

测量电压 ≤24V




三、NEO-7M GPS 模块





四、平台架构与协议



设备接入

OneNET 提供安全稳定的设备接入服务,支持包括 LWM2M(CoAP)、MQTT、Modbus、HTTP、TCP 等在内的多种协议:

在考虑低功耗以及广覆盖的场景,建议使用 CoAP 协议接入

在工业 modbus 通信场景,建议使用 DTU+Modbus 协议接入

在需要与设备实时通信的场景,建议采用 MQTT 协议接入

在设备单纯上报数据的场景,可以使用 HTTP/HTTPS 协议接入

在用户需要自定义协议接入的场景,建议采用 TCP+脚本的方式接入


五、LwM2M 简介

LWM2M 协议 OMA 组织制定的轻量化的 M2M 协议,主要面向基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)场景下物联网应用,聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。具有覆盖广、连接多、速率低、成本低、功耗低、架构优等特点。

 功能特点

NB-IoT 具备四大特点:

广覆盖:在同样的频段下,NB-IoT 比现有的网络增益 20dB,相当于提升了 100 倍覆盖区域的能力;

大连接:轻松支持大量设备联网需求,具备支撑海量连接的能力,NB-IoT 一个扇区能够支持 10 万个连接;

低功耗:聚焦小数据量、小速率应用特别对于一些不能经常更换电池的设备和场合,理论上 NB-IoT 终端模块的待机时间可长达 10 年;

低成本:预期的单个接连模块不超过 5 美元;

基于 NB-IOT 的 LWM2M 协议和 CoAP 协议实现 UE 与 OneNET 平台的通信,其中实现数据传输协议中传输层协议为 CoAP,应用层协议 LwM2M 协议实现。


​ Coap 协议有以下特点:

基于轻量级的 UDP 协议之上,具有重传机制

协议支持 IP 多播

协议包头小,仅为 4 个字节

功耗低,适用于低功耗物联网场景

LWM2M 协议适用于轻量级的协议适用于各种物联网设备,LWM2M 定义了三个逻辑实体:


​ LWM2M Server 服务器;

LWM2M Client 客户端,负责执行服务器的命令和上报执行结果;

LWM2M 引导服务器 Bootstrap Server,负责配置 LWM2M 客户端。

典型应用场景


LWM2M 协议(NB-IoT)是基于 UDP 协议之上具有重传机制的轻量级 M2M 协议,主要面向基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)场景下物联网应用,聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。


广泛适用于对电量需求低、覆盖深度高,终端设备海量连接以及设备成本敏感的环境。可以广泛应用于智能停车、智能抄表、智能井盖、智能路灯等应用场景。


六、什么是 NB-IOT?

NB-IOT 是这两年火热的名词,和物联网,大数据一样在 IT 行业被热捧。

NB-IOT 是窄带物联网(Narrow BandInternetof Things)的简写,为了和现在的移动网络兼容,主要基于 LTE 技术( 3GPP Release 13)。现在中国的三大运营商都在加紧部署 NB-IOT 网络。

NB-IOT 和移动通信(2/3/4/5G)的区别和特点

1、覆盖广,相比传统 GSM,一个基站可以提供 10 倍的面积覆盖

一个 NB-IOT 基站可以覆盖 10km 的范围,小县城一个基站就可以覆盖了。同时

NB-IoT 比 LTE 和 GPRS 基站提升了 20dB 的增益,能覆盖到地下车库、地下室、地下管道等信号难以到达的地方,在地下是不可能有信号打电话的,但 NB-IOT 仍然可以通信!

2、海量连接,200KHz 的频率可以提供 10 万个联接

提供的连接越多,那基站就建的少,基站建的少,那就省钱!一老师同时教 200 个学生,另外一个老师就能带 20 个学生,这样在同样带 1000 个学生的前提下,带 200 个学生的老师只雇佣 5 个就可以,后面那样的老师就要雇佣 50 个。

3、低功耗,使用 AA 电池(5 号电池)便可以工作十年,无需充电

10 年不需充电!你不是在骗我吧?我的手机可是每天都要充电的!NB-IoT 引入了 eDRX 省电技术和 PSM 省电模式,进一步降低了功耗,延长了电池使用时间。在 PSM 模式下,终端仍旧注册在网,但信令不可达,从而使终端更长时间驻留在深睡眠以达到省电的目的。eDRX 省电技术进一步延长终端在空闲模式下的睡眠周期,减少接收单元不必要的启动,相对于 PSM,大幅度提升了下行可达性。


七、NBIOT 模组 M5310 介绍

1、M5310 模组采用华为海思 Hi2110 芯片。

2、M5310 模组内置 UDP 控制命令、可以连接自己的服务器。

3、M5310 模组内置 LWM2M 控制指令、可以直接连接 ONENET。

由于内置了 LWM2M 协议,并且以 AT 指令的形式来连接 OneNET,因此使用起来非常方便。


八、添加一个设备资源示例

/*7. 向NBIOT添加一个GPS设备资源*/	/*	{ Object ID }:必选,如设备上的传感器类型;	{ Object Instance ID }:必选,该类型传感器的编号;	{ }:必选,该传感器的某种类型的数据,如温度的当前值,最大值等;			http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html#extlabel		下面页面可以找到Resource ID定义标准	http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html		Resource ID 字符串类型:4001  只读    /一个字符串文本:5527   /纬度数据字符串:5514  / 经度数据字符串:5515	Resource ID 浮点数类型:5700  只读	 整型类型:5545    只读 --最大X坐标 		纬度5514 R字符串	经度5515 R字符串	不确定性5516 R字符串	*/	GPS.type = NBIOT_STRING;	 //数据类型为字符串类型	GPS.flag = NBIOT_READABLE; //只读  	if(nbiot_resource_add(dev,3336,0,5516,&GPS)==NBIOT_ERR_OK)//GPS	{			printf("GPS设备资源添加成功!\r\n");	}
/*OneNET之IPSO和OMA模型规范

IPSO Smart Object Guidelines provide a common design pattern, an object model, that can effectively use the IETF CoAP protocol to provide high level interoperability between Smart Object devices and connected software applications on other devices and services.
This object set is intended to be used as a starting place from which to build more as needed Some of the objects are generic in nature, such as voltage, altitude or percentage, while others are more specialized like the Color Object or the Gyrometer Object. Actuators and Controllers are defined such as timer or buzzer and Joystick and Level. All of these objects were found to be necessary on a variety of use case domains.
Object Object IDDigital Input 3200Digital Output 3201Analogue Input 3202Analogue Output 3203Generic Sensor 3300Illuminance Sensor 3301Presence sensor 3302Temperature Sensor 3303Humidity Sensor 3304Power Measurement 3305Actuation 3306Set Point 3308Load Control 3310Light Control 3311Power Control 3312Accelerometer 3313Magnetometer 3314Barometer 3315Voltage 3316Current 3317Frequency 3318Depth 3319Percentage 3320Altitude 3321Load 3322Pressure 3323Loudness 3324Concentration 3325Acidity 3326Conductivity 3327Power 3328Power Factor 3329Distance 3330Energy 3331Direction 3332Time 3333Gyrometer 3334Color 3335GPS Location 3336Positioner 3337Buzzer 3338Audio Clip 3339Timer 3340Addressable Text Display 3341On/Off Switch 3342Dimmer 3343Up/Down Control 3344Multiple Axis Joystick 3345Rate 3346Push Button 3347Multi-state Selector 3348Bitmap 3349Stopwatch 3350Below there is the set of Resources that can be used as building blocks for your Objects.
Resource Resource ID Operations TypeDigital Input State 5500 R BooleanDigital Input Counter 5501 R Integer Digital Input Polarity 5502 R,W Boolean Digital Input Debounce 5503 R,W Integer Digital Input Edge Selection 5504 R,W Integer Digital Input Counter Reset 5505 E Current Time 5506 R,W Time Fractional Time 5507 R,W Float Min X Value 5508 R Float Max X Value 5509 R Float Min Y Value 5510 R Float Max Y Value 5511 R Float Min Z Value 5512 R Float Max Z Value 5513 R Float Latitude 5514 R String Longitude 5515 R String Uncertainty 5516 R String Velocity 5517 R Opaque Timestamp 5518 R Time Min Limit 5519 R Float Max Limit 5520 R Float Delay Duration 5521 R,W Float Clip 5522 R,W Opaque Trigger 5523 E Duration 5524 R,W Float Minimum Off-time 5525 R,W Float Mode 5526 R,W Integer Text 5527 R,W String X Coordinate 5528 R,W Integer Y Coordinate 5529 R,W Integer Clear Display 5530 E Contrast 5531 R,W Float Increase Input State 5532 R Boolean Decrease Input State 5533 R Boolean Counter 5534 R,W Integer Current Position 5536 R,W Float Transition Time 5537 R,W Float Remaining Time 5538 R Float Up Counter 5541 R,W Integer Down Counter 5542 R,W Integer Digital State 5543 R Boolean Cumulative Time 5544 R,W Float Max X Coordinate 5545 R Integer Max Y Coordinate 5546 R Integer Multi-state Input 5547 R Integer Level 5548 R,W Float Digital Output State 5550 R,W Boolean Digital Output Polarity 5551 R,W Boolean Analog Input State 5600 R Float Min Measured Value 5601 R Float Max Measured Value 5602 R Float Min Range Value 5603 R Float Max Range Value 5604 R Float Reset Min and Max Measured Values 5605 E Analog Output Current Value 5650 R,W Float Sensor Value 5700 R Float Sensor Units 5701 R String X Value 5702 R Float Y Value 5703 R Float Z Value 5704 R Float Compass Direction 5705 R Float Colour 5706 R,W String Application Type 5750 R,W String Sensor Type 5751 R String Instantaneous active power 5800 R Float Min Measured active power 5801 R Float Max Measured active power 5802 R Float Min Range active power 5803 R Float Max Range active power 5804 R Float Cumulative active power 5805 R Float Active Power Calibration 5806 W Float Instantaneous reactive power 5810 R Float Min Measured reactive power 5811 R Float Max Measured reactive power 5812 R Float Min Range reactive power 5813 R Float Max Range reactive power 5814 R Float Cumulative reactive power 5815 R Float Reactive Power Calibration 5816 W Float Power Factor 5820 R Float Current Calibration 5821 R,W Float Reset Cumulative energy 5822 E Event Identifier 5823 R,W String Start Time 5824 R,W Float Duration In Min 5825 R,W Float Criticality Level 5826 R,W Integer Avg Load Adj Pct 5827 R,W String Duty Cycle 5828 R,W Integer On/Off 5850 R,W Boolean Dimmer 5851 R,W Integer On Time 5852 R,W Integer Muti-state Output 5853 R,W String Off Time 5854 R,W Integer Set Point Value 5900 R,W Float Busy to Clear delay 5903 R,W Integer Clear to Busy delay 5904 R,W Integer Bitmap Input 5910 R Integer Bitmap Input Reset 5911 E Element Description 5912 R,W String UUID 5913 R,W String
OneNET之IPSO和OMA模型规范
2018年06月20日11:25:58智小星阅读数:1834?版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/xinghuanmeiying/article/details/80743757智能对象
IPSO智能对象指南提供了一种通用设计模式,即对象模型,可以有效地使用IETF CoAP协议在智能对象设备和其他设备和服务上的连接软件应用程序之间提供高级互操作性。
此对象集旨在用作根据需要构建更多对象的起始位置。某些对象本质上是通用的,例如电压,高度或百分比,而其他对象则更专业,如颜色对象或陀螺仪对象。执行器和控制器定义为定时器或蜂鸣器以及操纵杆和水平仪。发现所有这些对象在各种用例域中都是必需的。
对象对象ID数字输入3200数字输出3201模拟输入3202模拟输出3203通用传感器3300照度传感器3301存在传感器3302温度传感器3303湿度传感器3304功率测量3305动3306设定点3308负载控制3310灯光控制3311电源控制3312加速度计3313磁力计3314晴雨表3315电压3316目前3317频率3318深度3319百分比3320海拔3321装载3322压力3323响度3324浓度3325酸度3326电导率3327电源3328功率因数3329距离3330能源3331方向3332时间3333陀螺仪3334颜色3335GPS位置3336定位3337蜂鸣器3338音频剪辑3339定时器3340可寻址文本显示3341开/关开关3342调光器3343上/下控制3344多轴操纵杆3345率3346按钮3347多状态选择器3348位图3349秒表3350下面是一组可用作对象构建块的资源。
资源资源ID操作类型数字输入状态5500 R布尔值数字输入计数器5501 R整数数字输入极性5502 R,W布尔值数字输入去抖5503 R,W整数数字输入边沿选择5504 R,W整数数字输入计数器复位5505 E.当前时间5506 R,W时间分数时间5507 R,W FloatMin X Value 5508 R Float最大X值5509 R FloatMin Y Value 5510 R Float最大Y值5511 R FloatMin Z Value 5512 R Float最大值Z值5513 R Float纬度5514 R字符串经度5515 R字符串不确定性5516 R字符串速度5517 R不透明时间戳5518 R时间最小限制5519 R Float最大限制5520 R Float延迟时间5521 R,W FloatClip 5522 R,W Opaque触发5523 E.持续时间5524 R,W Float最小关闭时间5525 R,W Float模式5526 R,W整数文字5527 R,W字符串X坐标5528 R,W整数Y坐标5529 R,W整数清除显示5530 E.对比度5531 R,W Float增加输入状态5532 R布尔值减少输入状态5533 R布尔值计数器5534 R,W整数当前位置5536 R,W Float过渡时间5537 R,W Float剩余时间5538 R Float向上计数器5541 R,W整数向下计数器5542 R,W整数数字状态5543 R布尔值累计时间5544 R,W FloatMax X坐标5545 R整数最大Y坐标5546 R整数多状态输入5547 R整数等级5548 R,W Float数字输出状态5550 R,W布尔值数字输出极性5551 R,W布尔值模拟输入状态5600 R Float最小测量值5601 R Float最大测量值5602 R Float最小范围值5603 R Float最大范围值5604 R Float重置最小和最大测量值5605 E.模拟输出电流值5650 R,W Float传感器值5700 R Float传感器单元5701 R StringX值5702 R FloatY值5703 R FloatZ值5704 R Float指南针方向5705 R Float颜色5706 R,W字符串应用类型5750 R,W String传感器类型5751 R String瞬时有功功率5800 R Float最小测量有功功率5801 R Float最大测量有功功率5802 R Float最小范围有功功率5803 R Float最大范围有功功率5804 R Float累积有功功率5805 R Float有功功率校准5806 W Float瞬时无功功率5810 R Float最小测量无功功率5811 R Float最大测量无功功率5812 R Float最小范围无功功率5813 R Float最大范围无功功率5814 R Float累积无功功率5815 R Float无功功率校准5816 W Float功率因数5820 R Float电流校准5821 R,W Float重置累积能量5822 E.事件标识符5823 R,W String开始时间5824 R,W Float持续时间在Min 5825 R,W Float临界等级5826 R,W整数平均负载调整值5827 R,W字符串占空比5828 R,W整数开/关5850 R,W布尔值调光器5851 R,W整数在时间5852 R,W整数多状态输出5853 R,W字符串关闭时间5854 R,W整数设定值5900 R,W Float忙到清除延迟5903 R,W整数清除忙碌延迟5904 R,W整数位图输入5910 R整数位图输入复位5911 E.元素描述5912 R,W*/
复制代码



发布于: 刚刚阅读数: 3
用户头像

DS小龙哥

关注

之所以觉得累,是因为说的比做的多。 2022-01-06 加入

熟悉C/C++、51单片机、STM32、Linux应用开发、Linux驱动开发、音视频开发、QT开发. 目前已经完成的项目涉及音视频、物联网、智能家居、工业控制领域

评论

发布
暂无评论
OneNet服务器LWM2M物联网协议(智能井盖方案)_三周年连更_DS小龙哥_InfoQ写作社区