OneNet平台实践
原文链接:https://blog.csdn.net/w_xiaote/article/details/80109634#comments
登录https://open.iot.10086.cn/,根据个人情况选择个人注册或者企业注册,注册以后登录。
2、创建产品
登录以后点击右上角开发者中心并进入相应的产品列表界面;
点击创建产品在弹出的页面中填写产品的基本信息。行业、类别以及进度可以根据自己的实际情况进行填写;
操作系统和运营商以及联网方式根据自己的实际情况填写,我们的W5500开发板是没有操作系统的,所以选择无。我们的开发板是有线联网在这里我选择是wifi具体选择哪个根据自己的实际情况来定。
设备接入方式以及接入协议的选择要根据自己的项目来判断,有公有和私有两种,公有协议有EDP、HTTP、MQTT等,私有协议有RGMP等。在该实验中我们要使用HTTP协议。
(注:在oneNET的首页的左边有一个开发文档,里面有关于oneNET使用的较为详细的指南,用户可以通过该文档更加深入的了解OneNET的使用方法。)
3、添加设备
注册登录并建立自己的产品以后进入产品页面选择设备管理点击添加设备开始给自己的产品添加设备。
(1)点击产品后进入一下页面
(2)点击设备管理后进入下面的界面
根据提示填写信息
4、在设备下添加数据流,点击数据流模板进入下面的界面
开始添加数据流
添加结果如下图:
5、现在关于oneNET的注册以及产品创建已经基本做好了,下面就是要通过代码实现数据的上传。
接入流程:
创建产品—创建设备—建立HTTP连接—数据点上传—查看数据流—应用生成
代码实现:
该实验是W5500接收DHT11的温湿度数据然后上传到oneNET平台显示,所有将我们提供的例程打开后进入device.c里面修改设备的IP地址网关等信息,然后回到主函数修改产品的APIKEY和设备ID以及数据流ID(数据流名称);具体的路径如下:
APIKEY: 点击自己创建好的产品进入在产品概况
设备ID: 点击自己创建好的产品进入设备管理
数据流ID:点击自己创建好的产品进入数据流模板
找到以上信息后在代码中修改为自己的数据信息
还需要注意的是我们的开发板没有DHT11芯片,所以需要外接一个温湿度检测设备,该实验定义的是PA2管脚来连接外部的温湿度传感器,用户可根据自己的情况在DHT11.c中做相应的修改。
一切就绪后编译下载然后打开串口助手可查看相应的过程,如下图
开发板与平台建立HTTP连接以后就开始上传DHT11检测的温湿度数据没一分钟上传一次,串口将温湿度打印出来。
此时我们可以登录自己的账号打开设备管理,然后点击设备下的数据流管理通过查看设备下的数据流来确认数据是否上传。
如下图:
进入数据管理后可查看数据的显示图:
温度显示
湿度显示
有上图可见我们开发板接收到的温湿度数据已成功上传到平台,此时可根据上传的数据添加自己的应用和触发器。
6、创建应用
进入平台的产品点击应用管理—创建应用
创建以后点击编辑进入应用编辑界面
编辑页面如下图,在该页面可进行应用编辑,将想要添加的应用拖进编辑区,例如本实验中的仪表盘。
拖动仪表盘到自己的编辑区后点击编辑区的仪表盘会出现一下信息框,根据自己的实际情况填写设备ID数据流ID等信息。
根据提示创建自己的仪表盘如下:
创建好后点击保存预览就可以实时显示自己上传的温湿度数据。
7、创建触发器
点击触发器管理了进入触发器管理那页面,在该页面点击添加触发器来添加自己的触发器。
该实验是添加一个温度报警触发器,就是当温度达到30°C的时候平台回想用户指定的邮箱或者路径发送报警信息。
点击添加后弹出信息框,根据自己的实际情况填写。如下:
温度超过设置的值后平台会向用户填写的邮箱发送邮件如下:
到这整个实验就完成了,该实验较为复杂的部分就是想平台上传数据的部分,HTTP连接部分我们的开发板有好的例程可以用,而温湿度上传部分是在建立HTTP连接以后开发板接收DHT11的数据然后打包发送到oneNET平台,这个打包的过程有严格的格式要求,具体的要求在oneNET的官网有详细的介绍,用户感兴趣可以登录官网找到开发者文档的公开协议产品指南的API部分,该部分有关于数据点上传较为详细的解释。
OneNet平台实践的更多相关文章
- OneNet平台初探成功
1.经过半个月的研究,终于成功对接OneNet平台,实现远程控制LED灯的亮灭 2.在调试的过程中也遇到了很多问题,做一下总结 3.硬件:STM32F103C8T6的最小系统板,ESP8266-WiF ...
- 干货 | 质量保障新手段,携程回归测试平台实践 原创 Sedro 携程技术 2021-01-21
干货 | 质量保障新手段,携程回归测试平台实践 原创 Sedro 携程技术 2021-01-21
- 利尔达NB-IOT模块对接移动onenet平台步骤
1. 首先登陆浙江移动onenet网站,http://openiot.zj.chinamobile.com/,进入右上角的开发者中心,然后才能看到创建产品 2. 填写产品的信息,其他信息按照个人实际填 ...
- 华为云MVP:来自工业制造领域的微服务与云平台实践
[摘要] 首先,和大家先聊聊的是为什么微服务.DevOps和云计算会在各个产业大行其道;其次,再谈谈微服务架构设计有那些自己独特的设计思想,和传统的SOA有什么区别;最后,我们再一起看一看在工业领域云 ...
- vivo浏览器的快速开发平台实践-总览篇
一.什么是快速开发平台 快速开发平台,顾名思义就是可以使得开发更为快速的开发平台,是提高团队开发效率的生产力工具.近一两年,国内很多公司越来越注重研发效能的度量和提升,基于软件开发的特点,覆盖管理和优 ...
- YY游戏私有云平台实践 (转自InfoQ )
作者 风河 发布于 2016年1月13日 | 讨论 编者按:YY游戏的页游早在2013年就在云平台上运行,其Cloud 1.0已经支撑几十万的同时在线用户.日前,YY游戏云平台进行了Cloud 2 ...
- Jmeter+jenkins接口性能测试平台实践整理(一)
最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略. 一.Jmeter+jenkins+Shell+t ...
- 搜狐云景paas平台实践之路
前言: 搜狐云景作为搜狐的paas平台,在2014年5月22日的云计算大会上正式发布了公测.初测,注册用户必须先申请邀请码参与公测会赠送用户100元电子券,经过实名认证之后会再赠送100电子券,目测可 ...
- 中国移动物联网ONENET平台数据本地采集工具
吧从中国移动物联网平台上接收的数据 实时按天保存为CSV文件或者是SQL SERVER数据库中方便进行数据处理 还可设置显示最大值,最小值,报警值,报警推送,tts语音报警等贴心功能
随机推荐
- DDR3 DDR4 FPGA实现
基于7系列.virtex6等xilinx器件的MIG ip核设计DDR3/4读写控制器,以及基于arria 10器件的DDR4读写控制:DDR3/4的设计,设计的关键点是提高DDR3/4的访问效率,目 ...
- B-概率论-条件概率
目录 条件概率 一.条件概率简介 二.条件概率推广 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblo ...
- .net Core 发布服务
.net core 发布服务 准备好的文件可以通过下面的几个命令进行操作 1.创建Service sc create "服务名" binPath= "文件路径+文件名&q ...
- LeetCode_844-Backspace String Compare
输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...
- js通过方法返回对象的注意点
问题:js通过方法返回一个字面量对象和返回一个提前已经定义好的字面量对象有区别吗? 答案:有 我们先来看看第一种情况,fun1方法返回一个提前没定义的字面量对象,然后通过调用方法返回三个对象,分别是o ...
- python3爬虫环境搭建
安装python3 sudo apt-get install python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev ...
- cocos2d-x 系统学习cocos(2) 交互
交互 玩游戏的时候,我们需要用输入设备和游戏进行交互,那么游戏需要对玩家做出相应,比如说按下键盘的上下左右,角色就朝着对应的方向移动,按下技能键,角色就释放技能 键盘监听 响应 cocos2d-x中要 ...
- Unreal Engine 4 系列教程 Part 1:入门
原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:Shuchang Liu 本篇教程将引导你安装U ...
- File类&递归
File类1.什么是file类Java中处理操作系统文件的类.2.file思想创建一个File对象,代表了操作系统的具体的一个文件(文件,文件夹)然后通过这个File对象就可以操作该文件:删除该文件, ...
- LIS&&LCS&&LCIS
LIS #include<bits/stdc++.h> using namespace std; int n,a[100005],b[100005],ji; int main(){ cin ...