使用Artik IoT平台和Raspberry创建令人惊叹的IoT项目

Artik物联网平台是一个端到端的物联网平台,可帮助我们构建出色的物联网项目。 它是一个开放平台,使不同的设备可以连接到云。 使用Artik IoT,连接的设备或传感器将数据发送到云。 应用程序,服务或其他连接的设备根据其业务需求使用此信息。 您可能已经知道,物联网是将对我们的生活产生巨大影响的下一次技术革命,因此了解如何使用该平台非常重要。 在阅读本教程之前,重要的是您全面了解什么是物联网以及它将如何影响我们的未来

本教程希望逐步说明如何使用 Artik IoT平台实施IoT项目 。 它将探索:

  • 如何配置设备
  • 如何在Artik IoT中创建IoT数据模型
  • 如何编写将数据发送到此物联网平台的应用程序

Artik物联网平台概述

该物联网平台支持多种数据交换范例,并根据我们喜欢的开发语言提供不同的SDK。

Artik IoT提供的主要功能是:

  • 数据驱动的开发
  • 使用Websocket的实时数据
  • 不同的数据和设备支持

Artik是一个结构良好的IoT平台,在开始使用它之前,建议您阅读有关如何使用IoT平台的文章,并对其进行概述。 此外,Artik是一个文档齐全的平台,提供了有用且有趣的示例,您可以在此链接上获得更多信息。 该平台的一个有趣方面是云API,它使外部设备可以连接到该平台并交换数据。

在Artik中配置设备

首先,必须有一个帐户来配置设备。 该帐户是免费的。 本教程基于Raspberry Pi,但是配置设备的过程与设备无关。 登录后,在Samsung Artik IoT仪表板中,您必须单击设备并开始配置它:

添加唯一的名称很重要,这样才能识别您的设备。 就是这样,您已经创建了准备发送数据的第一台设备。 下一步是使用清单配置数据模型。

实施Artik IoT数据模型

这是一个重要方面,因为有必要在Artik中配置我们要在IoT项目中处理的变量。 这些变量由设备发送到云,它们代表我们使用传感器测量的参数。

在此项目中,Raspberry Pi使用两个传感器(使项目简单):

  • DHT11
  • BMP180

第一个传感器DHT11测量温度和湿度,而第二个传感器BMP180测量温度和压力。 在本文的后面,我们将介绍如何将它们连接到Raspberry。 到目前为止,重要的是要知道Raspberry发送三个不同的参数:

  • 温度
  • 湿度
  • 压力

这些是我们必须在Artik IoT云平台中配置的变量。 下面介绍了配置它们的步骤:

在这种情况下,我们添加温度字段,该字段将保存来自DHT11传感器的温度值。 要添加其他参数,您可以重复相同的步骤。 最后,您将获得:

现在您可以激活清单了!!!

如何将Raspberry连接到传感器

现在已完成配置步骤,下一步是将Raspberry连接到传感器。 请注意布线,否则可能会损坏设备或传感器。 Raspberry和两个传感器之间的连接如下图所示:

要使用这些传感器,请务必安装connectionPiLi库。 用于将数据发送到Artik IoT平台的代码是用NodeJS编写的,但是您也可以使用其他语言。 在读取传感器值之前,必须安装两个NodeJS库:

这两个库可帮助您轻松读取传感器数据。 首先,让我们导入它们:

var sensor = require('node-dht-sensor');
var RaspiSensors = require('raspi-sensors');

现在我们可以读取传感器:

var BMP180 = new RaspiSensors.Sensor({
  type: 'BMP180',
  address: 0x77
 }, 'BMP180');

 BMP180.fetchInterval(function(err, data) {

  if (data.type == 'Temperature') {
    console.log("Temperature ["+data.value+"]");
  }
  else if (data.type == 'Pressure') {
     console.log("Pressure ["+data.value+"]");
     var data = {"Press": data.value };
   }
}, 5);

在阅读DHT11时,您必须编写:

setInterval(function() {
  var readout = sensor.read();
  console.log('Temp:' + readout.temperature.toFixed(2)
    + "Hum:" + readout.humidity.toFixed(2));
}, 2000);

就这样。 下一步是将数据发送到Artik IoT。

将Raspberry数据发送到云

最后,我们准备将传感器数据发送到云。 重要的是要注意设备必须先经过身份验证才能发送数据。 为此,我们需要使用秘密令牌和从云IoT平台获得的设备ID,单击我们先前创建的设备。

首先,让我们使用Websocket进行连接:

var artikUrl=</code><code class="js string">"wss:api.artik.cloud/v1.1/websocket?ack=true";
function connect() {
// connecting
  ws = new WebSocket(artikUrl);
  ws.on('open', function() {
    console.log("Connected...");
    registerDevice();
  });
  ws.on('message', function(data, flags) {
    console.log("Message [" + data + "]");
  });
  ws.on('close', function() {
    console.log("Websocket is closed");
  });
}

如您所见,建立连接后,我们便注册了该设备。

// Register the Raspberry device first
function registerDevice() {
 try {
  console.log("Registering device..");
  var message = '{"sdid": "d5f71b368bf148xxx","type": "register",
    "Authorization": "bearer fcf3bf9cbf7d49xxx","cid":"1983274" }';
  console.log("Message: " + message);
  ws.send(message, {mask:true});
  console.log("Device registered");
 }
 catch(e) {
  console.error("Exception while sending data...");
 }
}

最后,发送数据的方法:

function sendMessage(message) {
  console.log("Sending data to artik...");
  try {
   var payload = '{"sdid": "d5f71b368bf148c9xxxxx", "ts":"' + Date.now().toString() + '","data":'
                  + JSON.stringify(message) + '}';
   console.log("Message: " + payload);
   ws.send(payload, {mask:true});
   console.log("Message sent");
  }
  catch(e) {
    console.error("Exception while sending data...");
    console.log(e.toString());
  }
}

其中sdid是之前使用的设备ID,数据是JSON消息,其中包含来自传感器的值。

最后一步是创建消息。 我们从传感器获得数据后就立即执行此操作,例如针对温度:

var data = {"Temp": readout.temperature.toFixed(2), 
               "Hum": readout.humidity.toFixed(2)};

我们为压力做同样的事情。

var data = {"Press": data.value };

一旦启动NodeJS应用程序,它就会开始将数据发送到Artik IoT平台。 访问Artik IoT仪表板,您可以验证数据并创建图表:

在本文的最后,您获得了有关Artik IoT平台以及如何使用它来开发完整的IoT项目的知识。

翻译自: https://www.javacodegeeks.com/2016/12/create-stunning-iot-project-artik-iot-platform-raspberry.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值