欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-30 08:38:44
...

目标

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

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

准备工作

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

实例申请

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

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

Step2 控制台新建实例

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

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

连接实例

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

  • 配置连接数据库, 新增 config/config.js 文件
'use strict';
var config = {
    name: 'production',
    mongodb: 'mongodb://user:aaa@qq.com: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
点击按钮“立即使用”,接受“试用条款”
添加应用,填入应用名称后提交
基于MongoDB与NodeJS构建物联网系统

系统自动生成
基于MongoDB与NodeJS构建物联网系统

后续从应用主页->设置中查看appid和app secret。
基于MongoDB与NodeJS构建物联网系统

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。
基于MongoDB与NodeJS构建物联网系统

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:aaa@qq.com: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