-
### 证书问题 > 基本上每周都有人问,证书怎么导出?有的链接告诉我要导出证书,有的链接告诉我去哪里下载证书,这样搞的很混乱。 > > 不要慌,首先搞清楚你要做什么,是调IoT平台的接口(比如 订阅),还是推送,然后再看做这个操作你需不需要证书。 > > 下面分两部分来通俗理解一下 #### 1. 调IoT平台接口 利用平台提供的模拟器,各个版本的Demo (1)北向接口 平台北向接口都是采用https协议,所以,应用厂商来调用IoT平台北向接口都是需要配置证书的,而且这个证书是平台对外提供的 > 下载:https://support.huaweicloud.com/devg-IoT/iot_02_1004.html#section3 (2)南向接口 平台南向设备有多种协议接入,涉及到证书的地方 LWM2M(CoAP) 接入方式:注册设备的方式有加密和不加密 > DTLS协议预共享密钥:如果配置,则平台使用配置的PSK;如果不配置,则由平台生成PSK MQTT接入方式: > 参考:https://support.huaweicloud.com/qs-IoT/iot_05_0005.html AgentLite接入方式: > 参考Agent Lite SDK 使用指南,下面链接 **设备开发资源** 可获取 > > https://support.huaweicloud.com/devg-IoT/iot_02_1004.html #### 2. 推送 ===================~~概念扫盲~~=================== > 官方定义:https://support.huaweicloud.com/usermanual-IoT/iot_01_0001.html 通俗理解:IoT平台比喻为报社,你是应用端来平台订报纸就是订阅,订报纸的时候,你要把你的地址告诉平台,这个地址叫做回调地址,当有新报纸的时候,平台就往应用端送报纸,这就是推送。 订阅:应用调IoT平台接口 推送:IoT平台调应用接口 回调地址:一个服务的URL地址,需要一个公网地址,类似于www.huawei.com ,内网地址的话,平台的消息是推不过去的 ===================~~概念扫盲~~=================== (1)需要证书 应用端启动了一个 **https** 的服务,相应的回调地址就是 **https** 开头的一个URL地址,当你去订阅的时候,还要把证书带给平台 > 可参考调测证书制作:https://support.huaweicloud.com/devg-IoT/iot_02_4037.html > > 下面链接是当前javaSDKDemo证书的导出与上传,该测试Demo已经内置了调测证书,测试阶段可直接使用 > > https://support.huaweicloud.com/devg-IoT/iot_02_6002.html#section3 > > 其中的 **回调证书导出** 与 **回调证书上传** (2)不需要证书 应用端启动了一个 **http** 的服务,相应的回调地址就是 **http** 开头的一个URL地址,只需要去平台成功订阅,当有消息上报至平台时,平台就会把你需要的消息,推送到应用端 > 平台订阅接口:https://support.huaweicloud.com/api-IoT/iot_06_0025.html
-
注意:此文档后续所有的操作都是在华为云开发中心来实现的,如果使用是其他产品的服务或者是其他平台(比如内网搭建的开发中心,电信平台等),可能会出现版本不一致,平台证书不兼容等问题开发中心入口https://www.huaweicloud.com/product/iot.html 上图中1. 开发中心,进入开发中心界面;2. 帮助文档,内置了很多平台相关的资料,这里面真的有很多实用的资料,如果不想看资料,打开帮助文档页面往下拉,有视频专区,可以帮助你快速了解开发中心;3. 论坛,论坛里面有很多开发者在实际调试过程中发表的帖子,很具实用性;调试阶段有任何问题也可以发帖求助,都有专人看帖解答的 现在我来做平台的南北向对接,但是我手上南向的设备也没有,北向的应用也不知道从哪里下手开发,不用着急,平台现在最方便的地方就在于开发了很多模拟器,可以模拟南向设备,北向应用,那么这些模拟器从哪里获取呢?资源获取界面:https://support.huaweicloud.com/devg-IoT/iot_02_1004.html (一)如何完成简单的南向设备调试?流程:开发产品,根据产品注册设备,绑定设备使其在线,上报数据至平台快速体验(https://support.huaweicloud.com/qs-IoT/iot_05_0003.html) 南向设备端需要准备的东西现在平台南向可以分为两类设备,NB和非NB1. NB可以使用设备模拟器参考 NB-IoT模拟器的使用 (https://bbs.huaweicloud.com/forum/thread-24716-1-1.html)快速完成设备登录在线2. 非NB可以使用agentLite的各个语言版本的Demo参考论坛帖子(https://bbs.huaweicloud.com/forum/thread-22176-1-1.html)快速完成设备登录在线 (二)如何完成简单的北向应用调试?流程:调用北向接口完成鉴权,注册设备,查询设备信息,查询设备数据北向应用开发资源提供了三种语言的Demo,各种版本的Demo都可以启动一个本地服务器来模拟北向应用,至于怎么启动一个本地服务,demo对应的开发指南中都有说明,这里就不在重复造轮子Java:https://bbs.huaweicloud.com/forum/thread-24891-1-1.htmlPython:https://support.huaweicloud.com/devg-IoT/iot_02_6023.html#section4PHP:https://support.huaweicloud.com/devg-IoT/iot_02_6013.html#section3 (三)如何完成简单的南北向联调?1. 在平台在线开发产品(profile和编解码插件)2. 根据产品注册设备3. 用NB模拟器绑定设备在平台显示在线4. 用北向Demo启动一个本地服务来模拟北向应用5. 在平台 订阅调试界面 订阅设备数据变化的通知,并检测通过,启动的服务能收到推送的测试数据6. 用模拟器上报数据7. 启动的服务能收到模拟器的数据推送8. 调用 创建设备命令 给模拟器下发命令9. 如果产品中定义了设备命令响应,那么启动的服务还能收到命令响应的通知
-
根据IoT平台根据南向终端的分类,本别给出了不同的方案1、使用开放协议MQTT,把具备MQTT通信能力的设备接入物联网平台,自定义能力强2、使用SDK,华为提供了Agent Lite SDK、Agent Tiny SDK和LiteOS SDK ------------------------------------更详细的以下介绍Api文档--------------------------------------------------------Agent Lite SDK 和Agent Tiny SDK两者的区别如下:SDK种类SDK集成场景SDK支持的物联网通信协议Agent Lite SDK面向运算、存储能力较强的嵌入式设备,例如工业网关、采集器等。HTTPS+MQTTSAgent Tiny SDK面向对功耗、存储、计算资源有苛刻限制的终端设备,例如单片机、芯片、模组。LWM2M over CoAP 、MQTT两者对设备软硬件要求如下:SDK种类RAM容量FLASH容量CPU频率操作系统类型及版本要求支持的编程语言/平台Agent Lite SDK> 4MB> 2MB>200MHZSUSE Linux Enterprise Server、Ubuntu、Centos、x86_64 Windows、Android目前提供C、Java和Android多种语言/平台的支持。Agent Tiny SDK> 32KB> 128KB>100MHZ对操作系统无特殊要求,可以联网即可。目前仅支持C语言。-------------------------------------------------华丽分割线--------------------------------------------------------下面介绍实际操作过程下载了Demo Agent Lite Demo(C-Windows) 和Linux版本功能相同,代码也相同,引用的类库不同,为了方便调试先用Windows版。 这个Demo使用了宇宙第一的开发工具Visual Studio开发的,我使用的VS2019,工程原来的工具版本较低,系统会提示升级,根据提示确认操作就好了。 代码修改点:demo.h 第十行#define CONFIG_PATH "改为项目Demo目录" 配置修改:gwreginfo.json这个要根据profile文件一起修改{ "mac": "agentlite_demo_003", 全平台唯一即可 "platformAddr": "49.4.93.24", 固定 "platformPort": 8943, 固定 "manufacturerId": "f41873f8f0ee482e9", IoT平台上项目上的厂商ID "deviceType": "Gateway", 与profile统一 "model": "AgentLite01_001", 与profile统一 "protocolType": "MQTT", 与profile统一 "loglevel": 255 默认 }文档中提供是Profile,但需要根据自己情况进行修改,解压后,打开 Profile/devicetype-capability.json 根据情况修改如下{ "devices": [ { "manufacturerName": "3esoft", "manufacturerId": "f41873f8f0ee482e9", "model": "AgentLite01_001", "protocolType": "MQTT", "deviceType": "Gateway", "serviceTypeCapabilities": [ { "serviceId": "Discovery", "serviceType": "Discovery", "option": "Master" }, { "serviceId": "Remover", "serviceType": "Remover", "option": "Mandatory" }, { "serviceId": "Storage", "serviceType": "Storage", "option": "Mandatory" } ], "omCapability": null } ] }那么这个Demo中的使用SDK连设备就完成了,导入Profile后,在产品下添加设备,需要在IoT平台页面上操作, 用了sdk选择网关-------------------------------本Demo中还有一个直连设备----------------------------------------------对应的是另一个Profile 见附件,代码如下,也需要修改为何Profile一致HW_VOID AddSensors() { ST_IOTA_DEVICE_INFO stDeviceInfo = { 0 }; FILE* fp = NULL; HW_CHAR szdeviceInfoFileName[BUFF_MAX_LEN] = { 0 }; HW_INT file_size; HW_CHAR* pcJsonStr; HW_JSONOBJ jsonObj; HW_JSON json; //get device info stDeviceInfo.pcNodeId = "agentlite_demo_004"; stDeviceInfo.pcManufacturerName = "3esoft"; stDeviceInfo.pcManufacturerId = "f41873f8f0ee482e9d47715b6823afbb"; stDeviceInfo.pcDeviceType = "Motion"; stDeviceInfo.pcModel = "NonDirectConnect_001"; stDeviceInfo.pcProtocolType = "MQTT"; stDeviceInfo.pcName = "agentlite_demo_004"; IOTA_HubDeviceAdd(g_uiCookie, &stDeviceInfo); return; }特别需要注意的地方每次改变产品时,要删除文件gwbindinfo.json(bind成功后生成的文件),如果是旧文件会直接连接,不会有bind过程了。改造之后,直接运行demo就看到结果。已经调试成功的Profile和Demo也在附件提供给各位道友。
-
最近在跟着华为的IoT开发者精英实战营:一往无前 学习关于物联网的应用,现有问题咨询各位同学,关于小熊派的NB模组BC35-G有么有OpenCPU的学习资源或案例Demo可以分享下。
-
最近发现很多小伙伴不会使用设备模拟器,设备模拟器可以很快的定界问题,但是下载之后里面没有使用文档,这里简单介绍一下 1、 下载NB模拟器(链接:https://developer.obs.cn-north-4.myhuaweicloud.com/manage/tool/NBSimulate/NBDeviceSimulator.zip)2、 解压至某一个路径3、 打开其中的一个jar包(打开jar包的前提需要你本地安装jdk环境)4、 我这里打开NB-IoTDeviceSimulator_zh.jar(NB-IoTDeviceSimulator_en.jar是英文版本的,打开之后是英文界面,其他都一样)5、 打开之后有两种情况(1)如果开启DTLS加密传输,需要多填写一个psk,如下图: (2)如果不开启,就不用填写psk,如下图:注意:模拟器右上角的 注册设备 描述有点歧义,这里应该变为 绑定设备,也许更容易理解一点。 6、 先去开发中心注册设备产品详情(1)新增真实设备(2)选择产品注意:用NB设备模拟器绑定设备时,产品的协议类型只能是CoAP/LwM2M,不能是json(3)填写设备信息与模拟器对应(未开启DTLS加密)(IP地址:在开发中心对接的地址都是49.4.85.232,该模拟器中不用填写端口)(4)平台显示设备离线状态(5)在模拟器右上角,点击 注册设备 ,会弹出消息框,再看平台显示的设备已经变为在线状态 (6)以同样的步骤注册一个DTLS加密设备,对应的设备信息是这样的
-
商用的和试用的为什么差别这么大,试用的有profile和编解码插件,那商用的呢?
-
请问下我使用3.4.0开发环境新建项目,使用基于云端模型构建将网页生成链接填入时无法创建项目。提示下载模型配置文件失败。还有我使用st-link无法再iot-studio中下载文件
yang30522822
发表于2019-09-11 14:13:52
2019-09-11 14:13:52
最后回复
yang30522822
2019-09-11 16:22:38
2152 2 -
之前有人问过如何用LWM2M协议与移远BC20模块接入华为IoT开发平台,所以我在这里写一下。0、LwM2M简介LwM2M的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:1)这个协议是轻量级的;2)这个协议适用于物联网设备。这里就不说这个协议的架构、接口这些了,因为我看过之后不用多久就忘了,会用就行吧!感兴趣的可以到官网看>>>戳这里(目前LWM2M协议已经更新到V1.1版本)LWM2M协议的开源代码>>>戳这里说白了就是:LWM2M就是用于资源有限的终端设备管理的轻量级物联网协议Begin1、部署华为云我们新建设备的时候注意协议要选择:LWM2M(如下图)--> 点击创建创建成功点击确定。创建成功后就要定义Profile了,跟我之前写的新手向的帖子步骤差不多,帖子太长大家看了也不舒服,我们就直接跳过Profile与编解码插件的定义了。有不懂的可以戳>>>这里,看我之前的帖子2、新增调试设备用串口连接BC20模组,输入如下指令获得模块的IMEI号,将获取到的IMEI号复制下来,用于与云平台绑定NB模组。AT+CGSN=1 //获取设备IMEI号,也就是我们在华为IoT平台上注册设备需要的号码将上图获取到的IMEI号粘贴到“设备标识”里3、华为IoT平台与BC20模组进行数据收发第一步:设置华为物联网平台的地址和端口我们先看AT指令集(BC20 LwM2M AT Commands Manual)的目录,发现指令并不多,而且每条指令的用途写的非常清楚。对接信息里查看设备接入的IP地址与端口查AT指令与对接信息我们输入下方的指令进行配置平台地址与端口:AT+QLWSERV="49.4.85.232",5683第二步:输入以下指令,配置华为云物联网平台参数,注意:引号内的字符串为模块的IMEI号。AT+QLWCONF="866971030001361"第三步:输入以下指令,添加LwM2M对象:19/0/0AT+QLWADDOBJ=19,0,1,"0"第四步: 输入以下指令,向云平台发送注册请求AT+QLWOPEN=0第五步:配置可选参数,配置发送和接收数据的模式输入以下指令,配置发送和接收数据均为HEX十六进制模式AT+QLWCFG="dataformat",1,1第6步:向云平台发送数据输入以下指令,将带有CON类型的十六进制数值“8”发送到IoT平台(注意:如果要发送字符串,则需转换为十六进制发送,例如字符串“8”位十六进制0x38)AT+QLWDATASEND=19,0,0,1,08,0x0100若串口调试助手返回:“SEND OK”,则说明发送成功。发送成功后,云平台接收到消息(如下图)第七步:在云平台发送命令,串口助手接收到的指令格式如下:点击立即发送串口助手将会接收到如下数据+QLWDATARECV:19,1,0,2,4F4E 第八步:当该设备传输完数据,不需要使用了,要释放资源,取消注册请求,删除LWM2M上下文,避免占用资源影响下次通信输入以下指令,释放资源,取消注册请求,删除LWM2M上下文。AT+QLWCLOSE AT+QLWDELEndps:其实官方的AT指令集写的蛮清楚的,而且文档末尾也有例子,相信很多人是因为不知道或者不习惯看技术文档,而导致很多东西学不会,或者没办法自学,这都是很糟糕的。相信很大一部分人看到技术文档是英文的就直接关了,其实楼主我也之前也是一样,说到底还是英文不好,其实干我们这行的是离不开英文的。所以英文不好的怎么办?那就只有平时多背几个单词(提高词汇量),再装个翻译软件(把不懂的直接翻译出来,加快我们的开发进度)。
-
Python SDK 代码如下点击运行改代码,在IOT开发界面看到如下看到有消息记录出现,但是只有一条,而且在设备模拟器看不到数据。单独在应用模拟器和设备模拟器运行都是可以的,证明编解码参加和profile文件都是匹配的,那么我感觉是SDK的Python body参数写错了,希望有人能帮忙解决。
-
上一次我们讲了“华为IoT平台环境搭建”,只用了虚拟设备进行演示,今天我们用真实的NB-IoT模块来进行通信。如果连“IoT平台环境搭建”都还不知道的同学可以进我的主页里查看,或者点击上方的超链接跳转。1、准备要完成这次实验需要以下几个东西。1.1、NB-IoT模组目前NB-IoT厂商与模组主要有以下几个公司模组名称使用芯片支持频段通讯协议上海移远BC95-B5/8/20/28华为Hi2110B5/B8/B20/B28UDP/CoAPBC26联发科MT2625B1/B2*/B3/B5/B8/B12*/B13*/B17*/B18*/B19*/B20/B25*/B26*/B28*/B66*TCP/CoAP/MQTTBC28华为Hi2115B1/B3/B5/B8/B20/B28*UDP/TCP/CoAP/LWM2M/MQTTBC35-G华为Hi2115B1/B3/B5/B8/B20/B28UDP/TCP/CoAP/LWM2M/MQTT中移物联M5310华为Hi2110B8LWM2M高新兴ME3612高通MDM9206B3/B5/B8CoAP、TCP/UDP、MQTT、OMA-LWM2M我这次用的模组是BC35-G,支持移动、联通、电信三大运营商的NB卡,应该也是目前市面上占有率比较大的一款NB-IoT模组。1.2、NB-IoT SIM卡SIM 卡的作用是鉴权使用,NB设备接入核心网需要核心网认证,SIM 卡里存放认证的信息和密钥等。简单来说就跟我们平常的手机卡的作用差不多,就是用来连接上网络,该SIM卡一般只用来连接网络,不打电话和收发短信。目前市面上NB-IoT SIM卡主要有三大厂家的:中国电信、中国移动、中国联通。(NB SIM卡去营业厅你可能买不到,因为运营商自己不卖,承包给第三方进行销售的,对该卡的充值方式也与普通SIM卡不一样,某宝上有售,一般买NB-IoT模块有送NB SIM卡,卡的充值与激活方式详情问卖家)1.3、IoT平台 IoT平台目前主要有:华为物联网平台(OceanConnect),电信IoT平台(不面向个人开发者,电信购买的是华为的平台,所以电信IoT平台与华为物联网平台操作一样)、阿里云物联网平台、OenNET移动物联网平台、以及各个大小企业或个人搭建的平台。如果还不了解华为物联网平台的可以点击这里看我上个帖子。2、模块配置与IMEI号的获取在上次创建完虚拟设备后,我们现在来创建真实设备第一步:获取IMEI号(国际移动电话设备识别码)IMEI号在NB-IoT模块上有写,或者通过扫描上面的二维码来获取IMEI号,或通过下方所说的AT指令进行获取将模块通过串口连接上电脑,选择正确的端口号(不一定是10),波特率选择9600(IoT模块默认波特率为9600),勾选Send With Enter,如下图。(如果没有安装驱动得先安装驱动)点击Open Port-->输入框里输入AT-->点击Send Command进行发送指令返回OK,代表通讯正常。(如果没有反应,检查串口、波特率是否设置正确以及模块是否正常通电)然后依次发送以下指令:AT指令含义说明AT+CIMI查询SIM卡上的IMEI号,该命令可以判断卡是否正常插上AT+CGSN=1获取设备IMEI号,也就是我们在华为IoT平台上注册设备需要的号码AT+CSQ获取网络信号强度,返回的第一个十进制数字最好在12~30之间AT+CEREG?获取模块注网状态,开机后需查询到返回x,1 才能代表联网成功,才能进行后续的操作AT+NCDP=ip配置服务器地址,其中ip地址在左右的对接信息中可以找到(位于左侧应用–>对接信息–>设备接入信息–> 49.4.85.232:5683 (CoAP),如下图所示),所以我们输入:AT+NCDP=49.4.85.232(CoAP协议可以省略端口号)获取对接的IP地址:按顺序发送指令,如下图3、设备注册现在我们的模块已经配置完毕了,现在我们回到平台上把设备注册一下。点击设备管理 --> 新建真实设备选择对应的产品然后输入设备名称,及我们获取到的IMEI号-->点击确定PSK码是为加密设备使用的(如果使用的是加密端口就需要PSK码,如果以后用到可以把这设备删除,然后重新创建,重新获取PSK码,当然你也可以先保存下来)然后我们就多了这个真实设备,目前是离线状态通过查询官方的AT指令集了解到发送数据指令为:AT指令含义说明AT+NMGS=length,data[,length表示后续数据(data)的长度(10进制表示data数据的字节长度),data表示需要发送的数据(16进制),例如:AT+NMGS=3,AA11BB我们根据编解码插件里的数据结构来进行发送数据发送:AT+NMGS=1,50返回OK代表发送成功此时设备变成在线,我们进入产品调试接收到数据80(十进制)我们尝试从云平台发送数据同时串口助手也会受到十六进制的ASCII码这样我们就完成了NB-IoT与华为物联网平台的连接有一点请牢记:NB-IoT采用低功耗模式,发送完数据后大概20S就会休眠,所以云端下发的数据是在下一次上传数据成功后,才会下发到设备。end下一篇:BC20模块使用LWM2M协议接入华为IoT平台
-
先列个大纲从零开始成为华为开发者开发者必备知识和应用讲解开发一个物联网项目之IoT平台端设计能力开发一个物联网项目之南向设备端开发一个物联网项目之北向应用端开发一个物联网项目之完整的项目 (智慧校园)项目从开发环境到上线运营广大社友想看到什么,可以留言
-
从7天IoT在线训练营->7天IoT实战营->开发精英实战营,一路走来,确实学到了知识,也学会了实战,离精英还有距离。在这里发表一下自己对这个课程的看法,给学习的入门级小白一些经验,或者说培训老师们都清楚但不好意思说的。首先这些物联网课程是引领开发者入门华为物联网平台的课程,并不代表是纯门外汉上来就能学的,也不是培养全栈开发者的。需要有些基础的知识,也有一些问题不是课程的目标,可能答疑老师也不会回答。课程重点普及物联网知识,原理与发展,当故事听挺好的,不需要把这么基础的通讯工作原理都搞清楚(物联网专业出身的本来也都懂),主要是明白我需要用什么,整个物联网包括哪些东西,也就是课程中没有讲的相关知识也要开发者有一定基础。按照程序员的习惯直接列条目说明,不废话了。根据课程节奏:0、物联网的起源和发展,华为的地位,各种协议的历史等,了解故事更有存在感。1、华为IoT平台,OceanConnect的地位,层次划分,南向北向的概念,这些很重要,很容易理解;2、LiteOS物联网系统,也是华为物联网打天下的重要工具,对于嵌入式开发的同学不是难点,对非物联网专业的理解容易,掌握就难了。3、南向设备,主要是配合小熊派和工程Demo,要想掌握最好是搞过LiteOS ,至少MDK这样的工具。至少能根据教程配置和编译,因为是课程重点讲解的也很详细。课程的宗旨是让大家能使用Demo工程,不是训练大家写一个全新的工程。4、Profile和编解码是核心(其他IoT平台没有这一块),是教程重点。和南向设备怎么配套的,其实没有讲,但也要清楚,才能真正掌握。5、设备测试真实设备或虚拟设备,教程有详细讲解使用,这个工具很好。6、Web booster其实是一个北向应用,一个集成很好的web开发平台,只限于平台提供的功能,不能扩展开发者业务7、北向接口,和南向设备端一样重要,因为课程重点是物联网,是南向设备端,所以这方面只提供在线文档。8、Postman就是一个代替你写调用别人程序的通用程序,大家反应这方面教程没有讲清楚,这个课程宗旨有关,主要是培养南向设备端给点建议:北向应用 要有互联网开发经验(起码有网页或接口开发),详细点就是你开发过调用别人api的程序吗?你的程序被别人调用过吗?没有的话先找身边懂的人去学习一下,否则答疑老师也没法回答。南向设备 要有嵌入式开发经验,了解LiteOS或者熟悉MDK的,掌握起来就容易多了;之前对硬件没接触过,用C语言也没做过东西的,起码要熟悉一门编程语言,把Demo调通的基础上,再去肯相关知识。总之,这套课程虽然很短,只有7次课,但要都弄懂,需要掌握全面的知识,也就是一个全栈开发者,并不容易。
-
第1步:登录华为云平台,官网:https://www.huaweicloud.com/。(建议使用Chrome浏览器)右上角登陆或者注册一个账号,这里我已经登陆了(怎么注册这里我就不说了,如果平台需要你提供企业信息,企业用户可以填自己企业,如果是个人用户可以随便填)注册完了别忘了实名认证哦!很多网友反馈第2步教程现在不适用了,因为华为的界面改动较大(我也找不到了),现在附上新的链接:https://iot-dev.huaweicloud.com/进入后选择使用华为云账号登陆。大家可以跳过第二步了,什么时候这链接又不能用了再说吧(应该不会)。第2步:选择“开发者”—>“开发者资源”—>“资源”—>“IoT专区”,开通IoT业务(开发者资源可以免费使用,但是创建项目以及连接的设备有限,适合新手学习使用,如果你需要大量的设备连接,以及数据的传输等,那就需要购买服务了,而且现在有9.9/月的活动,特别划算)。新用户这中间还需要一个开通业务的步骤,需要你填企业名称、企业类型、解决方案场景等信息,企业用户可以填自己企业信息,如果是个人用户随便填即可,填完信息后就可以进到下图界面,点击进入开发中心。第3步:进入开发中心后可以看到如下界面,新用户是没有项目的,点击下面的加号新建项目。这里我们以经典的智能路灯作为例子(可能有人会问为什么又是智能路灯?因为我们的教程是新手向的,就像我们接触一个新语言时输出hello world一样,更因为智能路灯要传输的数据简单又适合教学)填写:项目名称、所属行业、描述(带红色“*”的是必填项),点击确定。项目创建成功,这里我们直接进入项目。(应用ID与应用秘钥,日后做北向开发会用到,日后用到时可以重置秘钥。所以不用担心。当然你也可以先点击下载秘钥保存下来。)第4步:点击:产品开发à新建产品,新用户可能还要多一个步骤,那就是填写厂商信息,还是一样:企业用户填自己企业信息,个人用户随便填即可选择自定义产品(虽然华为物联网开发平台有智能路灯的模板,但我们重点要学的是如何创建自己的自定义产品)然后填写产品信息,产品名一般可以跟项目名一样。协议类型选:CoAP,数据格式:二进制码流。其他选项倒没那么重要。填好后点击创建à点击确定第5步:定义Profile。那么Profile到底是什么呢?官方说法是:“设备的 Profile 文件是用来描述设备类型和设备服务能力的文件。它定义了设备具有的服务能力,每个服务具备的属性、命令以及命令的参数。”新手:???Profile就是配置文件,很多新手刚接触都是比较懵的,其实说白了就是设置云平台与你的设备需要通信哪些数据。我们现在的示例项目是智能路灯,所以我们需要设置最简单的就是2个数据;一个是从我们的设备发送当前环境的光照强度值(Light);二是从云平台发送命令到设备,控制设备上的灯(开或者关)。 好现在我们来看下图,上部分红框里能看到产品的一些基本信息,现在我们点击“新建服务”这里填写服务名称,服务名称可以自己取,如果跟我一样不知道取什么好,不妨像我一样在产品名称后面加上Service(服务),点击新增属性,然后填写相关数据,具体数据如下图,因为该属性是用来接收设备上传上来的环境光照强度。所以我取名为“Light”,单位可以填亮度单位:cd/㎡,这里我用%,具体单位根据项目实际情况而定,也可以不填。访问模式:这里我们把3个都勾上,(E就是当有数据上报时会产生一个事件,可以用来做北向开发,规则制定等,我们先不用管它到底是干什么的,日后用到再说)。接着我们点击添加命令,这里起名为Switch(其实起名最好不要跟Java的关键字起冲突,因为这个云平台后台应该是Java写的)然后界面变成下图这样,接着我们添加下发命令字段。这里类型没有bool类型,所以我们设置为string类型,长度为3(以枚举值里最长的字符串设置)。设置完点击确定。设置完成后点击下图的小勾保存(这勾好像之前就可以勾上)可能这时有人会问底下的“响应命令字段”是干嘛的?不用设置么?这个“响应命令字段”是用来约定当我们云平台下发了命令给设备后,当设备接收到命令,应该返回什么字段给平台,以此来反馈设备确实接收到命令了,如果设置了该“响应命令字段”而设备没回应对应的字段,这样云平台就知道传输过程中很有可能丢包了,这样可以采取其他动作,比如一定时间后还会再次发送一次命令。因为这教程主要面对新手,所以就不设置“响应命令字段”了。这样命令下发后,平台就不用管你的设备到底有没有收到命令了。第6步:搞完Profile后,我们点击“编解码插件开发”à点击“新增消息”设置好消息名,选择数据上报,然后添加字段。(添加响应字段的功能跟上面的“响应命令字段”功能差不多,暂时不过多介绍,先不理它)添加字段如下图,默认值必须输入16进制数点击完成再点击新增消息这里选择命令下发,这边消息名就不能用“Switch”了,因为跟Java语言的关键字冲突了,我名字没起好,大家要注意,既然原先起的名不能用,那这里就填“Button”吧,然后还是点击添加字段。字符串类型,长度为3,默认值:OFF如下图点击“StreetLight_Service”下拉框,然后把属性里的Light拖动出来然后把命令框里的命令也拖动出来是不是很简单,只需要通过图形化方式就搞定了,然后就如下图一样,可能有些新手还是不太懂什么意思,大概就是如下图所示,左侧我们刚刚新增的消息为设备端的数据结构,右侧就是服务器华为物联网开发平台的数据,也就是我们上一步配置的Profile。然后别忘了点击保存和部署。点击确定插件部署时间可能会比较久,只要网络顺畅,稍微等一会就好。插件部署成功第七步:点击在线调测à点击新增测试设备先创建一个虚拟设备,真实设备的添加及连接、调试等,我将在我下一篇博客写出来。创建虚拟设备后直接跳转到下图这个界面,该界面是平台的模拟界面,模拟设备与应用之间的通信。一般环境搭建完成后都先从模拟器来测试是否有错误。红框是我们最主要的几个功能。我们尝试从设备发送数据到应用,从设备模拟器发送数据50(16进制),应用模拟器接收到数据80(10进制),消息跟踪处的警告提示:编码响应结果为空。因为我们没设置编码响应的字段,所以会有警告,我们不用管它。我们从应用模拟器发送命令ON;可以看到命令发送成功,并且设备模拟器也接收到数据:4F4E(16进制ASCII码)好了,现在这个华为IoT平台的环境搭建教程就到这里结束了,现在已经快凌晨2点了,本来还想把真实设备的连接也一起写上,可是太晚了,今天又比较累了,大家谅解谅解,我将在我的下一篇博客上教大家 “NB-IoT如何使用CoAP协议接入华为IoT平台”感兴趣或者觉得有用的不妨关注一下我,如果觉得我哪里写的不对,哪里写的不好的,又或者哪里看着不顺眼的都可以指出来,我都虚心接受哈。有问题需要解答的可以在下方留言,我看到了就马上回你们。知无不言言无不尽。[狗头保命] (ps:在写教程过程中还发现一件有趣的事情,那就是应用模拟器发送命令到设备时,有个数据迟迟没送达,第一次碰到这情况,我以为丢包了,一想这模拟器好真实啊,还会丢包的,然后接着发送2个命令都很快的收到了,就像上图一样,然后我去该虚拟设备的历史命令里查看那个命令详情,发现居然1分28秒才收到数据,然后又回到模拟器,发现确实收到数据了)分享一下物联网俱乐部的 中文版BC95的AT指令集(BC35也能用,指令都差不多)以及移远官方的英文指令集
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签