65.9K
CodeProject 正在变化。 阅读更多。
Home

物联网 - 概述

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.91/5 (41投票s)

2014年10月27日

CPOL

14分钟阅读

viewsIcon

69144

引言

本文面向初学者,将带您了解物联网的世界。本文将广泛介绍物联网的入门、平台和示例,而不关注任何开发环境或工具。

以下是各主题的快速链接

 

什么是物联网?

众所周知,通过 TCP/IP 互连的全球计算机网络称为互联网。**互联网**改变了长距离通信的方式,它创造了新的知识共享和获取途径;它改变了社区传播信息的方式等等。互联网还改变了娱乐和媒体行业。当世界各地的人们能够通过互联网连接、分享、学习和关怀时,这是一次巨大的飞跃。

如今,普通家庭连接到互联网的设备数量已经超过了家庭人口数量。互联网上的每个设备都可以通过唯一的 ID 来识别;这就是 IP 地址。IP 地址是字符串字符和数字,用于帮助识别设备、在网络上定位设备以及路由互联网流量。然而,IPv4,即互联网协议的第四个版本,采用 32 位/4 字节的寻址系统。地址在每个字节或 8 位之间分隔。由于 8 位最多只能表示数字 255 [11111111],因此每个字节的范围是 0 到 255。下面是 IPv4 地址的表示。

图片来源:维基百科

正如您所见,IPv4 地址可以识别的设备数量限制为 232,约为 43 亿个地址。根据各种来源,到 2012 年,互联网连接设备数量已超过 80 亿,IPv4 不足以唯一识别所有设备,因此 IETF [互联网工程任务组] 于 1998 年引入/制定了 IPv6。

IPv6 使用 128 位地址,而不是 IPv4 的 32 位地址,这允许 2128 个地址。这几乎是 IPv4 所能支持的 7.9×1028 倍。然而,这两个版本的寻址是不兼容的,因此需要用新的 IPv6 地址替换旧的 IPv4 地址。预计到 2014 年 5 月,所有 IPv4 地址都将被 IPv6 地址替换。下面是 IPv4 地址的表示。

图片来源: 维基百科

在 20 世纪 70 年代,Theodore G. Paraskevakos 构思并获得了结合了电话和计算功能的设备的专利,这些设备现在被称为智能手机 [不用猜都知道]。随着智能手机取代了没有数据功能的传统固定电话和手机,连接到互联网的设备数量很快就超过了人口数量。如今,除了智能手机和计算机之外,还有许多其他设备也具备通过互联网连接和通信的能力。以下是一些设备

  • 车库门开启器——有些车库门开启器能够连接到互联网,并告知您门是打开还是关闭,并提供有关时间和持续时间的信息。
  • 联网洒水系统:这些洒水系统连接到互联网获取天气预报,以决定是否给草坪浇水。
  • 水质传感器:测试并沟通溪流中的水质,这将有助于当局保护和发展野生动物的自然栖息地。
  • 自动取款机:告知银行是否有需要提取的存款支票,或者现金是否快用完了,以便银行可以派人来添加更多现金。
  • 自动售货机:让供应商知道何时需要补充机器并收取现金。
  • 电力和公用事业仪表:让公用事业公司了解使用情况,无需人工现场访问。
  • 汽车和其他车辆:车辆现在可以连接到中央监控站,以提供有关汽车状况的详细信息,是否需要维修、紧急通信、在您丢失钥匙时远程解锁车门和启动发动机等。
  • 医疗和健康监测设备:可穿戴设备,用于监测您的生命体征,并将相同的信息传达给您的医疗保健提供者,以便及时治疗。这些设备可以是血压计到心脏起搏器。

 

这只是设备通过连接到互联网可以获得的某些功能的几个例子。

所有这些在现有互联网基础设施中互联的、可唯一识别的计算设备的互联,都可以称为物联网,或简称 IoT。

预计物联网将提供前所未有的所有事物的连接性,包括但不限于设备、系统和服务。这种互联将为几乎所有领域和行业创造一个自动化和连接的平台。根据 Gartner Inc. 和 Cisco 等公司发布的一些统计和研究,到 2020 年底将有大约 500 亿台设备互联,而 2020 年的人口预测是 76 亿。这意味着地球上的每个人平均拥有 6.6 台设备。

 

然而,许多这些设备只做一件事,可能不需要典型计算机的全部计算能力。因此,可以使用低成本计算平台,这些平台专门用于执行一项功能,并且功耗较低。使用这种计算平台还有助于减少对环境的碳足迹并节省能源。

 

物联网是如何演进的?

虽然互联网可能无法解决我们当今面临的所有问题和挑战,但它无疑是能够帮助解决许多挑战的一项技术。我们作为个人已经利用互联网的优势来帮助我们的事业和职业。现在,我们可以利用相同的技术来帮助改善那些尚未获得机会的社区和国家的教育、资源和援助的可及性。物联网有时被定义为将人、流程、数据和设备结合起来,使连接更相关、更有价值。

