查看: 21833|回复: 5

【教程】OneNET平台API调试及其应用

[复制链接]

1

主题

13

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2019-8-19 09:46:03 | 显示全部楼层 |阅读模式
本帖最后由 邓嘉 于 2019-8-19 20:28 编辑

OneNET平台API调试及其应用
作者:邓嘉   时间:2019-8-19    文档版本:0.1



【前言】
           1.帖子稍长,尽可能覆盖需要注意的面。接下来将进行讲解。
           2.OneNET平台支持多种协议API,有MQTT、LwM2M、EDP、Modbus、TCP等。本帖使用LwM2M,进行API调试及其应用讲解,其它协议API
           使用方法相差无几。
           3.OneNET物联网开放平台,面向应用层提供丰富的API。使用好这些API,可以大大减轻开发者的开发负担。

【准备】

准备
教程示例使用
备注
OneNET开发者账号
帖主账号
未注册的小伙伴

注册时可使用帖主的邀请码122

硬件设备
OneNET研发的NB-IoT开发板
对接OneNET平台并订阅成功
添加产品
NB-IOT物联网套件产品
联网方式:NB-IOT;

设备接入协议:LwM2M

添加至少一个设备
M5310-A
创建的产品中添加你的硬件设备;

开启自动订阅

应用开发软件
AS 2.2
APP、微信小程序、Web、桌面应用程序等

                                                        1.OneNET开发者账号
OneNET开发者账号.png
                                                        2.硬件设备
OneNET开发板NB板.png
file:///C:/TMP/msohtmlclip1/01/clip_image005.jpg
                                                               (1) 开发板免费申请
                                                               (2) 开发板购买 (最近促销活动,降价160元后只要239元哦,入手的好时机!)
                                                               (3) 还有很多家的板子都可以连接入OneNET (但是各方面的支持都不如OneNET官方)
                                                         3.添加产品
添加产品1.png

添加产品2.png

file:///C:/TMP/msohtmlclip1/01/clip_image007.jpg
file:///C:/TMP/msohtmlclip1/01/clip_image009.jpg
                                                         4.添加设备
添加设备1.png

添加设备2.png

file:///C:/TMP/msohtmlclip1/01/clip_image011.jpg
file:///C:/TMP/msohtmlclip1/01/clip_image013.jpg
【API调试】         
          1. 开发者中心API调试功能
开发者中心API调试功能.png
file:///C:/TMP/msohtmlclip1/01/clip_image015.jpg
          2. OneNET开发文档
                     OneNET开发文档-->应用开发指南 --> API --> LwM2M (写得很详实,可以先好好看一看,大概了解都有什么内容)
OneNET开发文档.png
file:///C:/TMP/msohtmlclip1/01/clip_image017.jpg
          3. 调试
                     *API有很多,下面将就几个常用的API进行调试示例。推荐还可以使用Postman进行测试,但是本帖只讲解平台本身就有的API调试功能。
                     *API状态返回码,很重要,可以迅速定位错误。每当状态不为0,请仔细查看返回状态码表,对照定位错误。
API返回状态码.png
file:///C:/TMP/msohtmlclip1/01/clip_image019.jpg
                           (1)查询单个设备
API_查看单个设备.png
file:///C:/TMP/msohtmlclip1/01/clip_image021.jpg
                             *按照文档说明:
                             1)请求方法选择GET;
                             2)复制该URL,把device_id替换成设备ID。填写时注意,URL前后不要留空格;
查看设备ID.png
file:///C:/TMP/msohtmlclip1/01/clip_image023.jpg
                             3)查看APIKey,并填写
查看APIKey.png
file:///C:/TMP/msohtmlclip1/01/clip_image025.jpg
                             4)点击执行请求,可以看到以Json形式返回了,对应设备ID的设备相关详细信息。
API_查询单个设备_调用结果.png

                     (2)即时命令-读设备资源
API_读设备资源.png

file:///C:/TMP/msohtmlclip1/01/clip_image029.jpg
                             *多了url参数需要填写。按照表格,将必须填写的填写完,不必须的,按需求填写。
                             *此处示例读取的时设备上温度传感器的当前感知数据。
API_读设备资源_调用结果.png

file:///C:/TMP/msohtmlclip1/01/clip_image031.jpg
                             *以Json形式返回了,对应设备温度传感器感知的温度35℃。
                     (3)即时命令-写设备资源
API_写设备资源.png

