利用Intel® Galileo和Intel® Edison板连接IBM Bluemix云服务

Intel® Galileo和Intel® Edison开发板为开发者提供了一个平台,用于创建激动人心的新解决方案。本文将介绍如何使用Node.jsAPI与IBM Bluemix云服务建立连接,包括创建Bluemix应用程序、添加MongoDB数据库连接,以及存储和检索数据。

创建Bluemix应用程序

首先,登录到Bluemix控制台,选择DASHBOARD并点击CREATE APP。接着选择WEB并选择SDK forNode.js,然后点击CONTINUE。为应用程序命名并点击FINISH。在顶部,可以看到“Your app is staging”的状态。一旦部署完成,点击左侧面板的overview以查看仪表板。

在应用程序仪表板上,点击ADD A SERVICE OR API。在服务页面,点击Data and Analytics部分的MongoDBby Compose服务。在右侧,可以看到输入Username、Password、Host和Port的选项。如果还没有Compose账户,可能需要创建一个。点击Register at Compose。注册后,登录Compose.io并创建一个MongoDB部署。使用默认值,点击Create Deployment。部署创建需要几分钟时间;可以在下方看到状态。

部署完成后,将被重定向到入门页面,可以在此处创建数据库。点击右上角的Add Database来创建数据库,为数据库命名并点击Run。为了使用连接字符串访问数据库,为数据库添加一个用户。点击Admin Settings以获取主机名和端口详细信息。在Bluemix添加服务页面,输入hostname、port、username和password的详细信息。点击创建后,点击弹出窗口上的RESTAGE。

重新部署完成后,应该看到一个状态,显示“Your app is running。”在右上角。

设置开发环境

在项目中安装mongodb npm模块。

npm install mongodb

设置mongodb连接。

创建一个node引用变量用于模块,以及一个客户端对象用于建立数据库连接。

var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient;

创建mongodb连接。connect函数返回一个db对象,其中包含集合对象。集合对象用于插入和检索云中的数据。可以从Bluemix控制台获取连接URL。选择应用程序仪表板上的MongoDBby Compose服务,然后点击Show Credentials。

使用这些凭据创建连接URI。按照以下示例形成URI,以在node应用程序中使用:

mongodb://<user>:<password>@<uri>:<port>/iot-compose?ssl=true

例如:

var uri = 'mongodb://iot-kona:intel123@aws-us-east-1-portal.11.dblayer.com:27832/iot-compose?ssl=true';

复制凭据下的URI并传递给connect函数:

db = MongoClient.connect(uri, function(err, db) {});

存储数据

数据可以存储为JSON对象或JSON对象数组。

var data = { 'sensor-id' : 'sens341', 'value' : 65.5 }; db = MongoClient.connect(config.url, function(err, db) { var collection = db.collection(config.db); collection.insert(data, function(err, result) {}); });

查询数据

基于时间戳的查询:

var dataQuery = { "timestamp": { $gt: readQuery.timestamp } };

基于sensor_id的查询:

var dataQuery = { "sensor_id": { $eq: readQuery.sensor_id } };

运行查询:

var collection = db.collection(self.config.db); collection.find(dataQuery).toArray(function(err, items) { if (!err) { console.log(JSON.stringify(items, null, ' ')); } });

IBM Cloud文档

Mongodb npm模块

MongoDB by Compose

IoT Foundation Recipes

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485