phodal大神帮你理清物联网开发架构

本文探讨了JavaScript在物联网开发中的潜力,指出其适用于物联网架构的多个层面。作者介绍了典型的物联网架构,强调了使用多种语言在物联网项目中的挑战,并提出只使用JavaScript可以简化开发流程。文章详细阐述了纯JavaScript的物联网架构,包括服务层的选择,如Serverless和云服务,以及在硬件层和应用层的实现。此外,还讨论了JavaScript在硬件层和协调层的优势,例如Tessel、Espruino等开发板。最后,作者展望了物联网架构的未来发展,如微服务化、DevOps和容器化。
摘要由CSDN通过智能技术生成

c1577a8a8654f4f99d04b91df86e6fb4.jpeg

作者 | phodal

责编 | 唐门教主

微信公众ID | csdn_iot

随 JavaScript 语言的流行,及物联网领域的崛起,我们能看到它们结合的可能性,同时也发现它特别适合于物联网开发。因此,在这篇文章里,笔者将主要从以下三个方面进行介绍:

  1. 典型的物联网架构,及多种语言带来的问题;

  2. 只使用 JavaScript 语言的物联网架构;

  3. 详解基于 JavaScript 语言的物联网不同层级结构。

那么,先让我们看看典型的物联网架构是怎样的吧。

1

典型的物联网架构

我们甚至还可以认为,物联网只是对互联网的扩展。与传统的 C/S 架构相比,它多了一个“数据采集层”,我们称之为传感器层、硬件层等。数据的产出不再只是用户,还来自于各式各样的联网设备。物联网不再局限于使用 HTTP 协议来传输数据,它还会使用 CoAP(受限制的应用协议)、MQTT(消息队列遥测传输)协议。

2

物联网的四个层级

当前的物联网应用,所要做的就是控制和数据处理。指令,由用户到终端一层一层往下下达,直到硬件端由设备去执行。而数据,便是一层一层往上上报,直至被可视化。

因此,与互联网的架构相比(如图 1、图 2 所示),起点与终点不一样了:指令的终点与数据的起点,变成了硬件层,而非最后的用户层。

bdbca196e1a90d26c613c93f5d5dc17c.jpeg

图 1 互联网架构

580d484e06b5eff20e136aabb09036f3.jpeg

图 2 典型的物联网架构

数据由客户端 A 发送到服务端,客户端 B 再从服务端获取 A 的数据,如此便算是完成了一个回路。而物联网架构则稍微麻烦了一些,多了一个层级,便多了一个步骤。 

硬件层上的微控制器通过直连的方式,采集各式各样的数据,比如温度、湿度等。而受限于微控制器的成本、环境条件等因素,它可能无法直接连接到互联网。因此,需要连接到一些额外的联网设备才能实现。

而这些联网设备,会负责处理来自各个硬件设备的数据,并将其上传至服务器。同时,它会提供一个无线(如蓝牙、红外、ZigBee)接口作为数据的入口。因此,这一层级需要有更好的数据处理能力,并且它应该要可以快速开发。因为这些设备主要做的是协调工作,我们习惯于将其称为“协调层”。

3

使用多种语言的物联网

多年以前,笔者曾做过一个并不复杂的物联网系统:

  1. 使用 Python 里的 Django 作为 Web 服务框架,Django REST Framework 创建 RESTful API;

  2. 为了使用手机作为控制器,还用 Java 写一个 Android 应用;

  3. 使用 Raspberry Pi 作为硬件端的协调层,用于连接网络,并传输控制信号给硬件;

  4. 在硬件端使用 Arduino 作为控制器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值