STM32学习之NB-IoT(三)——天翼物联平台AIoT注册及连接

2024-02-26 12:10

本文主要是介绍STM32学习之NB-IoT(三)——天翼物联平台AIoT注册及连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 平台配置

1.1 平台注册

        本次项目使用的是电信的NB卡,对应的平台为天翼物联(AIoT),平台链接:

https://sso.ctwing.cn/login#/https://sso.ctwing.cn/login#/        进入后先注册一个自己的账号,随后登陆。

1.2 产品注册

        登陆后等待平台加载一会儿,完成后点击右上角的控制台。

         如果想要接入自己的 NB-IoT 设备,首先需要开通“天翼物联网平台(AIoT)-通用组件服务”。在“应用向导_AEP”页面,点击“立即开通”按钮(该服务可以免费开通)。

        开通服务之后,可以在左侧导航栏的“设备管理”-> “产品”菜单里,点击右上角的“创建产品”开 始创建产品。

         填写产品的参数,大家根据自己的项目做相应修改,博主设置的参数如下:

  • 产品名称: 小熊座 NB-IoT 开发板
  • 产品分类: “智慧城市”->“环境感知”-> “温湿度监测”
  • 节点类型: 选择“设备”
  • 接入方式: 选择“设备直连”
  • 网络类型: 选择“NB-IoT”
  • 通信协议: 选择“LWM2M”(Ligh Wweight Machine to Machine)
  • 数据加密方式: 选择“明文”
  • 认证方式: 这里选择“IMEI 认证”
  • Endpoint 格式: 这里选择 “imei”
  • 是否已有电信官方认证通过的 profile: 这里选择“否”
  • 设备型号: 这里设置为 “BC28”
  • 是否透传: 这里选择“否”
  • 消息格式: 这里选择“紧凑型二进制”
  • 省电模式: 这里选择“PSM”
  • 产品描述: 基于NB-IoT的智能路灯

1.3 添加设备

        点击进入刚添加的设备(这里博主就用前边做的项目做演示了)

        先点击“设备管理”,再点击“添加设备”(大家做到这一步时下边马赛克那一行应该是空白的,此处是博主偷懒直接用了前边配置好的项目)。

        这里需要填入设备的 IMEI 号,IMEI号可以在 BC28 模块上使用 AT 命令“AT+CGSN=1”获取。 另外还可以选填设备的 IMSI 号,它可以使用 AT 命令“AT+CIMI”获取。(直接通过串口调试助手向BC28模块发送这两个AT指令即可获取)

        添加完成之后就可以看到新添加的设备了 (此时大家的设备还未激活,状态那一栏应为“未激活”状态,如何激活在后续会讲到)。

 1.4 新增属性

        这里以上报温度为例,讲解如何添加上报温湿度的服务。

       点击产品 ----> 服务定义----> 属性列表,框2中的是默认的多个属性,它们是这个模型的必选选项。

        如果我们要上报的数据类型在这里不存在,则可以点击“新增属性”按钮来添加新的属性。这里博主添加了一个“温度”属性,并配置了相应参数。

        设置属性的长度为 4 字节, 也就是说我们在上报温度时需要用 4 个字节长度表示温度值。(这里的属性标识大家可以自定义,图中是灰色的是因为博主之前定义过了,这里是修改界面)    

         配置完成后点击确定,可看到自定义功能的属性列表中出现了自己刚刚配置的属性,其中属性ID为43,这个ID在接下来会用到。

 1.5 新增服务

        有了属性之后,接下来我们要添加服务。具体方法是 点击 产品----> 服务定义----> 服务列表。在这里有一 些默认的服务,每个服务都有一个相应的服务 ID,如 1、2、9001、9002 等。现在我们要添加上报温度的 服务,则可以点击右下角的“新增服务”按钮。     

        根据自己需求配置服务参数,注意这里的服务 ID 不能重复,这里就直接与其属性 ID 保持一致。

         这里的参数列表点击“添加属性”,在“属性名称”中选择上一步加入的“温度”属性。

        参数配置完成后点击确定,完成后自定义功能的服务列表中可以看到新增的服务。

        接下来就可以使用这个服务来上报当前温度了。

二. 连接平台

        首先,通过 AT 命令配置设备上电后自动连接电信云 IoT 云平台服务。

(1) AT+NCONFIG=AUTOCONNECT,TRUE   //设置 NB-IoT 上电后自动附着网络

返回:

OK

(2) AT+NCDP=221.229.214.202,5683 //设置 IoT 平台服务器地址和端口为电信云平台

返回:

OK

(3) AT+QREGSWT=1  //设置附着网络后自动触发电信 IoT 云平台服务器连接

返回:

OK

(4) AT+NRB  //重启 NB-IoT 模块

返回:

REBOOTING

H??_x0010_

Boot: Unsigned

Security B.. Verified

Protocol A.. Verified

Apps A...... Verified

REBOOT_CAUSE_APPLICATION_AT

Neul

OK

(5) AT+CGPADDR  //查看 NB-IoT 模块后,是否能正常附着网络并获取到 IP 地址

返回:

+CGPADDR:0,21.74.168.172

OK

AT+NCDP?  //查看 IoT 云平台的配置是否正确

返回:

+NCDP:221.229.214.202,5683

OK

AT+NMSTATUS?  //查询 NB-IoT 是否成功注册上电信 IoT 云平台

返回:

+NMSTATUS:MO_DATA_ENABLED

OK

         此时还不用在开发板上编写程序,通过串口调试助手依次发送上方的AT指令。(注意:BC28波特率为9600,一定要勾选发送新行"\r\n"

  

        当开发板上的 NB-IoT 模块注册到云平台上后,我们在云平台上可以看到设备状态从“已注册”变成了“已激活”。 

三. 数据上报

        接下来使用 AT 命令测试上报当前温湿度值过程。

        在开始上报之前,我们需要了解电信云平台中的 数据报文编码格式,具体参考《中国电信物联网开放平台 2.1 接入指导手册.pdf》文档。(下图是从别的地方扒过来的)

         从上图可知,数据报文格式为:

  • 目前要做上报数据,所以CMDType 定义为0x02(表示上报报文),如果是下发的命令则为0x06;
  • DatasetID(服务 ID),从上图可以看出上报相对湿度的服务ID值为43,所以DatasetID值为002B;
  • PayloadLength是数据的长度,在服务中可以看出相对湿度属性的数据长度为 4 字节,所以该字段为 0004;
  • PayloadData是要上传的数据,就是当前温度值,假设当前温度为28℃,则该字段为0000001C。

        综上,目前使用NB-IoT上报当前温度值28℃的报文为:02002800040000001C。

        接下来在开发板上可以使用“AT+QLWULDATAEX”命令来发送这个报文数据到所连接的电信 IoT云平台上。

AT+QLWULDATAEX=9,02002B00040000001C,0x0100

  • 9:表示后面要发送的数据长度,02002B00040000001C是十六进制,长度为9个字节;
  • 0200xxxxxxxx:要上报的数据报文二进制编码;
  • 0x0100:表示 Send CON message;

        关于命令的详解请看BC28模块对应AT手册。

如下图是上报当前湿度和当前温度的命令执行情况。(发送时注意波特率9600,勾选发送新行

        发送后等待几秒,刷新平台界面,进入设备查看数据,能看到数据上报成功。

这篇关于STM32学习之NB-IoT(三)——天翼物联平台AIoT注册及连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748836

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]