基于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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
传感器 搜索推荐 物联网
5G与物联网:构建万物互联的未来世界
【9月更文挑战第11天】5G与物联网的融合正引领我们进入一个万物互联的未来世界。在这个世界中,各种设备将通过网络紧密相连,实现数据的实时传输和处理。这不仅将极大地方便人们的生活和工作,还将推动社会向智能化、数字化迈进。我们有理由相信,在不久的将来,一个更加智能、便捷、高效的世界将呈现在我们面前。
|
10天前
|
传感器 自动驾驶 物联网
5G+物联网:构建智慧城市的新基石
【9月更文挑战第4天】5G+物联网作为构建智慧城市的新基石,正引领着城市管理的智能化变革。随着技术的不断成熟和应用场景的不断拓展,智慧城市将变得更加智能、高效和可持续。然而,我们也应看到,智慧城市的建设还面临着数据安全、隐私保护等挑战。未来,我们需要加强技术创新和法规建设,确保智慧城市在快速发展的同时,也能够保障人民的安全和权益。
|
15天前
|
传感器 监控 安全
智能家居系统:物联网技术的应用与挑战
在这篇文章中,我们将深入探讨智能家居系统背后的技术原理、实际应用以及面临的主要挑战。通过分析物联网技术如何实现家居自动化,并结合具体案例,本文旨在提供对智能家居发展现状和未来趋势的全面理解。
|
18天前
|
JavaScript NoSQL 前端开发
|
21天前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
1月前
|
存储 缓存 JSON
Node.js有哪些模块系统
【8月更文挑战第12天】Node.js有哪些模块系统
32 3
|
1月前
|
网络协议 物联网 Java
|
12天前
crash —— 获取系统NODE、ZONE、SECTION、MEMBLOCK等信息
crash —— 获取系统NODE、ZONE、SECTION、MEMBLOCK等信息
|
1月前
|
人工智能 NoSQL atlas
MongoDB Atlas与大语言模型的梦幻联动:如何瞬间提升企业级AI应用的构建效率?
【8月更文挑战第8天】在大数据时代,企业需挖掘数据价值。MongoDB Atlas作为云端数据库服务,以灵活性著称,减轻运维负担并支持全球数据分布。大语言模型(LLMs)革新AI构建方式,擅长处理自然语言。本文通过对比展示如何整合Atlas与LLMs,构建高效企业级AI应用:Atlas确保数据高效存储管理,LLMs提供语言理解与生成能力,二者结合加速AI应用开发并激发创新潜能。
34 1
|
1月前
|
NoSQL atlas MongoDB
构建实时银行应用程序:英国金融机构 Nationwide 为何选择 MongoDB Atlas
正如 Nationwide 在135 年前的初衷一样,无论数字化程度如何,Nationwide仍将继续以会员为核心,满足会员的日常需求
3849 3

相关产品

  • 物联网平台