哪些物联网服务可用于在云中存储/发送/发布(以及相反的操作)少量的通用数据?

例如,我正在寻找一种设备可以存储价值的服务在云中。其他一些实体(另一个设备,带有JS代码的网站,Web服务器,移动应用程序)可以检索该值。

可以是某种异步通信,例如用于存储和检索小于键和值对的东西,小于255字节,整数,字符串,最多是一个小的JSON对象。该服务可以提供REST API(因此可以通过多种语言进行访问),其中包含一些用于身份验证的令牌以及要存储的密钥和值。

用例的详细示例是:


家里有一个温度传感器,我希望它将
值存储在云中(出门在外)。这样,无论我的
家庭连接是否断开,我都可以访问它。 Morevoer,这将避免保留和维护专用服务器+ portForwarding + DynamicDNS。


到目前为止,我还找不到类似的东西,但是偶尔,我有找到了一些我想要描述的例子:


Particle.io publish()subscription()
Blynk虚拟引脚

还有什么类似的东西(免费/开放)有替代品吗?

评论

@BenceKaulics我认为这两种用例都适用。专业的解决方案可能意味着更高的标准性和可靠性。实验解决方案可能是一个有趣的开源项目。

我不想成为一个破坏性的运动,但我不认为这是物联网的要求,更像是我们需要其他站点的Web服务。使用任何您喜欢的东西-您自己的网站,免费托管,Amazon Web Services等。您尚未真正告诉我们您要实现的目标。例如,您要编写任何服务器软件的代码吗?没有细节,只有温暖,模糊的感觉,因此很难回答您。

@Mawg它具有Web服务标签(我没有创建)。正如所提供的参考文献一样,该用例是针对物联网的。它要求提供可用的服务,尽管这可以通过简单的php + db实现,但其目的并不是重新发明轮子,而是要了解IoT社区所知道的服务。但是,请让我知道您认为哪个社区更合适。

这是一个接近的电话。我承认,有时我会在Stack Overflow上发帖,在该网站上其他网站会更正确。但是,S.O的受众群体更大,所以我有更多的机会得到回复。与其他网站总是有一些重叠之处,我们将不得不逐步解决。 +1(表示不犯罪),现在您知道安全站点了。问题*仍然可以使用更多细节:-)

@Mawg当然没有冒犯:)。我确实花了一些时间思考问题的位置...之前我确实尝试过提出更多的问题,现在让我们看看,我添加了确切的用例和试验性解决方案。

#1 楼

看一下这些服务:


Ubidots
ThingSpeak

这两个服务都将接受来自设备的简单键/值数据。我相信自从您提到它们以来,它们都已经准备好为粒子设备导入库。

#2 楼

许多云提供商(如亚马逊,微软,谷歌,IBM等)试图通过提供更简便的方法将传感器数据发送/存储/分析到其云中来吸引物联网领域。甚至他们都是要收购硬件供应商来扩大他们在IoT中的范围。

我没有使用AWS以外的任何服务,因此我可以解释我在AWS方面的经验以及我们如何将其集成到生产中。
场景:

我们有数百个传感器,每个传感器每分钟向本地网关发送184-428字节的数据,以汇总数据并存储数据在本地并将相同的数据发送到AWS云。我们还有特殊情况的传感器,它们直接将数据发送到云。

云服务

我们正在使用AWS IoT,AWS S3,AWS DynamoDB,AWS Lambda,AWS API网关,AWS SNS,AWS Cloudwatch,AWS RedShift来构建整个解决方案。基本上,这些不是特定于IoT(AWS IoT除外)的,因为我们可以将它们用于移动和Web。 ,HTTP或WebSockets协议(我们正在使用通过MQTT连接的节点JS SDK)。我们是设备网关本地的MQTT代理,并将其桥接到AWS IoT终端节点,我们正在对接收到的数据进行即时检查(使用规则引擎,AWS Lambda函数),并将其存储到DynamoDB归档到S3,Glacier中(存储已完成)无需仅使用AWS触发器存储数据就可以编写一行代码。

#3 楼

它仅用于实验或测试用途,但将来可能会改变。

所以我的建议是使用MQTT,更确切地说是Mosquitto实现。他们托管了一个测试代理,您可以将订户和发布者客户端连接到该代理。 (这是有关Windows 7上安装过程的指南。)

请注意以下事项:


您可以在任何应用程序中自由使用它,但是请不要滥用或依靠它做任何重要的事情。您还应该构建客户端以应对代理重新启动。


但是基本上您可以将温度数据发布到该代理。

在订户-客户端方面,我最近使用了这个Android应用程序。它是一个非常基本的应用程序,仍在开发中,但出于测试目的,它非常好。收到的消息显示在仪表板上,没有什么只是花哨的值。

我已经开始将这两个都用作我的MQTT学习过程的第一步,并且发现它们对初学者都非常有用。 />

评论


MQTT是否会更适合LAN环境?是否遇到隐私/安全/多用户之类的问题?

– urnenfeld
17年1月4日在21:47