上面展示的大多数物联网设备仅传输信息,但创新正在创造能够将这些信息转化为行动的设备,这将为设备带来全新的功能,并为消费者提供更丰富的体验。

物联网也为个人、国家、组织和企业带来了新的经济机会。

随着越来越多的设备、数据和人互联,互联网的威力呈指数级增长。3Com 的创始人 Robert Metcalfe 说,网络的价值随用户数量的平方成正比增长。随着数十亿用户 [人与设备] 的连接,其价值变得难以置信。

通过将流程、人员、数据和设备整合在一起,我们就有能力为当今企业、个人和国家面临的特殊挑战创造指数级的应对方案。因此,物联网的需求比以往任何时候都更加相关。

当今有哪些现实世界的物联网设备和应用?

在深入研究操作系统和微控制器等技术细节之前,让我们先看看市场上目前实施物联网概念的一些有趣的应用和设备。

嵌入式平台

NEST:

Nest 是一款恒温器,安装在您现有恒温器的位置后,可以随时随地控制和跟踪您家的供暖。它还具有一些学习能力,可以根据您之前的用法自行编程以调整供暖。这款恒温器还能感知您不在家,并自动调整温度,以避免加热或冷却空置的房屋。该产品使用 Wifi 连接到互联网,还提供移动应用程序和 Web 应用程序,您可以通过它们进行交互。

https://nest.com/

Belkin WeMo 家居自动化

Wemo 是一系列产品,可以使用您的手机或任何支持互联网的浏览器进行控制。这些产品旨在实现家居自动化。例如,Wemo 开关取代了传统的开关,可以通过互联网打开和关闭;同样,还有其他产品,如智能慢炖锅、用于远程观看的 netcam 等。

http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/

Korner:

Korner 是一款家居安全产品,可用于家庭或公寓以保护门窗。

它使用传感器组合,这些传感器粘贴在您的窗户或门上,并与您路由器上的一个装置通信。一旦布防,如果门窗被打开,它会向您的应用程序发送警报,并从装置发出警报声。

https://www.indiegogo.com/projects/korner-home-security-anyone-can-use-and-everyone-can-afford

物联网的操作系统/平台有哪些?

以下是物联网智能设备中最常用的两种嵌入式平台。

Arduino: 

Arduino 是一款微控制器,带有用于构建不需要多任务处理的硬件项目的开发板。Arduino 是一个开源项目,其开发板基于 Atmel AVR 微控制器。最新型号除了模拟和数字 I/O 端口外,还提供 USB 接口。

Arduino 于 2005 年推出,面向需要简单且经济高效的方式来创建和测试与传感器和执行器交互的设备的工程师。它有自己的集成开发环境 (IDE),可以在计算机上安装,并且可以使用 C 或 C++ 语言编写 Arduino 程序。

有相当多的官方 Arduino 板,我已尽力在下面列出大部分

  • Arduino Diecimila in Stoicheia
  • Arduino Duemilanove
  • Arduino UNO
  • Arduino Leonardo
  • Arduino Mega
  • Arduino MEGA 2560 R3
  • Arduino Nano
  • Arduino Due
  • LilyPad Arduino

ArdOS 操作系统 for Arduino

ArdOS 是最近为 Arduino 板推出的操作系统,它基于 ATmega 168 和 ATmega328。有了 ArdOS,Arduino 现在具备了

  • 多任务处理 [真正的意义上]
  • 硬实时应用程序的优先级调度器
  • 用于软实时应用程序的带可配置时间片的轮询调度器
  • 睡眠功能
  • 空闲钩子,用于使其他进程能够利用空闲时间
  • 任务协调机制
  • 任务通信机制

 

Raspberry Pi 及其操作系统

Raspberry Pi 是由英国 Raspberry Pi 基金会开发的另一款单板计算机,用于在学校教授基础计算机科学知识。

Raspberry Pi 的性能大约与 iPhone 3Gs 相当,默认运行频率为 700 MHz,可超频至 800 MHz,它还具有与 2001 年 Xbox 相当的最低图形处理能力。由于配置较低,该板很少出现散热问题。

较新版本的固件提供 5 种预设超频模式供选择,超频或涡轮模式会尝试从 SoC 获取最大性能而不烧毁主板,这是通过监控芯片核心温度来实现的。以下是五种预设模式

预设

描述

 700 MHz ARM, 250 MHz 核心, 400 MHz SDRAM, 0 过压,

适度

 800 MHz ARM, 250 MHz 核心, 400 MHz SDRAM, 0 过压,

媒体

 900 MHz ARM, 250 MHz 核心, 450 MHz SDRAM, 2 过压,

 950 MHz ARM, 250 MHz 核心, 450 MHz SDRAM, 6 过压,

