思考一下今天的互联网。网站和网络服务通过所谓的 API(应用程序编程接口)经济进行深入对话。Facebook、Weather.com 和 ESPN 等网站都提供 API,云端的其他部分可以利用并与之交互。通过这种 API 经济,数据的交换是自由流动的且规模庞大。
然而,唯一参与这种对话的事物通常是计算机、笔记本电脑和智能手机。当其他电子设备开始参与这种数据交换时会发生什么?
开源社区已经回答了这个问题。通过开源硬件和软件,开发人员创建了可以利用这些预先存在的 API 的嵌入式解决方案。这意味着开发人员可以通过查询 FedEx.com 在包裹到达时使 LED 闪烁,或者将加速度计传感器值数据记录到 Dropbox 或 Google Drive,或者在有故障的热水器底部检测到水时呼叫您的手机。
Twitter 控制的台灯
可以使用开源工具和 Twitter 来控制台灯
- 德州仪器 SimpleLink™ Wi-Fi® CC3200 LaunchPad 无线微控制器 (MCU)
- 数字控制继电器
- Energia IDE,用于开发嵌入式固件
- Node-RED 图形化编程工具,用于开发云端应用程序
几种开源工具结合在一起,创建了一个简单的云控制设备。借助继电器,开发人员可以控制常见的家用设备,例如台灯或咖啡机。除了开源之外,上述硬件的成本也低于 40 美元。这是一个例子,说明了互联网创客的准入门槛是如何降低的。借助易于访问的硬件和开源工具,开发人员能够利用现有设计,甚至可以添加自己独特的风格并回馈社区。
Twitter 控制的台灯,不到 40 美元的开源硬件,由免费和开源软件驱动。
让我们仔细看看这个例子。
云的作用
首先,我们需要利用 Twitter API 来检查任何包含主题标签 #myLight 的公共推文。为此,我们将使用一个名为 Node-RED 的开源图形化编程工具。Node-RED 是一个基于 Node.JS 的图形环境,它使开发人员能够通过可以连接在一起的图形节点“将物联网连接在一起”。
为了查询 Twitter,此应用程序使用了 Node-RED 节点调色板中可用的“Twitter”节点。Twitter 节点使用 Twitter API 定期 ping Twitter。如果 Twitter 节点看到包含所需主题标签的公共推文,则会返回整个 Twitter 字符串并将其发送到下一个节点。我们 Node-RED“流程”中的下一个节点是通用的 JavaScript 函数节点。当双击此 JavaScript 函数节点时,开发人员将看到完整的 JavaScript IDE(集成开发环境)。此时,可以将开源代码复制并粘贴到 IDE 中,这将使我们能够解析传入的 Twitter 字符串。为了找到这段代码,我只需在互联网上搜索“解析字符串 JavaScript 代码示例”。瞧,那里有数十个示例代码等待被利用。借助此代码示例,我们能够查看字符串是否包含指定的关键字(例如 ON 或 OFF)。如果是这样,则此 JavaScript 函数节点可以向流程中连接的下一个节点(MQTT 节点)返回“1”或“0”。
MQTT 是一种用于物联网的标准化发布/订阅通信协议。在本例中,基于 Node-RED 的云应用程序可以将“1”或“0”发布给订阅者。在本例中,订阅者是一个互联网连接的 MCU 开发套件,称为 LaunchPad。LaunchPad 是众多可用的微控制器开发套件之一,它们都是开源硬件。原理图和设计文件均可下载,这使得开发人员可以轻松地在需要时将其产品化或制造出来。
开源硬件的作用
本例中的 LaunchPad 已使用 Energia(一个开源的、社区驱动的 IDE)进行编程。使用开源 MQTT 库,LaunchPad 已被编程为订阅云端应用程序正在发布的“1”或“0”消息。如果收到“0”或“1”,LaunchPad 可以切换连接到继电器的引脚以打开或关闭电路。Energia 提供了广泛的易于使用的 API,这些 API 在线记录,使开发人员能够控制 LaunchPad 目标 MCU 上可用的许多输入和输出引脚。
互联网创客
会发推文的冰箱、会检查天气预报的洒水系统以及与您的手机同步的恒温器正开始成为大型零售商处可行的且可用的解决方案。除了我们口袋里的手机或咖啡桌上的平板电脑之外的产品,现在才开始连接到无所不知的云端。然而,支持互联网的家庭并不是什么新鲜事物,自制解决方案已经存在多年,其中许多是开源的,并且在网站和论坛上完全记录在案,随时可以复制。
虽然物联网 (IoT) 是我们进入 2015 年的热门话题,但可以说互联网创客的意义更加重大。这些创客社区是第一批多米诺骨牌。不仅是早期采用者,而且是构思和创造创新的人。互联网创客为物联网铺平了道路,众筹、开源硬件和免费的、可流式传输的点播教育等概念只会加速更多新想法的浪潮及其通过快速原型实现的实现。在本文中,我们将探讨这些概念将如何导致物联网及更远未来的不可避免的实现。
正如 Twitter 控制的台灯所展示的那样,互联网创客已经促成了一个充满活力的可重用硬件和软件构建模块社区。这些开源工具降低了创新的准入门槛。借助 Node-RED 等开源工具,传统上精通硬件的开发人员可以在云端做有意义的事情,例如通过抽象的可视化节点 ping Twitter 或其他云服务。相反,LaunchPad MCU 开发套件等开源工具与 Energia IDE 相结合,使传统上仅从事软件开发的开发人员能够与嵌入式硬件接口,这些硬件可以通过传感器、执行器等与现实世界互动。
随着开源工具继续使强大的技术更易于访问,工程和计算机科学以外行业的解决问题者将可以使用曾经只有传统工程师和计算机科学家才能使用的工具。借助对新工具和硬件的这种可访问性,医疗保健工作者有可能解决只有他们才能看到的问题,并且有经验充分理解和理解这些问题。装配线工人或工业工厂员工可以帮助提高流程效率。教师可以通过创新的媒介以新的方式向学生解释复杂的概念。
开源硬件和软件正在彻底改变各行各业的人们解决问题的方式,互联网创客社区将在行业内部和跨行业相互支持。
硬件
连接
本文是 Rikki Endsley 协调的开放硬件连接专栏的一部分。通过发送电子邮件至 open@opensource.com,分享您关于不断发展的开源硬件社区以及来自世界各地的创客和创客的精彩项目的故事.
1 条评论