一、 开发板简介
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 ID
Digital Input 3200
Digital Output 3201
Analogue Input 3202
Analogue Output 3203
Generic Sensor 3300
Illuminance Sensor 3301
Presence sensor 3302
Temperature Sensor 3303
Humidity Sensor 3304
Power Measurement 3305
Actuation 3306
Set Point 3308
Load Control 3310
Light Control 3311
Power Control 3312
Accelerometer 3313
Magnetometer 3314
Barometer 3315
Voltage 3316
Current 3317
Frequency 3318
Depth 3319
Percentage 3320
Altitude 3321
Load 3322
Pressure 3323
Loudness 3324
Concentration 3325
Acidity 3326
Conductivity 3327
Power 3328
Power Factor 3329
Distance 3330
Energy 3331
Direction 3332
Time 3333
Gyrometer 3334
Color 3335
GPS Location 3336
Positioner 3337
Buzzer 3338
Audio Clip 3339
Timer 3340
Addressable Text Display 3341
On/Off Switch 3342
Dimmer 3343
Up/Down Control 3344
Multiple Axis Joystick 3345
Rate 3346
Push Button 3347
Multi-state Selector 3348
Bitmap 3349
Stopwatch 3350
Below there is the set of Resources that can be used as building blocks for your Objects.
Resource Resource ID Operations Type
Digital Input State 5500 R Boolean
Digital 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
颜色3335
GPS位置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 Float
Min X Value 5508 R Float
最大X值5509 R Float
Min Y Value 5510 R Float
最大Y值5511 R Float
Min 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 Float
Clip 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 Float
Max 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 String
X值5702 R Float
Y值5703 R Float
Z值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
*/
复制代码
评论