如何为Arduino设备构建远程配置

如何为Arduino设备构建远程配置,第1张

如果你只能在本地控制一个智能设备,那么它并不能被称之为智能。那有什么用呢你需要的是远程控制设备的功能。而这正是远程配置发挥作用的地方。
远程配置能够让开发人员和用户触发行动,进而在任何地点控制他们的设备。设备状态解析通过网络(在本案例中为PubNub)传送的信号,并根据信号指令永久地改变装置的状态(如灯泡从关到开)。
A 远程配置的消息传递层
在本教程中,我们将展示如何在[基于Atmel的]Arduino联网设备上实现远程配置。在开发的过程中,我们遇到了两个问题。
1 网设备的状态(如在线/离线状态)
2 连接到云的设备的状态
通过使用Presence API,第一个问题迎刃而解,因此,我们将着重关注第二个问题。我们将采用存储和回放的方法,存储并检索用于家庭自动化解决方案的联网设备的状态。如此,我们就能够远程控制智能设备,实时发送信号。
JSON对象就是一个典型的示例,如下所示:
{"状态":[
{"通电":"真"},
{"咖啡量: 一半"},
{"温度":""}
]}
远程配置的整体流程
● 注册一个免费的PubNub账户。如此便可获得独特的发表/订阅键,用于激活PubNub。这些键位于开发人员控制台。
● 利用Arduino通过PubNub物联网网络发布消息,控制智能设备。
● 通过web浏览器,访问这些消息。
了解教程!
步骤一:连接PubNub
例如,控制冰箱的温度。如下参数可存储为设备的状态,如查看冰箱门的开启状态、温度、功耗,甚至还有冰箱的容积。
在Arduino IDE上运行,并查看步骤二中关于连接PubNub至Arduino的教程,获得更多详情。
步骤二:在Arduino中创建JSON对象
为在Arduino中创建json对象,我们需要使用JSONh库。创建上文所述的JSON对象可参照如下步骤:
aJsonObject msg = aJsoncreateObject();
aJsonaddStringToObject(msg, "姓名", "Arduino");
aJsonaddNumberToObject(msg, "外部温度", 34);
步骤三:向设备发送信号
除此之外,只需再利用Arduino IDE发布消息即可。要做到这一点,可参照如下代码:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char pubkey[] = "demo";
char subkey[] = "demo";
char channel[] = "设备状态";

//setup
void setup()
{
Serialbegin(9600);
Serialprintln("串口设置");

while (!Ethernetbegin(mac)) {
Serialprintln("以太网设置错误");
delay(1000);
}
Serialprintln("以太网设置");

PubNubbegin(pubkey, subkey);
Serialprintln("PubNub 设置");
}
// establishing internet connection to the Arduino and publishing the state建立Arduino网络连接并发布状态
void loop()
{
Ethernetmaintain();
EthernetClient client;
client = PubNubpublish(channel, msg);
if (!client) {
Serialprintln("发布错误");
} else {
client->stop();
}
delay(5000);
}
另外,如果只能在web浏览器上查看设备状态怎么办在浏览器控制台中粘贴如下代码,并查看状态填写。
// 发布和订阅键初始化

var pubnub = PUBNUBinit({
publish_key: 'PUBLISH_KEY_HERE',
subscribe_key: 'SUBSCRIBE_KEY_HERE',
uuid: 'devices_state设备状态'
});

// 通过历史记录检索已经发布到该渠道的消息。

pubnubhistory({
channel: '历史记录_渠道',
callback: function(m){consolelog(JSONstringify(m))},
});
就是这样!还有一点:PubNub并不限制你发布或通过历史记录检索消息的数量。你可以利用多个Arduinos进行尝试,并远程查看其状态。
远程配置的用例数之不尽,从农业到运输和物流,再到家庭自动化。它使你能够在地球上的任何地方完全控制你的智能设备,功能异常强大。

物联网正以前所未有的速度肆虐。在我们向您介绍物联网(IoT)开源开发工具之前,您还应该先了解其他一些内容。随着IT部门对Gartner和思科等公司的预测所产生的炒作进行了大肆宣传,声称到2020年底,物联网将连接超过500亿台设备,突然间每个人都想成为物联网的一部分。嗯,难怪你也期待成为一个价值19万亿美元的行业的一部分。

物联网开源开发工具普及的原因是用户社区。该社区希望拥有利用消费者技术设备的开放市场,而不是由单一供应商主导。开源的另一个原因是提供一个生态系统,其中开发的 物联网设备和应用程序 可以无需麻烦和许多努力进行集成。最后开源意味着您的设备或应用程序可以支持众多供应商,因为您不会为任何特定供应商开发代码。

物联网(IoT)开源开发工具大多是由早期在物联网领域开发的开源社区开发的。您可以比以前更快地部署使用这些工具的 IoT应用程序 。如果您 开始构建您的第一个物联网应用程序, 那么这个开源工具指南专门为您服务。

在这里,我们列出了100个最广泛使用和可靠的 开源工具,用于开发物联网应用程序 。我已尽力包括物联网硬件平台,开发工具,软件,集成工具, *** 作系统和监控工具。

现在所有上面列出的开发工具都非常用户友好,但在您选择这些工具之前,我们建议您在此处查看完整的配置文件

开发任何物联网应用程序最重要的部分是选择合适的硬件平台。开始使用像Arduino Yun这样的简单平台来升级到UDOO,这完全取决于应用程序的资源需求。以下是可供选择的 最佳物联网硬件平台

我们建议您在从以下列出的任何软件中做出选择之前, 如何选择家庭自动化系统。

43 Eclipse SmartHome

44 Home Gateway Initiative (HGI)( Home Automation)

45 Ninja Blocks

46 openHAB

47 PrivateEyePi

48 RaZberry

49 The Thing System

许多首次使用 物联网的应用程序开发人员都 低估了选择正确的中间件的重要性。中间件是一种能够在所有不同组件之间实现顺畅通信的机制。

简单来说,“中间件”便于“互联网”和“物联网”之间的通信。

根据您的需要从以下选择正确的中间件:

选择合适的硬件平台后,就可以为您的应用选择合适的物联网 *** 作系统了。选择应基于应用程序级别,API要求和硬件需求。以下是可供选择的 顶级物联网 *** 作系统

物联网开源工具列表中的下一个是将有兴趣选择的集成平台。下面列出了一些目前可用的最佳物联网集成工具。

最后,您正处于为物联网应用选择正确的通信平台的阶段。以下是建议:

物联网开源资源

最后,如果您需要任何专门资源的参考,您可能想看看下面列出的那些。

我已尽最大努力找到这100个物联网开源工具和资源列表。如有更好的,请随时在下面留下您的评论。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13379580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存