0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用 Electric Imp 平台快速启动物联网产品开发

电子设计 来源:互联网 作者:佚名 2017-11-07 15:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

设计互联网连接产品需要掌握众多技能。开发人员必须知道如何编写嵌入式软件和构建电路板,还要了解如何保护设备安全,以及如何将设备连接到网络以便进行远程更新和管理。

为单个物联网产品开发原理和建立架构可能具有很大挑战,且非常耗时,成本昂贵。开发团队需要一种方法,能够快速启动开发,最大程度减少在典型设计周期中需要完成的工作,从而可以满足成本和上市时间要求。

现在已出现了许多不同的物联网平台可以帮助实现这一目标,但 Electric Imp 提供的平台尤其引人注目,因为该平台集成了所有必要的硬件和软件,可让开发人员快速启动开发。

本文将介绍 Electric Imp 物联网平台及其使用方法。

定义 Electric Imp 物联网平台

Electric Imp 平台是一个为开发人员提供完整物联网设备连接和管理解决方案的物联网平台。该平台包含了开发团队需要的所有构件,可帮助他们快速开发产品并投入生产。这些构件包括:

全集成硬件

嵌入式操作系统

驱动器

API

云服务

代码库

安全解决方案

首先,开发人员将其传感器和专有硬件连接到 Electric Imp 无线电模块,该模块不仅包含定制软件,还包含管理到 Imp Cloud 的安全连接的 ImpOS(图 1)。最终用户和开发人员都能通过移动设备使用一个称作 BlinkUp 的应用,将其 Wi-Fi 设置提供给产品或开发平台。一旦 Imp 硬件获取了 Wi-Fi 信息,即可安全地与 Imp Cloud 直接通信,还可通过云与互联网连接。

图 1:Electric Imp 平台提供了成熟的全集成硬件、软件、操作系统、API、云服务和安全功能,可快速将物联网设备连接到云。(图片来源:Electric Imp)

使用像 Electric Imp 这样的物联网平台,可为开发人员带来多种优势:

显著缩短产品上市时间

专注于公司的核心专业技术,而非互联网连接

提升产品价值并增强产品差异

无需构建连接基础架构和掌握相关专业知识

Electric Imp 硬件

Electric Imp 硬件为开发人员提供了一组标准硬件,包括:

802.11 b/g/n or a/b/g/n Wi-Fi 收发器

32 位 ARM® Cortex® 处理器

坚固耐用的嵌入式操作系统,提供故障保护固件更新

用户可选的 I/O 接口,例如 GPIO、PWM 和 Analog In

通过 SPI、UARTI2C 进行通信

这些模块由 Murata Electronics 制造。对设计人员而言,主要的区别在于内部处理器、Wi-Fi 连接选项以及封装。例如,imp005 (LBWA1UZ1GC) 基于 320 MHz ARM Cortex-R4 处理器,可同时在 2.45 GHz 和 5 GHz 频段工作。而 imp003 (LBWA1ZV1CD) 基于 144 MHz ARM Cortex-M4F 处理器,仅可在 2.45 GHz 频段工作。它们都采用表面贴装式封装(图 2)。

图 2:imp005(左)和 imp003(右)模块集成了 Wi-Fi 模块和 ARM Cortex 微控制器,以最大程度地减小设备尺寸。(图片来源:Murata Electronics)

没有分线板,表面贴装式封装将难以访问。imp003 采用了 IMP003-BREAKOUT,它是一种简单的分线装置,包括一个 USB 接口(可供开发人员用于为设备供电)、模块编程所需的光电晶体管(使用 Electric Imp 独有的 BlinkUp 方法设置 Wi-Fi),以及一些其他支持元件(图 3)。

图 3:imp003 分线模块是一种低引脚数的开发板,能够让开发人员轻松地熟悉和使用将用于最终产品的 Electric Imp 硬件。(图片来源:Murata Electronics)

imp005 分线板有些复杂,因为 imp005 模块不仅有更多的引脚数,而且还有性能更加强大的 ARM Cortex-R4 处理器(图 4)。imp005 分线板还包括了以太网支持、一个用于设备供电和连接到主机的标准 USB 接口以及光电晶体管。

