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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
消息中间件 网络协议 物联网
如何入门做物联网系统压测?
【4月更文挑战第18天】物联网系统在架构、网络模式、通信协议等方面与传统的互联网系统有所区别。因此,传统的性能测试方法不能直接套用到物联网系统中。
75 13
如何入门做物联网系统压测?
|
2月前
|
Web App开发 JavaScript NoSQL
深入浅出:构建基于Node.js的RESTful API
在当今快速发展的互联网时代,RESTful API已成为前后端分离架构中不可或缺的一部分。本文旨在为初学者和中级开发人员提供一个清晰、简洁的指南,详细介绍如何使用Node.js构建一个高效、可维护的RESTful API。通过结合实际案例,本文将从API设计理念出发,深入讲解如何利用Express框架及MongoDB数据库实现API的增删改查功能,同时探讨如何通过JWT进行安全认证,确保数据传输的安全性。此外,文章还将简要介绍如何使用Swagger生成API文档,使得API的测试和维护更加便捷。无论你是希望提升现有项目的API设计,还是想从零开始构建一个新项目,本文都将为你提供一条清晰的道路
|
16天前
|
人工智能 NoSQL atlas
如何用MongoDB Atlas和大语言模型,高效构建企业级AI应用?
利用生成式 AI 强化应用程序为客户打造令人叹服、真正差异化的体验意味着将人工智能建立在事实的基础之上
1584 0
|
1月前
|
Web App开发 JavaScript 前端开发
使用Node.js和Express构建RESTful API
使用Node.js和Express构建RESTful API
19 0
|
2月前
|
JavaScript 前端开发 关系型数据库
分享66个NodeJs系统源码总有一个是你想要的
分享66个NodeJs系统源码总有一个是你想要的
34 1
|
2月前
|
Web App开发 JavaScript 前端开发
构建现代Web应用:Vue.js与Node.js的完美结合
在当今快速发展的Web技术领域,选择合适的技术栈对于开发高效、响应迅速的现代Web应用至关重要。本文深入探讨了Vue.js和Node.js结合使用的优势,以及如何利用这两种技术构建一个完整的前后端分离的Web应用。不同于传统的摘要,我们将通过一个实际的项目示例,展示从搭建项目架构到实现具体功能的整个过程,着重介绍了Vue.js在构建用户友好的界面方面的能力,以及Node.js在处理服务器端逻辑和数据库交互中的高效性。通过本文,读者不仅能够理解Vue.js与Node.js各自的特点,还能学习到如何将这两种技术融合应用,以提升Web应用的开发效率和用户体验。
|
2月前
|
NoSQL JavaScript 前端开发
深入浅出:使用Node.js和MongoDB构建RESTful API
在当今的软件开发领域,构建高效、可扩展的Web服务已成为开发者的重要任务之一。本文将引导读者通过现代JavaScript环境——Node.js,搭配流行的NoSQL数据库MongoDB,一步步构建一个RESTful API。不同于常规的摘要,我们将采用故事化的方式,通过一个虚构的应用“BookFinder”的开发旅程,带领读者理解API设计、数据库交互及安全性考量等关键知识点。无论你是前端工程师希望深化后端知识,还是后端新手寻求实践机会,本文都将提供你所需的指南和启示。
|
2月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
56 0
|
3月前
|
JavaScript 前端开发 数据安全/隐私保护
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
225 1
|
3月前
|
JavaScript 前端开发 数据安全/隐私保护
深入探讨Node.js:构建高性能服务器端应用
深入探讨Node.js:构建高性能服务器端应用
173 1

相关产品

  • 物联网平台