@urnenfeld MQTT可以支持您的网站,移动应用程序和“其他设备”的要求,因为您可以全部订阅。同样可以肯定的是,您将来还会希望从其他设备发送数据,而不仅仅是温度数据,因此即使只有多发布者单用户网络,多用户功能也是一个很好的IMO。安全性和隐私性也应该始终是一个问题。对于LAN,也许更适合,但如果您照顾好安全性,则可以使您的代理在任何地方都可以使用,而不是专家。

– Bence Kaulics
17年1月5日,9:14



嗯,此测试代理是测试代理,因此不应用于正在运行的应用程序。但是想法就在这里:您可以从防火墙打开MQTT代理的端口,并从任何地方进行连接。

–古法利特
17年1月5日在13:28

很抱歉,OP希望存储数据,MQTT只是一个使者,但您可以使用它将数据发送到专用服务器。要检索值,客户机必须向MQTT发送查询以通过发布检索值。 MQTT很棒,但是Web服务在这里更好。

–古法利特
17年1月5日在15:44



@Goufalite是的,存储数据更加复杂。

– Bence Kaulics
17年5月5日在15:52

#4 楼

这有两个组成部分:



如何存储数据?没有真正的方法可以使“通用”数据服务真正满足所有需求。您想要的就是所谓的“时间序列数据库”,其中有数百个,因为有关存储数据的每个细节都至关重要。 (如果规模不大,只需将其存储在任何旧数据库中,它就会工作一段时间。)

每个时间序列数据库都被编写,因为其他人并没有按照他们想要的方式做。例如,考虑Graphite如何存储其数据:每个度量标准(例如,来自一个来源的温度)都存储在固定大小的文件中。无论您多久发送一次度量标准,或发送多长时间,该文件都是固定大小的。 (例如1年)数据将被丢弃。但是好处是,绘制一天和一年的图表一样快,并且度量不会随着时间的推移而增长。

在其他存储系统中,生成一年的图表可能涉及获取数百万个数据点,可能需要大量的数据存储。 ,这可能不是一个很好的选择。

与Prometheus相比,Prometheus的度量标准大多按时间存储。您可以有很多动态指标,这很好。但是,请勿长期存储这些指标,否则将永远需要回头阅读它们。

没有一种尺码适合所有情况。

P.S. Graphana是可视化数据的绝佳方法。它具有适用于大多数时间序列数据库的插件。


谁来存储您的数据?像您提到的地方有成千上万的地方。在云中建立一个时间序列数据库很容易,但要赚钱真的很困难,这些公司中的大多数会在一段时间后倒闭或开始进行价格欺诈。 (即使保持价格稳定也是对价格的欺骗-因为计算成本一直在下降。)很多时候,他们发现他们吸引的新客户数量不尽如人意,因此他们试图提高价格(以幌子为幌子)更改其定价模式)。事实证明,存储每个人的数据要花很多钱...

我建议进行自我托管,或者使用信誉良好的云提供商(例如AWS CloudWatch)。 (如果您有很多指标,则价格昂贵,但少于50个指标则免费!)



评论


这个想法是要从“数千个地方”中选出最好的。我已经收集了一个收藏集(甚至自己完成了一个收藏集),该收藏集会在此发布

– urnenfeld
17年12月21日在9:40

#5 楼

uBeac是我们开发的一种新的免费软件可视化工具,它是Beta版。它不是开源的,但是完全可以免费使用。

您可以定义一个网关,您将获得一个唯一的URI。您可以在网关或设备中设置URI,以将HTTP / MQTT数据发送到。

这些功能包括:


团队,建筑物,地板计划定义
实时数据可视化
使用不同的小部件进行自定义仪表板设计
定义传感器类型,
单位和前缀地图可视化
...

它支持通用的Json数据格式以及不同的预定义网关。如果您不想使用预定义的有效载荷格式,则可以使用它们来开发自定义的有效载荷处理。

评论


嗨,@ Amir,我们注意到到目前为止,您的回答是彼此重复的,并且正在推广您的产品。回答与您的产品相关的地方都可以,但是请务必阅读帮助中心中的自我宣传指南。调整您对当前问题的答案也是一个好主意,而不是发布相同的文本以确保您实际上是在完全回答问题,而不仅仅是宣传您的产品。谢谢。

–Aurora0001♦
19年4月8日在9:45

#6 楼

我很惊讶这里没有人提到Dweet。这是一种让事物进行交流的超级简单,超级有趣的方式。您应该确定尝试一下,因为嘿,它是免费的!

评论


确实提出了该建议,但节制将其删除。这项服务的有趣之处之一是,您甚至都不需要注册,它们可以显示您的数据。另一方面,您的数据是相当公开的:)

– urnenfeld
19年3月14日在7:59



#7 楼

flespi提供免费的商业云服务:




用于PUB / SUB操作的MQTT Broker服务,您甚至可以将数据存储在保留消息中;

用于键/值操作的存储引擎,尤其针对时间序列数据和通用文件存储(CDN)。通过REST API进行操作。

强制性免责声明:我正在为开发flespi平台的公司工作。在尽我所能保持客观性的同时,请与互联网上的往来一样,请仔细检查此答案中的所有信息,以排除可能影响您决定的偏见。

评论


同样,请在推荐服务时声明与该服务的任何连接(例如,您为flespi工作)

– hardillb
19年3月14日在9:38