图 4:imp005 分线模块让开发人员能够使用性能更加强大的 imp005,它包含 ARM Cortex-R4 微控制器,还包括高级连接选项,例如 USB 和以太网。(图片来源:Murata Electronics)

使用 BlinkUp 设置 Electric Imp

所有物联网设备面临的一个共同问题是如何利用本地 Wi-Fi 路由器信息为设备编程。Electric Imp 通过一种独特的方法解决了这个问题,它使用光电晶体管,为设备进行 SSID 和密码信息的编程。

平台和最终产品的用户将 Electric Imp BlinkUp 应用下载到移动设备上,然后将其网络信息输入该应用中。收到提示时,用户对准光电晶体管按一下移动设备。接着,移动设备的屏幕会闪烁一个命令序列,它可为 Electric Imp 硬件进行编程(图 5)。编程完成之后,即可开始开发工作。

警告!在进行网络信息编程时,不要盯着移动设备屏幕。这样可能导致剧烈头痛或癫痫发作。

图 5:使用 BlinkUp 应用,开发人员或用户可输入 Wi-Fi SSID 和密码,并通过从移动设备到光电晶体管的一系列闪烁,轻松将这些信息传输到 Electric Imp 模块。这种方法无需蓝牙或 USB 等额外连接。(图片来源:Electric Imp)

开发人员将 Electric Imp 模块连接到互联网之后,该模块将向 Imp Cloud 注册一个唯一的 ID。在 BlinkUp 应用中可以找到这个 ID。这个唯一 ID 可用于标识模块身份,并将模块连接到在线开发环境。该 ID 还可用于将固件更新推送至产品以及管理设备。用户可以登录到开发环境,然后创建新的软件应用(也称为“模型”),再将模块 ID 与该模型相关联,通过这种方式将模块连接至云(图 6)。

图 6:要通过云将模块连接到软件模型,只需查看可用 Imp 模块列表,然后将现有软件模型或新模型连接到设备即可。(图片来源:Electric Imp)

一旦创建好模型,开发人员即可访问在线开发环境。通过这种方式,他们可为 Electric Imp 模块编写软件和要在云中运行的代码,以便与模块进行通信。服务器和模块应用代码使用名为 Squirrel 的脚本语言编写。Squirrel 的表示法类似于 C 编程语言,因此对于大多数嵌入式开发人员而言,这种转换是非常自然的。

开发环境分为三个主要部分。第一个部分是服务器端代码,也称为代理代码。第二个部分是设备代码,一旦编译好脚本,即可部署到模块并由 Imp Cloud 进行管理。第三个部分是日志,可用于监控代理和设备行为,还可用于调试。

图 7:Electric Imp 开发环境是一种完全集成的环境,能够让开发人员通过单个视图,同时处理其设备固件和云软件。(图片来源:Electric Imp)

使用闪烁 LED 程序显示“Hello World”

在 Electric Imp 模块上构建和运行应用非常简单。我们可从较高的抽象层级,将对象分配给硬件功能。这样一来,Imp 模块和底层微控制器将变成一个黑盒。

开发人员采取的第一个步骤是通过终端或闪烁 LED 打印“Hello World”。我们看一下闪烁 LED 所需的代码。

首先,开发人员需要登录开发环境,并创建“Hello World”或“Blinky”模型,然后将其分配给目标模块。如任何应用一样,开发人应该分配和配置引脚及变量。在本例中,如果 LED 连接到引脚 5,则开发人员可以编写相应代码,以配置 LED 并创建状态变量(列表 1)。

// Create a global variable called 'led' and assign the 'pin' object to it

led <- hardware.pin5;

// Configure 'led' to be a digital output with a starting value of digital 0 (low, 0V)

led.configure(DIGITAL_OUT, 0);

// Create a global variable to store current state of 'led‘

state <- 0;

列表 1:为 Electric Imp 模块编写软件非常简单,只需使用预先存在的库和 Squirrel 脚本语言即可。此脚本可配置 LED 及创建状态变量。(代码来源:Electric Imp)

