主页 > 云主机 > > 正文

域名交易_网站建设网站_新注册优惠

浏览:

在本系列的第一部分中,我们开发了一个简单的通用接口,用于将设备消息从SQLAnywhere数据库发布到HANAIoT服务。然而,实际的devices消息是一个静态的、手写的JSON负载。在这篇文章中,我们将模拟一个实际的收集环境,并直接从数据库生成设备消息。

在这个演示中,我们将假设SQLAnywhere数据库正在连接到机器的设备中运行。机器有三个必须监控的电压传感器。电压水平每5秒记录一次。一般来说,电压变化不是很快,因此为了减少通信量,在正常运行期间,每个传感器只有一分钟的平均值被发送到云中。

为了模拟这一点,我们必须在物联网驾驶舱中设置设备和消息。

1。创建一个新的设备类型,称为MyDeviceType.

2。创建一个新消息,称为VoltageReading.

设备类型:MyDeviceType

方向:来自设备

字段:

sensorID–integer

voltageLevel–float

averagePeriod–string

ts–long

3。创建MyDeviceType的新设备实例,名为MyDeviceInstance.

创建新设备实例时,spark大数据,驾驶舱将提供OAuth访问令牌。复制并粘贴到安全的地方,因为它将用于与物联网服务通信。

继续本系列的第一部分,打开交互式SQL实例并连接到SQL Anywhere数据库。

我们将定义一个简单的表来保存传感器读数。执行下面的SQL语句。

我们需要一些东西来模拟被轮询的传感器的电压水平。我们可以使用外部脚本语言(如Python)来实现这一点,但为了保持简单,我们将使用sqlanywhere事件来模拟它。事件是可以响应事件或按计划执行的SQL块。我们将为每个传感器创建一个单独的事件。

几分钟后,执行以下查询以验证是否正在将模拟传感器读数添加到数据库:

我们希望保留实际读数,以防需要,但目前我们只计划发送一分钟的平均值。无需存储这些数据,因为它们可以在需要时进行计算,大数据核心,因此我们可以创建一个视图。

我们如何确定是否已经发送了平均分钟数?假设我们的数据库失去了连接。当它重新连接时,我们如何确定哪些分钟摘要已经发送?

我们需要创建一个表来跟踪此信息。

如果此表中存在给定传感器ID和分钟数的条目,那么我们可以确定数据已经发送。

我们还需要我们在第一篇文章中开发的推送消息程序。我们将以稍微不同的方式使用结果集,因此我们需要用稍微不同的定义重新定义它。为了避免与我们已经创建的过程混淆,我们将给它起一个新的名字:PushIoTMessages.

现在是执行重载的函数。此函数用于查找和计算所有尚未发送的分钟平均值,并使用我们刚刚定义的web过程发布这些平均值。

当前每当我们要上载新消息时,都需要手动调用此函数。为了实现自动化,物联,我们将每分钟创建一个事件来调用此函数。

如果消息发送成功,它将向控制台打印一条简短的调试消息,并将更改提交到簿记表。如果消息未成功发送,则事件结束。当事件在一分钟内再次触发时,它将尝试发送任何尚未上载的行。

要验证它是否正常工作,请在voltageReadingsByMinute表中选择所有行。

在一分钟内,您应该会看到这些行出现在IoT服务驾驶舱中。

(请注意,averageVoltageLevels略有不同,因为SQL Anywhere数据库使用的是数字,而IoT服务使用的是浮点数。另外,在SQLAnywhere端,我们记录了自epoch以来的分钟数,公司自助建站,而IoT服务使用的是秒数。[23905565 x 60=1434333900])

当然,因为每个传感器读数都提交到数据库,所以此设置可以处理网络中的断开连接。它将在下次连接时发送所有未完成的消息。为了测试这一点,我拉了拉笔记本电脑上的网线,去喝了杯咖啡。以下是测试期间消息窗口的输出。

大约14:25,pushMessagesEvent试图发送设备消息,但发现无法连接。几分钟后我拿着咖啡回来时,我把网线插了回去。下一次事件运行时,它上载了所有未完成的消息。

这是一个相对直接的示例,使用SQL Anywhere存储和转发物联网数据的汇总摘要,即使在断开连接的情况下也是如此。因为数据库是进行数据操作的自然场所,所以很容易扩展此演示以添加更多功能。例如,假设系统可能脱机很多小时,大数据核心,并且当它连接时将有数千条消息要发送。您可能希望限制每个web服务请求中发送的消息数。通过修改sendOutstandingMessages和UpdateBookKeeping的定义并将第16行更改为:

这将限制每次上载仅100条消息,添加此功能非常简单。当事件在几分钟后再次触发时,将发送下100条消息。

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 域名备案_阿里云销售顾问_最新活动
    <strong>域名备案_阿里云销售顾问_最新活动</strong>

    域名备案_阿里云销售顾问_最新活动

    高速互联网和功能强大的应用程序使得几乎所有有办公桌工作的人都可以在家工作。然而今天,大多数公司仍然坚持要求员工忍受有时令人心碎的上下班路...

  • 数据库_分布式消息中间件实践pdf_免费领
    <strong>数据库_分布式消息中间件实践pdf_免费领</strong>

    数据库_分布式消息中间件实践pdf_免费领

    作者:马库斯·瓦纳关于2017年趋势的讨论正在迅速而激烈地展开,职场也不例外。随着新的一年即将到来,职场趋势专家们正在为2017年列出自己的预测清单...

  • 域名注册_自考数据库_免费6个月
    <strong>域名注册_自考数据库_免费6个月</strong>

    域名注册_自考数据库_免费6个月

    正如Facebook和Twitter首席运营官(COO)上周在美国国会作证时所说,出现的一个突出主题是,这些公司在保护其平台免受网络攻击方面所扮演的角色。这些公...

  • 域名解析_阿里云是什么意思_怎么买
    <strong>域名解析_阿里云是什么意思_怎么买</strong>

    域名解析_阿里云是什么意思_怎么买

    类别工作日新闻与文化财务人力资源规划技术创新分析与见解客户和社区行业金融服务政府保健高等教育款待媒体和娱乐专业和商业服务零售技术更多播客...

  • 网站服务器_王者荣耀服务器未响应_限时
    网站服务器_王者荣耀服务器未响应_限时

    网站服务器_王者荣耀服务器未响应_限时

    日本甲骨文公司今天宣布,ISOU项目采用甲骨文区块链平台管理一种本币的发行和消费。日本甲骨文公司是ISOU项目的支持公司,该项目旨在解决人口稀少地...

云储存

更多 >
  • <strong>香港带宽_视频云存储_0元</strong>
    香港带宽_视频云存储_0元

    这些年来,我参加过几次同性恋、双性恋、双性恋和双性恋的游行,在澳大利亚生活时,我曾多次为悉尼同性恋狂欢节做志愿者。现在,自从2014年我转到帕...

  • <strong>免备案CDN_备案老域名出售_三重好礼</strong>
    免备案CDN_备案老域名出售_三重好礼

    SAP Korea于6月10日和11日举办的首个"设计思维弹出式学校"取得了巨大成功。首尔的设计与共同创新中心团队领导了此次活动,该活动是与韩国最有影响力的商...

云储存天翼云_3096天百度云链接资源_返现
云储存百度云_服务器海外_最新活动
云储存CDN_腾讯的企业邮箱_9元
云储存云数据库_asp网站空间_学生机
云储存香港服务器_vpn服务器设置_精选特惠