IOT 音乐盒。





5.00/5 (6投票s)
物联网概述。
引言
本文涉及物联网基础知识,并阐述了物联网的构成。
背景
需要对互联网的基本知识有所了解,包括其工作原理、设备如何通信以及对物联网的基本概述。
让我们从嵌入式系统开始
什么是嵌入式设备?
这些设备体积小巧,并带有专门的计算系统。这些系统可以连接起来并通过互联网进行通信。
嵌入式系统如何工作?
通常,这些设备安装了精简版的操作系统。它们具有操作系统的基本功能,但功能有所减少。
我们可以将嵌入式系统分为几种不同类型
移动操作系统:- 例如 Android、iOS、Windows、Firefox 或基于 Linux 的手机。这些移动设备具有不同寻常的功能,因为它们可以轻松连接到互联网,或者具有蓝牙、NFC 等其他功能。
终端:- 这些系统安装了专用操作系统,它们没有通用的图形用户界面,而是优化了基于控制台的界面。
例如:ATM 机
可穿戴设备:- 这些设备可以与高端或低端计算设备通信,并根据预先编程的指令集执行操作。它们之所以被称为可穿戴设备,是因为它们可以包裹在身上或穿戴在身上,一些可穿戴设备是智能手表的形式,上面安装了定制的操作系统。
典型示例是
三星 Gear 2 智能手表,安装了 Tizen OS
即将发布的新款基于 Android Lolipop 的智能手表。
新款 Apple Watch 也是一个例子
专用开发板
革命性的基于 Intel 架构的 Galileo 板,内置专用芯片,可使用 Arduino IDE 进行编程,从而开始工作,并帮助我们根据喜好制造新一批嵌入式设备或连接的物联网设备或网络。
Intel Edison 芯片
Intel® Edison 开发平台是首个系列低成本、可量产、通用计算平台,它降低了所有规模的创业者的入门门槛 — 从创客到消费电子和工业公司,这些公司都致力于物联网 (IoT)。
Intel® Edison 将强大的功能集集成到其小巧的尺寸中,提供出色的性能、耐用性以及广泛的 I/O 和软件支持。这些多功能特性有助于满足广泛客户的需求。
什么是物联网?
物联网是连接在互联网上的独一无二的嵌入式设备组成的网络。它也被称为通过互联网连接的计算机的全球网络。它还包括 WWW、FTP 等,允许设备连接到互联网。
物联网可以被视为“未来互联网”的潜在集成部分。
物联网可以被视为一个系统之系统,因为我们在不同的子级别拥有不同的能力设备。
一个设备可以作为物联网网络成员的功能可以总结如下:
收集和传输数据
设备可以与其他设备协同工作,并通过感知环境来发送和接收数据。
通信辅助
设备拥有技术和媒介,可以在更广泛的巨大网络上传输数据。
物联网为何发展
跨互联网连接设备已经变得轻松且更加趋向于绿色解决方案。
物联网发展的另一个原因是更快的互联网连接,这有助于设备保持连接,并且它们之间的通信变得非常迅速。
G -> 2G -> 3G -> 4G
更便捷的连接
大多数嵌入式设备的内存都较小,但由于技术进步,我们可以将数据存储在外部存储器、片上系统(SoC)或云端,从而实现无缝交互。
什么设备?
微控制器
微控制器可以被视为一个集成在一个芯片上的小型计算机,包含处理器核心、内存和可编程输入/输出外设。
例如:Intel Galileo、Intel Edison 芯片
传感器
传感器是能够测量物理量并将其转换为信号的设备,该信号可以被微控制器单元读取和解释。
传感器通常分为两类:模拟或数字。
通信模块
通信模块是设备的一部分,负责与物联网平台的其余部分进行通信。它们根据其设计的有线或无线通信协议提供连接。
物联网设备与互联网之间的通信最有可能通过两种方式进行:
a)存在一个支持互联网的中间节点作为网关。
b)物联网设备可以直接与互联网通信。
电源
设备始终需要电力或其他形式的电源才能运行或保持功能。
移动设备和可穿戴设备主要由可充电的小型轻便电池供电。
微控制器、片上系统、Intel Galileo 在线供电。
通信技术
这些设备,也被称为“事物”,需要通过互联网进行通信或“交谈”,以交换数据或建立连接。通信媒介将通过有线或无线系统。
RFID
射频识别(RFID)技术最初是用于通过称为标签的小型电子芯片来识别和跟踪物体。
现在,人们正在尝试使用近场通信(NFC)来实现物联网,但 NFC 的唯一问题是它只能在近距离范围内工作。
NFC
NFC 是一种短距离无线通信形式,其中使用的天线比载波信号的波长小得多。天线可以产生电场或磁场,但不能产生电磁场。许多手机现在使用电场 NFC,工作频率为 13.56 MHz,对应波长为 22.11 米。
通信也可以在 NFC 设备和未供电的 NFC 芯片(称为标签)之间进行。
NFC 基于 RFID 系统,允许端点之间进行双向通信。
有关 NFC 和物联网的更多新闻可以在这里找到
http://www.nfcworld.com/technology/internet-of-things-iot/
蓝牙
设备中的蓝牙有助于连接小型设备。例如,Adafruit、Intel Galileo 可以协同工作以进行通信并形成网络。
Zigbee
Zigbee 是一套高级通信协议的规范,用于创建由小型低功耗数字无线电组成的个人区域网络。Zigbee 基于 IEEE 802.15 标准。Zigbee 设备可以通过网状网络中的中间设备传递数据,从而传输到更远的距离。
Wifi
Wifi 也称为 IEEE 802.11x 标准,是连接设备最常见的方式。它允许设备使用 2.4 GHz UHF 和 5 GHz 超高频无线电波交换数据或连接到互联网。
移动互联网
移动互联网是指通过手机访问互联网的方式。它是物联网的一部分的重要设备之一。移动互联网允许移动设备以各种方式进行交互并共享不同的数据,并可以构成基于物联网的网络骨干。
操作系统、开发环境和平台
这是物联网最重要的一部分,因为它是设备之间以预先编程或动态方式交互的方式。操作系统可能是市场上操作系统的精简版,功能较少,但具有允许交互的基本功能。例如,适用于 Intel Galileo 的嵌入式 Windows 8。高度优化的操作系统与物联网设备捆绑在一起。
Ex
想象一个微控制器,例如兼容 Arduino IDE 的设备,其编程基础是 Processing 语言。
其他操作系统可能是 Linux 的优化版本等。
让我们看看 Gen 1 的 Intel Galileo 板的 Arduino IDE 是如何工作的
Gen1 Intel Galileo 板看起来是这样的
需要两根 USB 线缆将 Intel Galileo 连接到 PC
Intel Galileo 的电源插头
Intel Galileo 的电源输入
关于 Intel Galileo 板 Gen 1 的一点要注意的是,为了让 Gen1 Intel Galileo 板正常工作,您需要将两根 USB 线缆从板连接到 PC。
连接的两根 USB 线缆
Arduino IDE 的一瞥
当我们把 Intel Galileo 板连接到 PC 并启动 Arduino IDE 时。您可以在此处找到适用于 Intel Galileo 的 Arduino IDE:https://communities.intel.com/docs/DOC-22226。您需要做的事情是:
i) 当 Intel Galileo 通过板上的插孔连接到电源时,您会看到一个 LED 灯亮起,以确认板已正常工作。
ii) 两根 USB 线缆已连接到 PC
iii) 驱动程序已安装
iv) 将程序传输到 IDE 的过程是先编写程序,然后上传程序,进行编译,然后您会收到传输完成的消息。
Arduino 接口
当 Intel Galileo 连接到 Arduino IDE 时,您需要在工具选项中选择 Intel Galileo。
在工具选项中检查串行端口。
我们需要编写程序、保存然后点击上传按钮,我们需要检查它是否能编译。
Windows 嵌入式
对于 Windows 嵌入式,需要将 MicroSD 卡插入 Galileo 板的 Micro SD 插槽。更多详情请见:
http://dev.windows.com/en-us/featured/windows-developer-program-for-iot
编程部分在 Visual Studio 中完成,目前只支持 C++ 语言,并且更新了 Arduino IDE 的草图。
这对开发者意味着什么
这是一个对高性能计算行业来说变化极快的时代,创新始终是关键。物联网为开发人员开辟了一个新的机遇世界,因为在当今时代,具有多样化技能的开发人员可以为物联网平台做出贡献。例如,Linux 内核开发人员可以为特定于物联网界面的移动设备开发独特的 UI 体验。
HTML 和 JavaScript 开发人员可以以 Web 管理的方式创建与不同设备交互的界面。
微软的粉丝可以轻松地进入支持 Windows 嵌入式 OS 的 Intel Galileo 开发。我们有各种有能力的设备可以以不同的方式,甚至独特的方式进行交互。
一个懂 Processing 语言的 Java 开发人员可以轻松地进行基于 Arduino IDE 的开发以及 J2ME。
有助于开发人员的项目
Windows 物联网开发者计划
Windows 物联网开发者计划将帮助开发人员重新定义用于小型设备的 Windows 嵌入式。它将帮助开发人员为连接的设备设计独特的解决方案。与 Windows 嵌入式的 Arduino 集成将有助于快速的硬件开发。Windows 嵌入式与 Visual Studio 的集成将开发出一个强大的生态系统。开源有助于互相提供统一的解决方案并帮助改进生态系统。
http://dev.windows.com/en-us/featured/windows-developer-program-for-iot
英特尔物联网部门用于新创新工作
在这里,您将找到有关物联网开发套件、教程和入门指南以及示例的信息。物联网论坛非常活跃,您将获得有关开发人员如何找到与设备交互的新方法的许多更新。
根据微软的说法,您的企业为何需要立即利用物联网。
i) 抢占竞争先机
是时候制定物联网战略了,这样您的企业才能领先,而不是追赶。
ii) 充分利用现有的 IT 资产
从现有的 IT 资产开始,并在此基础上进行构建。添加一些新设备,将它们连接到云端,并使它们能够与我们的员工和客户进行交互。
iii) 实现小改变,带来大影响
物联网不必令人生畏。
您的物联网始于识别对您最重要的一个流程、产品线或地点,然后做出小小的改变以产生巨大的影响。将工厂车间的机器人与后端系统连接起来,创建一个更具持续正常运行时间的生产线。为药房库存数据集添加过期日期,节省数千美元的药品浪费。将一个手持设备连接到您的库存系统;突然之间,您就拥有了销售楼层的实时客户服务。物联网不必令人望而生畏 — 几个关键的改进就能带来巨大的差异。
iv) 提高效率
连接设备和系统可以帮助您节省用户登录过程中的几分钟,库存补货中的几小时,或系统例行升级和增强中的几天。当数据在设备之间以及通过云端无缝流动时,您可以比以往任何时候都更高效地访问和使用它。这意味着花费更少的时间来提取报告,而将更多的时间用于根据您的新见解创建新服务和产品。
v) 发现取悦客户的新方法
从商店里使用最少的试衣间到推动最强优惠券销售的关键词,每一份数据都是客户正在寻找的产品和体验的线索。可视化新兴模式并预测行为,以预测趋势,并在客户知道他们想要之前就满足他们的需求。
vi) 开启新的商业机会
连接设备、数据和人可以让您拥有更快的流程和新的见解,从而带来新的商业机会。结合 GPS、自动售货机和 RFID 签到,驾驶员可以加入汽车共享服务并在几分钟内开车离开。自动化石材切割过程使工匠能够满足不断增长的需求,而不会牺牲质量。您从数据中获得的见解有助于您看到新的可能性。
vii) 提高敏捷性
数据洞察力可以帮助您更快地应对竞争、供应链变化、客户需求和不断变化的市场条件。收集和分析数据可以让您快速了解趋势,因此您可以调整生产活动、微调维护计划或寻找更便宜的材料。有了物联网,您可以花费更少的时间猜测,而将更多的时间用于采取行动。
viii) 建立可扩展性
与新合作伙伴、新技术、新设备和新数据流合作时,新的想法就会诞生。您突然让您的员工和技术以以前无法想象的方式协同工作。新的数据机会使您能够将重点从维修机器转移到长期优化其性能。比较不同门店的绩效可以帮助您识别最成功的服务,并在全国范围内推广。物联网使您能够从最小的数据点扩展到全球部署。
ix) 让您的设备开始“交谈”
设备有潜力说很多话,但只有当有其他人或事物在另一端与之互动、做出反应和倾听时,它们才能发挥作用。传感器可以告诉您的分销中心系统哪些配送路线会延迟。机器生成的数据可以告诉您的运营团队哪些远程服务站最快需要维修。从传感器到手持扫描仪再到手术器械,您业务中的设备可以创造效率和洞察力,如果您能让它们与彼此、您的员工和客户进行交流。
x) 转型您的业务
当您拥有一个利用物联网的战略 — 并与能够提供正确平台、服务、工具和合作伙伴生态系统的公司合作 — 您就可以实时地改变您的业务。微软及其合作伙伴拥有技术和经验,可以帮助您在您的业务中应用您的物联网,这样您就可以停止仅仅经营您的业务,而是开始让它蓬勃发展。
物联网项目的关注点
开始物联网项目最好的地方是深入研究 GITHUB 项目,因为我们可以获得完整的代码,并且可以学习并贡献回去。
您可以看看的 Github 仓库:
Connect Anything
Connect AnyThing 允许从手机、平板电脑或笔记本电脑远程控制和实时简单编程您的 Galileo 开发板。
https://github.com/IntelOpenDesign/ConnectAnyThing
Cylon.JS for Intel IOT
Cylon.js 是一个用于机器人和物理计算的 JavaScript 框架,使用 Node.js。
该存储库包含适用于 Intel Edison 和 Intel Galileo 物联网平台的 Cylon 适配器。
https://github.com/hybridgroup/cylon-intel-iot
Galileo-IO
Galileo-IO 是一个 Firmata.Js 兼容类,用于编写在 Intel Galileo 或 Intel Edison 上运行的 Node.js 程序。
https://github.com/rwaldron/galileo-io
Libmraa
用于在 GNU/Linux 平台上通信的低级骨架库。
用 C/C++ 编写的库,用于以结构化和清晰的 API 与 Galileo 和其他 Intel 平台接口,端口名称/编号与主板匹配,并提供 JavaScript 和 Python 绑定。
目的是让开发人员和传感器制造商更容易地将他们的传感器和执行器映射到支持的硬件之上,并允许通过高级语言和构造控制低级通信协议。
https://github.com/intel-iot-devkit/mraa
参考文献
http://www.microsoft.com/windowsembedded/en-us/intelligent-systems.aspx
https://communities.intel.com/docs/DOC-22226
https://communities.intel.com/docs/DOC-22872
http://dev.windows.com/en-us/featured/windows-developer-program-for-iot
http://en.wikipedia.org/wiki/Main_Page
http://whatis.techtarget.com/definition/Internet-of-Things
http://www.microsoft.com/windowsembedded/en-us/internet-of-things.aspx
历史
这是本文的第一次更新。