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

目标

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

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

准备工作

  • ECS
  • MongoDB
  • EMR
  • Alinode
  • 中间件代码

注意事项: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=namename替换成副本集的名称。

不使用默认的 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

时间: 2024-07-31 21:43:05

基于MongoDB与NodeJS构建物联网系统的相关文章

创新驱动转型发展 江波龙科技携手IBM构建物联网云数据服务系统

2015年12月2日,深圳江波龙科技有限公司(longsys)与IBM签署云平台技术合作协议,江波龙科技将借助IBM SuperVessel云平台技术及数据服务技术优势,结合自身在物联网模组研发及生产方面的优势,帮助用户快速搭建安全可靠的物联网云数据服务系统. 江波龙科技是行业领先的物联网模组生产商及高附加值软件服务提供商.凭借自主研发理念和丰富的自主知识产权,吸引了包括美国高通在内的众多海内外知名合作伙伴,公司核心业务快速发展.此次合作将推动江波龙科技由传统制造企业向物联网云数据服务提供商的转

上位机-一个物联网方面的问题,做一个基于WiFi的楼宇能耗监测系统,软件部分怎么设计比较好,类似这个文档里的

问题描述 一个物联网方面的问题,做一个基于WiFi的楼宇能耗监测系统,软件部分怎么设计比较好,类似这个文档里的 http://www.docin.com/p-1224986285.html 之前并不知道上位机,也没学过C#.只学了一点php和J2EE.还需要做Android端,想问下各位前辈们的想法,是做成上位机吗?对WiFi那边的硬件也不是很了解, 本来是想做成网页或者客户端的,这个上位机是怎么做的? 怎么设计软件部分比较快一点... 还有APP怎么设计比较好? 解决方案 既然基于WI-FI,

构建基于容器的本机监控系统 应该注意什么?

本文讲的是构建基于容器的本机监控系统 应该注意什么?[IT168 评论]容器技术是目前非常火爆的一个技术,能够大大提升工作效率.本文中,我们将描述容器本机监控的含义,其核心是对动态容器环境进行监控,并解决在此环境中完全堆栈可见性的具体挑战.当然这个解释很模糊,下文中我们会详细讨论. 单个容器并不重要 在云环境中,经常会有"宠物与家畜"的比喻,传统服务器是你所关心的,被称作"宠物",而在云中,你处理的是动态的实例,这些实例很容易被替换,因此表现为"家畜&qu

基于JavaScript语言的快速物联网开发架构

随 JavaScript 语言的流行,及物联网领域的崛起,我们能看到它们结合的可能性,同时也发现它特别适合于物联网开发.因此,在这篇文章里,笔者将主要从以下三个方面进行介绍: 典型的物联网架构,及多种语言带来的问题: 只使用 JavaScript 语言的物联网架构: 详解基于 JavaScript 语言的物联网不同层级结构. 那么,先让我们看看典型的物联网架构是怎样的吧. 典型的物联网架构 我们甚至还可以认为,物联网只是对互联网的扩展.与传统的 C/S 架构相比,它多了一个"数据采集层"

基于MongoDB的高并发高可用政府云平台架构实践

3月12日下午在阿里巴巴西溪园区,举行了MongoDB杭州用户交流会.微软MSDN特邀讲师徐雷分享<基于MongoDB的政府云平台高并发高可用HA架构实践 >,从自身实践出发,讲述了政府云平台分层.技术栈选型.物理架构.API架构及DB数据库架构的设计思路和方法.   以下内容根据现场分享和演讲PPT整理而成.   学习MongoDB的重要性 目前,几乎所有国内外的互联网大公司都在用MongoDB,学习企业需要的技术很重要.   MongoDB优点   相比较关系型数据库而言,MongDB有两

创客程序员设计实现最小物联网系统

关于物联网 物联网(Internet of Things,缩写IOT)是一个基于互联网.传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络. 物联网一般为无线网,由于每个人周围的设备可以达到一千至五千个,所以物联网可能要包含500万亿至一千万亿个物体,在物联网上,每个人都可以应用电子标签将真实的物体上网联结,在物联网上都可以查找出它们的具体位置.通过物联网可以用中心计算机对机器.设备.人员进行集中管理.控制,也可以对家庭设备.汽车进行遥控,以及搜寻位置.防止物品被盗等各

小鱼儿CTO赵兴国:基于阿里云的互联网+视频会议系统实践

2016云栖大会上海峰会于2016.1.20日在上海科技馆顺利举办.本文是根据小鱼儿科技联合创始人兼CTO赵兴国在2016云栖大会上海峰会<互联网+架构及实践专场>的演讲中分享内容整理而成.赵兴国以基于阿里云后台的视频会议系统为例,分享了互联网+的视频会议实践.   下面是演讲内容整理.   传统视频会议设备复杂,一般是四件套,会议系统必须外接电视.麦克风.摄像头,学习很复杂的摇控器,才能够开始使用.为保障视频会议效果,还需要搭建服务器.租专线,才能投入使用.并且每次开会都需要专业人员维护,比

基于Nginx和Consul构建高可用及自动发现的Docker服务架构

本文讲的是基于Nginx和Consul构建高可用及自动发现的Docker服务架构[编者的话]本文对于Docker和Consul Template以及Nginx如何结合使用做了较为详细的介绍. [上海站|3天烧脑式微服务架构训练营]培训内容包括:DevOps.微服务.Spring Cloud.Eureka.Ribbon.Feign.Hystrix.Zuul.Spring Cloud Config.Spring Cloud Sleuth等. 导读 如果你在大量接触或使用微服务的话,你可能会碰到一个问

10个基于 Ruby on Rails 构建的顶级站点

本文系国内 ITOM 行业领军企业 OneAPM 工程师翻译整理自 Raviraj Hegde 的文章 Top Sites Built with Ruby on Rails. 就其本身而言,Ruby in Rails 已经从一个简单的框架演化为强大的工具.最近几年,其名气大涨,这也合情合理:除拥有稳定的性能之外,在开发功能复杂的应用时使用 gem 能够节约大量时间. 目前,市场对Ruby on Rails 开发人员的需求庞大.各种各样的平台如雨后春笋般涌现,对优秀开发者的需求也从未如此之高.无论