然后可以编写简单的应用功能,让 LED 闪烁(列表 2)。

function blink()

{

// Invert the value of state:

// when state = 1, 1-1 = 0

// when state = 0, 1-0 = 1

state = 1 - state;

// Write current state to 'led' (which is pin9)

led.write(state);

// Schedule the imp to wakeup in 0.5 seconds and call blink() again

imp.wakeup(0.5, blink);

}

列表 2:通过一组可简化开发的库,可以让 LED 闪烁或控制硬件,从而大幅缩短开发时间。在本例中,我们使用了一个简单函数来访问 LED 资源,并通过 ImpOS 将函数执行延迟 500 毫秒(代码来源:Electric Imp)

大功告成!这就是配置 LED 并让它在硬件上闪烁所需的全部 Squirrel 代码。LED 程序的代码长度不足十行,开发人员也不需要知道任何 ARM 内核寄存器。如此一来,便可轻松访问高级 API,从而减少开发人员的工作负担。

将外部传感器集成到 Electric Imp 模型中

将外部传感器和元器件集成到 Electric Imp 平台也比较简单。平台允许开发人员使用 #require 指令包括一个已经开发好的库,与 C 编程语言中的 #include 指令相似。我们已经开发了多种类型的库,可供开发人员随时使用。这些库包括:

网络服务

实用工具

硬件驱动程序

产品开发人员可将继电器、加速计、磁力仪等各种器件连接到 Electric Imp 模块,然后使用已为这些元器件编写的库,从而快速启动设计。这些库可从 Electric Imp 开发中心网站获取。

图 8:Electric Imp 提供了各种各样的库,从启动开发的那一刻即可随时使用。这些库可以加快开发速度,让用户能够非常便利地使用常用硬件设备和软件服务。(图片来源:Electric Imp)

Electric Imp 物联网平台使用技巧与窍门

在使用像 Electric Imp 这样的物联网平台时,开发团队必须考虑多个注意事项。首先,Electric Imp 模块在单个封装中集成了两个主要元器件(Wi-Fi 无线电和微控制器)。这种集成可以节省成本和板空间。第二,在为产品选择元器件时,开发人员应该查看现有的硬件和驱动程序库。使用现有库有助于加快开发周期。

最后,开发人员必须牢记:Electric Imp 不直接连接到互联网。所有通信都必须先通过到 Imp Cloud 的安全连接方可执行。然后使用代理,将信息传送到更大范围的网络。开发人员在云侧还可以使用第三方服务库,例如数据存储和分析。应该尽可能使用库提供的现有代码。

总结

