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 物联网平台是一种独特而有趣的解决方案,值得我们进一步深入研究。独特有趣

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

    关注

    2904

    文章

    44304

    浏览量

    371456
  • 嵌入式操作系统

    关注

    1

    文章

    118

    浏览量

    31514
收藏 人收藏

    评论

    相关推荐

    基于迅为RK3568开发板全国产平台快速实现APP开机自启动技术分享

    基于迅为RK3568开发板全国产平台快速实现APP开机自启动技术分享
    的头像 发表于 11-21 13:58 258次阅读
    基于迅为RK3568<b class='flag-5'>开发</b>板全国产<b class='flag-5'>平台</b>,<b class='flag-5'>快速</b>实现APP开机自<b class='flag-5'>启动</b>技术分享

    芯科科技第三代无线开发平台助力物联网设备升级

    和首席技术官DanielCooley探讨了人工智能(AI)如何推动物联网(IoT)领域的变革,同时详细介绍了芯科科技不断发展的第二代无线开发平台所取得的持续成功以及即将推出的第三代无线
    的头像 发表于 11-08 15:18 296次阅读

    工业智能网关快速接入移动OneNET平台配置操作

    OneNET是由中国移动打造的PaaS物联网开放平台,能够帮助用户轻松实现设备接入与设备连接,快速完成产品开发部署,成端到端完整链路物
    的头像 发表于 11-06 17:24 218次阅读
    工业智能网关<b class='flag-5'>快速</b>接入移动OneNET<b class='flag-5'>平台</b>配置操作

    低代码物联网平台是什么?有什么功能?

    平台应运而生,为开发者提供了一种简便、高效的方式来构建物联网解决方案。   什么是低代码物联网平台? 低代码物
    的头像 发表于 10-16 13:59 177次阅读

    边缘计算物联网平台是什么

    随着物联网(IoT)技术的飞速发展,万物互联已成为现实。然而,面对海量数据的处理与实时响应需求,传统的云计算模式逐渐显露出其局限性,如数据传输延迟、带宽消耗大、数据安全与隐私保护等问题。为了解决这些问题,边缘计算物联网平台应运而
    的头像 发表于 09-07 14:16 242次阅读

    哇!0.8秒启动!Linux快速启动方案分享,全志T113-i国产平台

    本文主要介绍基于创龙科技TLT113-EVM评估板(基于全志T113-i)的系统快速启动方案,适用开发环境如下。 Windows开发环境:Windows 7 64bit、Windows
    发表于 08-22 11:54

    雷迪埃微型连接器IMP系列

    雷迪埃的IMP(Interconnect Micro-miniature Pressure)系列是一款可满足现代科技高性能需求的创新互连解决方案。从雷达系统到先进的天线,IMP连接器在简化安装和维护过程的同时,可以提高系统的效率和可靠性。
    的头像 发表于 08-15 16:41 624次阅读
    雷迪埃微型连接器<b class='flag-5'>IMP</b>系列

    4.3s,Linux快速启动优化方法分享,基于全志T113-i国产平台

    、工业PLC、物联网网关、通讯管理机等应用场景对系统启动的时间都会有所要求。 当系统启动时间过长时,用户需要很长时间才能开始使用系统,不仅会对产品的精准度和实时性有所影响,而且过长
    发表于 07-09 11:50

    翱捷科技荣获2023中国移动物联网优秀供应链合作伙伴

    4月11日,中国移动物联网生态合作大会在重庆召开,大会以“连万物 汇众智 创未来”为主题,从中移坤灵物联(OneNET)、移动物联网商城、物联网
    的头像 发表于 04-16 10:26 604次阅读
    翱捷科技荣获2023中国移<b class='flag-5'>动物</b><b class='flag-5'>联网</b>优秀供应链合作伙伴

    MediaTek推出T300 5G RedCap平台,适用于低功耗物联网设备

    在刚刚结束的的2024世界移动通信大会(MWC 2024)上,全球领先的半导体公司MediaTek正式宣布推出其5G RedCap(5G轻量化)产品组合的新成员——MediaTek T300平台。该平台专为低功耗物
    的头像 发表于 03-07 09:54 660次阅读

    如何快速打造属于自己的工业物联网平台

    如何快速打造属于自己的工业物联网平台 工业物联网平台是工业4.0的核心,是实现智能制造、智能物流、智能工厂的重要手段。在
    的头像 发表于 01-25 16:51 600次阅读
    如何<b class='flag-5'>快速</b>打造属于自己的工业物<b class='flag-5'>联网</b>云<b class='flag-5'>平台</b>

    【解决方案】物联网平台+边缘网关,助力智慧农业温室大棚项目快速落地

    万物纵横提供的ThingsKit物联网平台+边缘网关产品组合,具有轻量化交付、维护成本低的特点,解决了传统方案设备难以统一管理、开发难度大、维护成本高的问题,缩短项目整体交付周期,助力
    的头像 发表于 01-18 17:42 1160次阅读
    【解决方案】物<b class='flag-5'>联网</b><b class='flag-5'>平台</b>+边缘网关,助力智慧农业温室大棚项目<b class='flag-5'>快速</b>落地

    ThingWorx/Vuforia—工业物联网和AR平台

    ThingWorx是美国PTC公司旗下的一款物联网和AR平台,它提供了适用于IoT的开发工具和能力,使开发者可以为工业物联网
    的头像 发表于 12-12 09:09 499次阅读
    ThingWorx/Vuforia—工业物<b class='flag-5'>联网</b>和AR<b class='flag-5'>平台</b>

    如何用万界星空科技低代码平台快速开发一个MES系统?

    如今,越来越多的企业选择低代码开发平台,让企业实现数字化转型。但是你好奇“低代码开发平台”能做什么吗?“低代码开发
    的头像 发表于 12-08 11:39 555次阅读
    如何用万界星空科技低代码<b class='flag-5'>平台</b><b class='flag-5'>快速</b><b class='flag-5'>开发</b>一个MES系统?

    全志T113平台Uboot、内核、文件系统快速启动配置

    哪些应用场景需要快速启动 很多应用场景对系统启动时间都有严苛的要求,例如在工业组态屏、工业HMI、机器人示教器、工业PLC、物联网网关、通讯管理机等应用场景对系统
    发表于 12-06 09:36