怎样通过已接入的MQTT电源设备发布平台向平台发布数据

C版本 支持协议 更新历史 下载链接 MQTT&CCP :1.增加对接受数长度的判断,防止recv buffer接收溢出 2.保活重连清除pingMark标志,保证重连后能正常触发保活机制 3.httpclient_recv()增加对接受超时的...
设备状态回调通知IoT Hub可以将用户的设备状态信息主动通知用户服务端。目前提供两种方式: topic方式 回调地址方式 服务器会把设备状态数据发送到您指定的topic主题,可以通过配置规则引擎把数据推送到mns服务器队列...
本篇文档主要讲杭州节点设备端SDK跨平台移植文档。SDK代码结构 common目录主要是常用的utility库。example目录是针对os平台的demo。include目录包含ccp和mqtt对外的头文件。platform目录包含os平台需要实现的接口...
目前华东2节点不支持该功能 本文档主要讲述使用共享中心的两种主要场景。用户可以基于共享中心实现设备跨厂商互联互通。共享中心都是基于Topic进行共享的。场景二:设备数据共享基于共享中心可以实现设备数据共享,...
目前华东2节点不支持 本文档主要讲述使用共享中心的两种主要场景。用户可以基于共享中心实现设备跨厂商互联互通。共享中心都是基于Topic进行共享的。场景一:设备控制共享基于共享中心可以实现设备控制共享,这样...
SDK使用准备登录IoT控制台获得相关配置信息。创建产品得到productKey(产品key)和productSecret(产品密钥);选择设备管理,在产品下添加设备得到deviceName(设备名称)和deviceSecret(设备密钥);查看设备的Topic ...
名称 类型 是否必须 描述 accessKeyId String 必须 阿里云的Access Key ID accessKeySecret ...阿里云的Access Key Secret ...Do something below....SDK调用示例1、实例化一个请求类,根据调用API的不同版本实例化相应的请求...
Python SDK使用说明公共参数 名称 类型 是否必须 描述 accessKeyId String 必须 阿里云的Access Key ID accessKeySecret ...阿里云的Access Key Secret ...sudo pip install aliyun-python-sdk-iot=3.0.0在Python文件中...
JAVA SDK使用说明公共参数 名称 类型 是否必须 描述 accessKeyId String 必须 阿里云的Access Key ID accessKeySecret String 必须 阿里云的Access Key Secret accessKeyId和accessKeySecret 在阿里云官网控制台获取...
编译配置项说明请先下载最新版本设备端C语言SDK SDK下载 解压之后,打开编译配置文件make.settings,根据需要编辑配置项: PLATFORM=linux/指定编译平台名称 PLATFORM_CC=gcc/指定编译器 如:arm-none-linux-gnueabi-gcc...
准备工具 IAR Embedded Workbench for ARM,是一个针对ARM 处理器 的集成开发环境,它包含项目管理器、编辑器、C/C++编译器和ARM 汇编器、连接器XLINK和支持RTOS 的调试工具C-SPY。用户可以到IAR公司的网站IAR下载,...
准备工具 支持FreeRTOS OS的开发板,本文档以MTK WIFI芯片MT7687为例。SecureCRT,用来抓取开发板的uart log,用户可以从SecureCRT官网下载。Linux编译环境,用来编译IoT SDK。FlashTool工具,用来download bin文件...
GPRS使用场景1 目前我们和中兴物联、深圳有方、深圳广和通合作,把IoT SDK集成到蜂窝模组芯片里面,对MCU提供MQTT AT指令。这种方式好处是:一方面协议运行更稳定,另一方面对MCU资源要求更低。...
需准备的工具或物料 QCA4010开发板高通ART2工具QCA4010 SDKSecureCRT/PUTTY:用于抓取串口日志USB转RS232串口线 说明 本文档介绍IoT SDK如何在高通QCA4010 threadx平台运行,同样适用于高通QCA平台。...
本文以Linux下C语言版SDK为例,演示如何快速体验让设备连接到阿里云IoT,并通过MQTT协议的PUB/SUB实现一个简单的M2M通信过程. 第一步:在控制台中创建设备登录IoT控制台,创建产品及在产品下创建设备和Topic类,具体步骤...
准备工具 KEIL工具 版本是Keil V4.10SecureCRT,用来抓取开发板的uart log,用户可以从SecureCRT官网下载。NL6621 WIFI开发板,可以通过在淘宝购买。USB转RS232串口线,可以通过淘宝购买。移植说明 ...
杭州节点(本节点不再扩展功能,建议使用华东节点)设备认证流程 下载IOT根证书 pubkey_CA(点击下载),建议使用TLS1.2指定阿里云MQTT服务器地址(参考demo)进行通信我们采用TLS单向认证建立连接,客户端验证服务器通过...
杭州 深圳 北京 存储定价 数据存储 元/GB·月 0.07 0.06 0.07 请求定价 API请求 元/次 数据操作:0.10元/千次其他操作:0.01元/万次 同杭州 同杭州 数据取回 元/GB 0.06 同杭州 同杭州 数据删除 元/GB 未满30天:0....
ARMS在部署之初主要部署了杭州Region。为了快速满足异地Region的用户需求,不同Region的用户数据通过跨Region传输到ARMS杭州Region的计算资源和存储资源。随着用户日益增加,以及对监控响应时效的逐渐提升,ARMS已...
未解决问题?到论坛提问试试吧!
你可能感兴趣中国领先的IT技术网站
51CTO旗下网站
IBM Watson物联网平台功能全解析
IBM Watson物联网平台可提供物联网设备和数据庞大的应用程序来访问,可以助力应用程序、可视化仪表板和移动物联网程序的快速编写与分析。可以执行强大的设备管理操作,并存储和访问设备数据,连接各种设备和网关设备。还通过使用 MQTT 和 TLS,提供与设备之间的安全通信。开发者可以通过本文章了解到IBM Watson物联网平台的功能、体系结构、安全、分析等细节。
作者:王雪燕来源:51CTO| 14:45
【原创稿件】物联网行业方兴未艾,物联网技术也越来越强大,基于各种嵌入式软硬件平台、通过通信协议(MQTT、HTTP),实现万物互联的同时还整合AR/VR、人工智能、云平台、体感交互等炫酷实用&黑科技&,使得人们对于物联生活产生无尽的想象。但炫酷背后,需要方方面面的支持。IBM凭借Watson强大人工智能入住中国物联网领域,IBM
Watson物联网平台的落地,将会给中国物联网行业注入新鲜的血液。开发者可以通过本文章了解到IBM
Watson物联网平台的功能、体系结构、安全、分析等细节。
一:IBM Watson物联网平台的概念及功能概述
Watson物联网平台可提供物联网设备和数据庞大的应用程序来访问,可以助力应用程序、可视化仪表板和移动物联网程序的快速编写与分析。可以执行强大的设备管理操作,并存储和访问设备数据,连接各种设备和网关设备。还通过使用
MQTT 和 TLS,提供与设备之间的安全通信。()。
IBM Watson物联网平台从四大重要方面进行构建,分别连接、信息管理、分析、风险管理:
连接是所有IBM
Watson物联网平台服务的起始点。连接设备、创建应用程序、控制设备以及与第三方服务交互全部通过连接功能去实现。对于网关部分,在使用时可将设备连接到Watson物联网平台,一旦不使用网关时设备将无法连接到因特网。网关设备具有设备和应用程序的功能,网关能像设备一样接收命令和发送设备数据,还能像应用程序一样将命令发送到所连接的其他设备。对于那些无法直接连接到因特网的设备可连接到网关设备,其设备数据就可发送到网关设备,在发送给IBM
Watson物联网平台服务。针对设备管理部分,通过组合设备管理 API
以及设备上安装的设备管理代理程序,提供了设备管理功能。受管设备可执行设备管理操作,这些操作可通过主Watson物联网平台仪表板触发。通过设备管理,可重新引导、下载和安装固件更新,还可远程将设备重置为出厂设置,所有这些操作都从Watson物联网平台用户界面执行。在Watson物联网平台中构建了第三方服务集成,包括对
The Weather Company 天气位置服务(可用于查找设备所在位置的当前天气)的支持。
信息管理是设备数据的存储和查看,并将Watson物联网平台与其他服务集成。通过使用Watson物联网平台上次事件高速缓存
API,可检索设备上次所发送的事件。这在设备联机或脱机的情况下都适用,这样不管设备的物理位置或使用状态如何,您都可检索设备状态。对于最多 365
天之前发生的任何特定事件,可检索设备的上次事件数据。可以存储Watson物联网平台服务中的设备事件数据以供将来使用。要执行深度分析以获取对该数据的洞察,数据存储是非常关键的第一步。例如,可跟踪较长时间段内的更改,存储数据集,以用于功能强大的分析工具(包括用于
Watson API 和认知计算)。
分析是通过使用Watson物联网平台仪表板可视化实时设备数据。Watson物联网平台信息管理在设备所发送的数据到达Watson物联网平台服务后对其进行控制。信息管理包括数据存储和转换。可以通过使用仪表板卡,可视化和显示实时设备数据。仪表板卡实时监视和显示设备数据,这样可以跟踪关键设备或设备数据。这些可视化内容显示在主Watson物联网平台仪表板上,便于快速访问实时设备数据的上下文和状态。从海量物联网数据中获得洞察,作出智慧决策,优化运营。应用实时分析,监视当前状况,作出相应的响应。对结构化和非结构化数据进行认知型分析,了解状况,通过各种选项进行推理,并随着情况的不断变化进行学习。结合背景环境,对实时物联网数据进行分析,获得前所未有的新型业务洞察,提高运营效率,实现产品和服务创新。
风险管理是通过对用户和应用程序的访问控制来配置安全的连接和体系结构。Watson物联网平台的体系结构旨在防止设备冒充其他设备,以维护设备数据的完整性。设备通过使用只有您自己知道的客户机标识和认证令牌组合来连接到Watson物联网平台。注册设备或生成
API密钥后,认证令牌将使用加密盐 (Salt) 进行加密并散列化以维护凭证的安全性。完全支持通过 TLS V1.2 进行连接。
二: IBM Watson物联网平台的体系结构
分析功能是从Watson物联网平台Analytics Real-Time Insights 服务合并进来的。如Watson物联网平台组织用作现有 IoT
Real-Time Insights 实例的数据源,那么在迁移现有 IoT Real-Time Insights 实例后,才会启用 Cloud
Analytics 和 Edge Analytics。继续使用 IoT Real-Time Insights
仪表板来满足分析需要,直到迁移完成。有关更多信息,请参阅 IBM developerWorks 上的 IBM Watson IoT Platform
博客以及现有 IoT Real-Time Insights 实例仪表板。Watson物联网平台通过使用API
和消息传递协议与应用程序和设备通信。Watson物联网平台仪表板作为前端用户界面进行连接,以简化平台内的操作。可以存储设备数据或将其用于分析解决方案。
三:IBM Watson物联网平台的安全性
作为基于云的服务,IBM Watson物联网平台嵌入了安全性作为其体系结构的重要方面。关于保护组织数据具体如下:
合规性:用于为安全性设置基准的外部标准。
认证:确保正尝试访问您组织信息的用户、设备或应用程序的身份。
授权:确保用户、设备和应用程序有权访问您组织的信息。
加密:确保数据仅可由授权方读取,无法进行拦截。
四:IBM Watson物联网平台的管理
IBM Watson物联网平台的管理需要依次连接设备、网关、应用程序、Cloudant 历史服务和Message Hub
历史服务,之后还需要创建模式,管理用户访问权,用户、应用程序和网关角色,集成外部服务,区块链集成。
五:IBM Watson物联网平台的数据分析
IBM Watson物联网平台的数据分析分为可视化实时数据、云分析和边缘分析。
如上图,创建板和卡可创建并共享自己的仪表板,用于实时可视化设备数据。通过使用板和卡,可以通过图形方式可视化来自一个或多个设备的数据集值,以快速概览数据和增进对数据的了解。创建板和卡,以将数据显示为原始数字、实时图形、量表等。向板添加成员,以便与组织中的其他用户共享。排列卡并添加解释性文本分隔符,以优化呈现。
Watson物联网平台云分析,可指定基于实时设备数据并且在满足条件时将触发警报和可选操作的规则条件。例如,可以创建一条规则,用于确保在设备中断或设备温度达到峰值时,向用户设备上的仪表板发送警报,并向管理员发送电子邮件。
IBM Watson物联网平台边缘分析环境一般体系结构
通过边缘分析,可将分析规则触发过程从云移至支持边缘分析的网关,通过执行靠近设备的分析处理,可显著降低上传到云的设备数据流量。设备将其数据发送到支持边缘分析的网关,在该网关中边缘分析规则对数据进行解析。根据规则及其操作,关键数据和警报可能会发送到IBM
Watson物联网平台,在网关上触发警报,或者写入网关本地的文本文件。
六:IBM Watson物联网平台的使用样本
Node-RED 设备模拟器:Node-RED 是一款以全新且有趣的方法,将硬件设备、API
和在线服务连接在一起的工具,可以在您自己的环境中运行Node-RED 实例或将其用作Bluemix应用程序。
可视化样本:IBM Watson物联网平台组织中已注册设备可视化实时数据和历史数据。
Quickstart:其是一种开放式沙箱,可用于将设备快速连接到IBM Watson物联网平台。如果设备支持 MQTT 消息传递协议,那么可将其轻松连接到
Quickstart。
七:IBM Watson物联网平台的平台开发
有多种方法可以设置设备并将设备连接到IBM Watson物联网平台,然后检索并分析感兴趣的实时数据。提供的信息可帮助您执行以下任务:
创建和管理应用程序
创建、连接和管理设备
扩展设备管理
创建和管理网关
检索设备数据
八:针对应用程序、设备、网关的开发
应用系统开发:可以使用以下受支持的协议和标准,在IBM Watson物联网平台中构建和管理应用程序
MQTT 消息传递协议
设备开发:可以使用以下受支持的协议和标准,在IBM Watson物联网平台中构建和管理设备。
MQTT 消息传递协议
Embedded C
网关开发:如果设备无法直接连接到因特网,请使用提供的信息构建网关设备来检索数据,并将数据发送到IBM Watson物联网平台组织中的应用程序。 IBM
Watson物联网平台中的网关开发支持 MQTT 消息传递协议。
九:关于IBM Watson物联网平台的故障诊断
如遇到与IBM Watson物联网平台的连接意外断开,尝试连接到IBM Watson物联网平台时,设备或应用程序收到错误。可能有两个设备尝试使用相同的
clientID 和凭证进行连接。每个 clientID 仅允许一个唯一连接。不能有两个并行连接使用相同的标识。应用程序可共享相同 API 密钥,但 MQTT
需要客户机标识始终唯一。可以通过确认不会有两个设备尝试使用相同凭证进行连接来解决此问题。
如遇到设备从IBM Watson物联网平台的连接意外间歇性断开,设备重新连接,但很快再次意外断开连接。可能是因为您在连接时,所使用的 MQTT ping
选项值太低,这导致看上去像连接超时。例如,如果客户机 MQTT 设置不正确,那么不会及时收到 ping,并且连接会关闭。可以通过确认为连接正确设置 ping 和
KeepAlive 参数来解决此问题。
如果在使用IBM Watson物联网平台时遇到问题或疑问,可通过搜索信息或在论坛中进行提问来获取帮助。还可开具支持凭单。
【编辑推荐】
【51CTO原创稿件,合作站点转载请注明原文作者和出处为】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点原创热点头条头条
24H热文一周话题本月最赞
讲师:41539人学习过
讲师:30391人学习过
讲师:51801人学习过
精选博文论坛热帖下载排行
本书全面介绍了Linux编程相关的知识,内容涵盖Linux基本知识、如何建立Linux开发环境、Linux开发工具、Linux文件系统、文件I/O操作、设备文...
订阅51CTO邮刊Air800(GPRS+GPS模块)连接OneNet平台 - 天生爱做梦 - CSDN博客
Air800(GPRS+GPS模块)连接OneNet平台
Air800介绍
Air800是上海合宙通信科技有限公司推出的一款支持GPRS+北斗+GPS的三合一模块。其开发方式为Luat,Luat = Lua + AT, Luat 是合宙(AirM2M)推出的物联网开源架构,依托于通信模块做简易快捷的开发,将传统的AT命令用Lua封装成API,并提供各种功能应用的demo,大大减少用户的开发成本。详细资料参见:
PS:一开始准备用安信可的A7模块来实现将GPS上传到OneNET平台上,但是实际开发中发现各种功能都需要自己去实现(MQTT的实现让我头疼好久)并且还得外接一个MCU,大幅度增加了开发成本和开发时间,所以不得不放弃这种方案。在后续的选型时,无意间在淘宝上看到Air800,不需要外接MCU和丰富API让我心动不已,于是买了一块来尝鲜,在开发过程中,不得不说Luat开发方式对开发者很友好,省略了很多自己造轮子的过程,所以在这儿也推荐一波。
OneNet平台介绍
OneNET作为中国移动通信集团推出的一个专业物联网开放云平台,提供了丰富的智能硬件开发工具和可靠的服务,助力各类终端设备迅速接入网络,实现数据传输、数据存储、数据管理等完整的交互流程。
支持公开协议包括EDP、MODBUS、MQTT以及HTTP等多种协议。详细资料参见:
Luat封装了很多的实用API,所以在实现一些功能的时候就无需自己造轮子,直接调用其API即可
本例通过MQTT将Air800获取到的GPS坐标发送到OneNET平台并显示。
MQTT协议是一个面向物联网应用的即时通信协议,使用TCP/IP提供网络连接,能够对负载内容实现消息屏蔽传输,开销小,可以有效降低网络流量。OneNET平台采用的是标准MQTT协议,所以使用合宙提供的MQTT API就能很方便的连上。只需要在OneNET上生成一个应用方可得到MQTT鉴权
Q1:MQTT连接鉴权时,Payload中ClientIUserNUserPassword分别填写什么?
A: ClientIdentifier: 创建设备时得到的设备ID,为数字字串;
UserName: 注册产品时,平台分配的产品ID,为数字字串;
UserPassword: 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串。
OneNET平台优势之一可以利用数据点快速生成应用
要想让数据在OneNET平台上以数据点形式展现出来就得按照OneNET协议上传数据,使用OneNET平台的mqtt协议调试工具可以看到payload以json格式发送,并在json前面加0x01,0x00,0x20(这个字节为json长度),payload格式发送。
json格式如下
"datastreams": [
"id": "temperature", //数据流名称或数据流模板名称
"datapoints": [
"at": "T00:35:43", //上传数据点时间,可选。如果为空,则设备云会取当前时间。
//如果存在其格式必须为"YYYY-MM-DDThh:mm:ss"的形式(例如:T22:31:12)
"value": 42
//上传数据点值
"at": "T00:55:43",
"value": 84 //上传数据点值
"id": "key", //数据流名称或数据流模板名称
"datapoints": [
"at": "T00:35:43",//上传数据点时间,可选。
"value": {…}//上传数据点值
"at": "T00:35:43",
"value": {…}//上传数据点值
本例中的json格式为
"datastreams": [
"id": "gps",
"datapoints": [
"value": {
"lon": 106.584,
"lat": 29.5707,
"ele": 100
可以看到对应不同的数据点,只需要修改“id”和“datapoints”。
所以将GPS数据发送到OneNET平台上,最关键点将获取到的GPS数据打包为OneNET数据点格式
local function msgPack()
local torigin =
datastreams =
id = "gps",
datapoints =
lon = bgps.returnBlng(),
lat = bgps.returnBlat(),
ele = "100"
local msg = json.encode(torigin)
local len = msg.len(msg)
buf = pack.pack("bbbA", 0x01,0x00,len,msg)
GPS读取数据处理
function split(s, sp)
local res = {}
local temp = s
local len = 0
while true do
len = string.find(temp, sp)
if len ~= nil then
local result = string.sub(temp, 1, len-1)
temp = string.sub(temp, len+1)
table.insert(res, result)
table.insert(res, temp)
return res
local function gpsGet()
if gps.isfix() == true then
local gpsStr = gps.getgpslocation()
local temp = split(gpsStr,",")
blng = temp[2]
blat = temp[4]
if gps.isfix() == false then
sys.timer_start(qrygps,100)
完整代码整理后会放出这里写图片描述
我的热门文章

我要回帖

更多关于 机电设备发布平台 的文章

 

随机推荐