如果设计人员使用现有技术,并且充分利用物联网平台,他们将能非常快速地开发物联网设备。通过充分利用市场上的物联网平台,开发人员能够专注于自己的专业领域,从而将基础架构问题留给其他公司处理。正如我们所看到的那样,Electric Imp 物联网平台是一种独特而有趣的解决方案,值得我们进一步深入研究。独特有趣

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2941

    文章

    47368

    浏览量

    408708
  • 嵌入式操作系统

    关注

    1

    文章

    124

    浏览量

    32290
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Nordic经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台:Thingy91X套件

    Birkenes 说:“没有比 Thingy:91 X 更容易开始蜂窝物联网应用开发的方案了。我们倾听了客户在试图将先进的蜂窝物联网产品快速
    发表于 12-15 10:39

    直播预告 | 中服云工业物联网平台企业版产品,企业数字化转型提供核心支撑

      「看直播领好礼」关注中服云,回复:进群 中服云工业物联网平台企业版面向中大规模企业,提供海量设备的数据采集,数据建模分析。 主要包含8大能力:数据采集与控制、基础物联组件集、快速开发
    的头像 发表于 12-02 16:43 408次阅读
    直播预告 | 中服云工业物<b class='flag-5'>联网</b><b class='flag-5'>平台</b>企业版<b class='flag-5'>产品</b>,企业数字化转型提供核心支撑

    MQTT网关对接到物联网平台快速开发应用

    在物联网(IoT)数据流转体系中,MQTT 网关与物联网平台的对接是打通设备端与云端的关键链路,而基于 API 数据接口的系统开发则是实现数据价值转化的核心环节。二者的协同应用,正成为
    的头像 发表于 11-03 11:13 193次阅读

    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    ——基于NXPS32K344的ECU快速原型开发平台,RT-Thread程翧S32K344快速原型开发
    的头像 发表于 10-31 11:53 576次阅读
    首搭RT-Thread程翧车控<b class='flag-5'>平台</b>| RT-Thread程翧 S32K344 <b class='flag-5'>快速</b>原型<b class='flag-5'>开发</b><b class='flag-5'>平台</b>正式上市!| <b class='flag-5'>产品</b>动态

    工业物联网平台有哪些低代码应用

    在工业物联网领域,低代码平台通过可视化开发、模块化组件和预置模板,显著降低了开发门槛和周期,同时支持灵活扩展与集成。以下是工业物联网
    的头像 发表于 09-24 14:49 426次阅读

    联网平台应用环境监控:低代码零编程简化开发,组态应用

    复杂开发转化为“拖拽组件、关联设备”的简单操作,让企业无需编程也能快速搭建、灵活调整监控系统,适配工业、园区、农业等多场景环境监控需求。 一、低代码零编程:打破技术壁垒,人人能搭监控系统 物联网
    的头像 发表于 08-29 15:33 623次阅读

    【嘉楠堪智K230开发板试用体验】通过K230连接商业物联网平台CTWING

    一.前言 K230开发板带了一个WIFI模块,能够连接互联网传输数据,对于处于当前物联网时代的我们,能够将设备连接到物联网平台也是至关重要的
    发表于 08-29 01:02

    IOT 云平台解决方案如何广泛应用物联网场景?低代码组态开发是关键

    专业技术团队即可快速落地物联网场景。这种“数据联动+低门槛开发”的双重能力,正在推动物联网应用从“单点监控”向“系统协同”升级,覆盖工业、农
    的头像 发表于 08-15 17:16 839次阅读

    低代码物联网平台是什么?看完这篇,你就领先一步

    在物联网技术快速渗透各行各业的今天,低代码物联网平台正成为打通设备互联、数据分析与业务应用的核心载体。它并非简单的技术叠加,而是融合了低代码开发
    的头像 发表于 08-14 15:16 560次阅读

    低代码开发平台是什么?零编程零成本搭建

    低代码物联网平台是种融合了低代码开发能力与物联网(IoT)技术的云端服务平台,其核心目标是大幅降低物
    的头像 发表于 07-31 15:25 598次阅读

    工业物联网平台有哪些类型?有什么功能?

    工业物联网平台根据其功能和应用场景的不同,可以分为设备连接与管理平台、数据分析与预测平台、应用开发与集成
    的头像 发表于 05-08 10:57 591次阅读
    工业物<b class='flag-5'>联网</b><b class='flag-5'>平台</b>有哪些类型?有什么功能?

    TurMass™ TK8620 开发平台使用体验报告

    TurMass™ TK8620 开发平台使用体验报告 ​一、引言****​ TurMass™ TK8620开发平台是上海道生物联技术有限公司推出的物
    发表于 04-24 02:18

    智慧消防物联网平台

    本人想建立一个物联网智慧消防平台,想找懂技术的有合伙意愿的共同投资开发,有感兴趣的联系我13633612945
    发表于 04-15 22:18

    中服云工业物联网平台系列产品简介

    在工业数字化转型的浪潮中,中服云工业物联网平台系列产品脱颖而出,为不同规模和需求的企业提供了全面、专业的物联网平台解决方案。该系列
    的头像 发表于 03-05 11:25 631次阅读

    哇!5.2秒进入应用界面!Linux快速启动方案分享,基于全志T113-i国产平台

    本帖最后由 Tronlong创龙科技 于 2025-1-23 10:30 编辑 本文主要介绍基于创龙科技TLT113-EVM评估板(基于全志T113-i)的系统快速启动显示Qt界面、LVGL
    发表于 01-23 09:53