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

    xiaoxiao2026-10-04  2

    目标

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

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

    准备工作

    ECSMongoDBEMRAlinode中间件代码

    注意事项: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 来访问实例。

    配置连接数据库, 新增 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=name的name替换成副本集的名称。

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

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

    在云服务器ECS上构建项目

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

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

    系统自动生成

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

    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。

    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

    最新回复(0)