涡轮

 1000 MHz ARM, 500 MHz 核心, 600 MHz SDRAM, 6 过压。

 

Raspberry B 型号默认分配 128MB 给 GPU,剩余 128MB 给 CPU。它可以连接以太网适配器以连接网络,还可以通过端口连接通用键盘和鼠标。

以下是 Pi 上可用的操作系统

操作系统

描述

Raspbian OS

Raspbian OS 是一个基于 Debian [Linux] 的 Raspberry Pi 操作系统,独立于基金会开发和维护。

Risc OS

这是 Acorn 公司于 1987 年在英国剑桥设计的一款操作系统。开发 ARM 微处理器的团队是构建 Risc OS 的团队的一部分。该操作系统现在归 Castle Technology Ltd 所有,源代码由 Risc OS Open Limited [ROOL] 管理。

来源:RISCOS

计划 9

Plan 9 OS 作为操作系统和软件的捆绑包。软件是为 Plan 9 编写的,而不是从 Unix 或 Linux 移植的。大多数服务,如窗口系统、编译器、文件服务器和网络服务,都是为 Plan 9 操作系统全新编写的。

Android

流行的移动操作系统 Android 也可以在 Raspberry Pi 上运行。

 

上述嵌入式系统可以与传感器/执行器、连接和人员/流程结合使用,以创建功能齐全的物联网体验。

传感器和执行器

嵌入式系统可以连接到以下各种传感器以收集信息

  • 湿度传感器
  • 液位/倾斜传感器
  • 压力传感器
  • 温度传感器
  • 运动传感器
  • 接近传感器
  • 光学传感器
  • 加速度传感器
  • 负载传感器
  • 振动传感器
  • 化学传感器
  • 流量传感器

它们还可以连接到执行器,将收集或接收到的信息转化为行动,以下是一些执行器

  • 发光二极管 [LED]
  • 继电器
  • 电机
  • 线性执行器
  • 激光
  • 电磁阀
  • 扬声器
  • LCD 或等离子显示器

图片来源:Postscapes

连接性

嵌入式系统可以使用一系列连接方式与其他设备或互联网连接。

示例如下

  • WiFi
  • 蓝牙
  • RFID
  • ZIGBEE
  • NFC
  • 以太网
  • LTE
  • 3G
  • GSM
  • CDMA

图片来源: Postscapes

人员和流程

通过所选连接传输的信息可以由人员和流程使用,以采取行动或将信息重新传输到另一个嵌入式系统,以使用执行器执行操作,以下是一些示例

 

  • 化学传感器检测到燃气泄漏/烟雾,信息被传输到监控中心。立即派遣救援并通知受影响人员。
  • 家庭安全系统检测到入侵,呼叫相关部门并通知业主。派遣援助。
  • 负载传感器可以向供应商发起通信,要求发送更多库存,从而实现供应链管理自动化。
  • 汽车可以向服务中心发送诊断信息,服务中心安排维修。
  • 您的物联网恒温器将信息发送到云端,云端可以对其进行分析以管理您的能源支出。

图片来源: Postscapes

可穿戴平台

物联网的另一个平台是可穿戴平台。根据 Rackspace 最近的一项研究,美国和英国近 20% 的人口佩戴某种形式的可穿戴技术。

这些可穿戴设备主要提供关于他们健康状况的实时数据,或对世界的增强视图。但这些可穿戴设备很快就会成为物联网不可或缺的一部分,这将由大数据和云计算技术实现。然而,可穿戴设备也存在用户最关心的问题之一,那就是隐私。

以下是一些已经在市场或即将上市的可穿戴设备

  • Pebble
  • Apple watch
  • Samsung Gear
  • Fitbit

它们使用不同的操作系统,如修改版的 iOS、Android、Tizen。

开发环境

有几种 IDE 可用于 Arduino 和 Raspberry Pi 开发。以下是一些

Arduino 的 IDE

  • 用于 Visual Studio/Atmel Studio 的 Arduino IDE
    • Atmel Studio 是一个受 Visual Studio 启发的开发环境。它由 Arduino 中使用的微控制器制造商开发。
    • 它内置了可以为 Arduino 编译的编译器。
    • Arduino IDE 中使用的库也可以在 Atmel Studio 中使用。
  • Arduino Eclipse IDE
  • Mario Mole
    • 一个易于使用的 IDE 的替代开发环境。
    • 包括多项目集成、颜色主题、链接器选项等现代功能。
    • 轻量级且开源
  • 通用嵌入式计算 IDE (UECIDE)
  • macOS 上的 Xcode

开发者的机遇

物联网为开发人员和企业带来了新的创新机遇。这是商业的焦点转移,就像 .NET 的转移一样。

物联网还创造了对硬件和软件开发人员都同样有利的机会。最重要的是,物联网已经开启了一个新的浪潮,这个浪潮仍处于初级阶段,还有很长的路要走。

 

 

© . All rights reserved.