基于MongoDB与NodeJS构建物联网系统

简介: 目标 基于阿里云服务快速构建物联网系统 准备工作 ECS MongoDB EMR Alinode 中间件代码 注意事项:ECS,MongoDB 可以选择按量计费的服务。 实例申请 Step1 拿到阿里云账号,登陆 Step2 控制台新建实例 新建实例: https://mongodb.console.aliyun.com/#/buy/mongodb?chargeType=PostPaid 新建实例时,请选择『按量付费』类型,并需要选择合适的CPU 内存规格,磁盘空间、并设置 root 密码(后续连接实例需要用到)。

目标

基于阿里云服务快速构建物联网系统

  • 场景介绍和架构设计
  • 端的数据采集与通信协议
  • 利用Node.js构建服务框架
  • MongoDB数据建模与存储实践
  • EMR大数据分析

准备工作

注意事项:ECS,MongoDB 可以选择按量计费的服务。

实例申请

Step0 登录云中沙箱拿到阿里云账号

Step1 利用上面拿到的train*@aliyun-inc.com的阿里云账号,登陆阿里云官网

Step2 控制台新建实例

新建实例: https://mongodb.console.aliyun.com/#/buy/mongodb?chargeType=PostPaid

新建实例时,请选择『按量付费』类型,并需要选择合适的CPU 内存规格,磁盘空间、并设置 root 密码(后续连接实例需要用到)。

连接实例

实例创建成功后,你可以在控制台查看实例的详细信息,包括复制集节点信息、复制集名称,用于客户端 Driver 连接的 Connection String),根据这些信息就能通过 MongoDB 的客户端 Driver 来访问实例。
rs1

  • 配置连接数据库, 新增 config/config.js 文件
'use strict';
var config = {
    name: 'production',
    mongodb: 'mongodb://user:pass@host1:port1,host2:port2/iot?replicaSet=name&authSource=admin'
};
module.exports = config;

user:pass填购买时配置的用户名和密码

host1:port1 填节点1的信息,host2:port2 填节点2的信息。replicaSet=namename替换成副本集的名称。

不使用默认的 admin 库,而是用 admin 鉴权创建 iot库。

生产环境连接 MongoDB 实例时,请确保按复制集的方式正确连接,以保证服务的高可用。

在云服务器ECS上构建项目

1. 申请应用id(appid)和应用token(app secret)

阿里云账号登录 https://alinode.aliyun.com
点击按钮“立即使用”,接受“试用条款”
添加应用,填入应用名称后提交
appid

系统自动生成
appid2

后续从应用主页->设置中查看appid和app secret。
appid3

2. 登录ECS

3. 一键安装alinode运行时

wget -q https://raw.githubusercontent.com/aliyun-node/alinode-all-in-one/master/alinode_all.sh
bash -i alinode_all.sh

需要输入信息时回车采用默认值,直到填写app id和app secret的时候输入上面步骤生成的app id 和 app secret。
appid4

4. 运行agentx

 nohup agentx  /path/to/yourconfig.json &

5. 下载项目到本地

git clone https://code.aliyun.com/alicloud_cto_office/IoT.git
cd IoT
cnpm install

6. 将申请到的MongoDB配置信息写入文件 config/config.js

'use strict';
var config = {
    name: 'production',
    mongodb: 'mongodb://user:pass@host1:port1,host2:port2/iot?replicaSet=name&authSource=admin'
};
module.exports = config;

7. 运行项目

ENABLE_NODE_LOG=YES node bin/www

8. 浏览器打开

http://your-ecs-ip:8001

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
JavaScript 中间件 关系型数据库
构建高效的后端服务:Node.js 与 Express 的实践指南
在后端开发领域,Node.js 与 Express 的组合因其轻量级和高效性而广受欢迎。本文将深入探讨如何利用这一组合构建高性能的后端服务。我们将从 Node.js 的事件驱动和非阻塞 I/O 模型出发,解释其如何优化网络请求处理。接着,通过 Express 框架的简洁 API,展示如何快速搭建 RESTful API。文章还将涉及中间件的使用,以及如何结合 MySQL 数据库进行数据操作。最后,我们将讨论性能优化技巧,包括异步编程模式和缓存策略,以确保服务的稳定性和扩展性。
|
12天前
|
人工智能 监控 物联网
深度探索人工智能与物联网的融合:构建未来智能生态系统###
在当今这个数据驱动的时代,人工智能(AI)与物联网(IoT)的深度融合正引领着一场前所未有的技术革命。本文旨在深入剖析这一融合背后的技术原理、探讨其在不同领域的应用实例及面临的挑战与机遇,为读者描绘一幅关于未来智能生态系统的宏伟蓝图。通过技术创新的视角,我们不仅揭示了AI与IoT结合的强大潜力,也展望了它们如何共同塑造一个更加高效、可持续且互联的世界。 ###
|
11天前
|
JSON JavaScript API
深入浅出Node.js:从零开始构建RESTful API
【10月更文挑战第39天】 在数字化时代的浪潮中,API(应用程序编程接口)已成为连接不同软件应用的桥梁。本文将带领读者从零基础出发,逐步深入Node.js的世界,最终实现一个功能完备的RESTful API。通过实践,我们将探索如何利用Node.js的异步特性和强大的生态系统来构建高效、可扩展的服务。准备好迎接代码和概念的碰撞,一起解锁后端开发的新篇章。
|
7天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
15天前
|
JavaScript 前端开发 NoSQL
深入浅出:使用Node.js构建RESTful API
【10月更文挑战第35天】在数字时代的浪潮中,后端技术如同海洋中稳固的灯塔,为前端应用提供数据和逻辑支撑。本文旨在通过浅显易懂的方式,带领读者了解如何利用Node.js这一强大的后端平台,搭建一个高效、可靠的RESTful API。我们将从基础概念入手,逐步深入到代码实践,最终实现一个简单的API示例。这不仅是对技术的探索,也是对知识传递方式的一次创新尝试。让我们一起启航,探索Node.js的奥秘,解锁后端开发的无限可能。
|
17天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
18天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
24 0
|
10天前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
84 50
|
10天前
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
25 2
|
9天前
|
供应链 物联网 区块链
探索未来技术潮流:区块链、物联网、虚拟现实的融合与创新
【10月更文挑战第41天】随着科技的不断进步,新技术如区块链、物联网、虚拟现实等正在逐步渗透到我们的日常生活中。本文将深入探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,共同推动社会的进步。我们将通过具体的代码示例,展示这些技术在实际应用中的潜力和价值。无论你是科技爱好者,还是对未来充满好奇的探索者,这篇文章都将为你打开一扇通往未来的窗口。
91 56

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面