file:///C:/TMP/msohtmlclip1/01/clip_image033.jpg
                                     此API为POST请求,调试的时候注意切换调试方式。多了http参数需要填写,且必须为Json格式。按照表格,将必须填写的填写完,不必须的,按需
                                     求填写。
API_写设备资源_调试结果.png

file:///C:/TMP/msohtmlclip1/01/clip_image035.jpg
                                     写设备为1,则控制开发板上LED亮。

                     (4)小结
                                    通过以上三个示例讲解,想必您已经可以举一反三,融会贯通了。其它API的调试都是一样的,只要您看清楚开发文档的要求,把该填的填好,就可以
                             很好的应用丰富的API资源。

【API应用】
                 *能发起GET和POST请求的地方,大部分都可以应用OneNET平台众多的API。例如:APP、微信小程序、Web、桌面应用程序等。
                 *本帖以一个最简单的安卓APP例子,来讲解OneNETAPI的实际应用,此处涉及安卓开发知识,不详细讲解,贴出与API调用相关核心代码。
                 *使用到了Gson以及Json。
添加Gson及okhttp3依赖.png
file:///C:/TMP/msohtmlclip1/01/clip_image037.jpg
                 *为了写教程开发的简易APP,未经雕琢,仅供参考。
                 *APP功能:开发了一个界面,展示温度、湿度、光照强度;一个按钮,控制开发板上LED亮灭。

                1. 封装数据
                       *使用Gson对调用API后返回的Json进行解析。
                       *创建类,封装Json。这样每条数据都对应生成一个对象,易于数据操作。(Gson自带工具,直接将Json生成对应的类)
封装数据类.png
数据类.png

file:///C:/TMP/msohtmlclip1/01/clip_image038.png
file:///C:/TMP/msohtmlclip1/01/clip_image040.jpg
                2. 开发工具类
                       *将不同功能API的调用网络请求,封装成不同功能的工具类。需要某功能时,只需创建相应工具类对象,传入相应参数即可。
                       *APP开发了两个工具类:获取传感器值;LED状态反转。
工具类.png
file:///C:/TMP/msohtmlclip1/01/clip_image041.png
file:///C:/TMP/msohtmlclip1/01/clip_image043.jpgfile:///C:/TMP/msohtmlclip1/01/clip_image045.jpg
读取传感器数据工具类.png LED状态反转工具类.png

                3. 调用API
                       *使用okhttp3发起GET和POST请求调用OneNET相关API
Android使用okhttp3发起网络请求调用OneNET的API.png

                4. APP调用API效果展示
APP调用API效果展示.jpg



file:///C:/TMP/msohtmlclip1/01/clip_image047.jpg
【总结】
                        其实API的使用很简单,对于有一定基础的小伙伴,半个小时甚至十五分钟就可以搞定。
                最后,还是要感谢OneNET,带给我太多的改变,相信各位小伙伴也感同身受。OneNET丰富的活动以及开发者福利,不仅造福了广大开发者,而且使大家对物联             网的理解进一步加深,让大家更加团结,在物联网的道路上更加坚定地走下去。
                希望,OneNET能推出更多的活动与福利,开发者们也都愿意为了OneNET的繁荣贡献一己之力。

                如果觉得看不清,请下载 OneNET平台API调试及其应用.pdf (1.06 MB, 下载次数: 2317)
回复

举报

95

主题

578

帖子

2212

积分

金牌会员

Rank: 5Rank: 5

积分
2212
发表于 2019-8-20 08:27:33 | 显示全部楼层
内容很详实,楼主用心了
1、OneNET交流群6:887624121
该群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2021-9-3 23:15:13 | 显示全部楼层
API调试主要是用来解决哪些问题呢?

1

主题

13

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2020-2-27 20:19:05 | 显示全部楼层
竹林清风 发表于 2020-1-9 12:19
什么时候能够出一个官方的python版本的API?编程小白玩起来还是能降低难度的。

...

调用OneNET平台的API,和你使用哪门语言无关。你只需要会使用你当前使用的编程语言发起GET和POST请求,就可以放肆的使用OneNET的API.。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2020-1-9 12:19:02 | 显示全部楼层
什么时候能够出一个官方的python版本的API?编程小白玩起来还是能降低难度的。

1

主题

13

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2019-8-20 10:29:43 | 显示全部楼层
cdd 发表于 2019-8-20 08:27
内容很详实,楼主用心了

谢谢東東姐的支持,分享自己的一点小心得。后续会继续分享更多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表