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

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

    关注

    2860

    文章

    41250

    浏览量

    357375
  • 嵌入式操作系统

    关注

    1

    文章

    115

    浏览量

    31318
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    4.3秒!基于全志T113平台快速启动方案分享

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

    4.3秒!基于全志T113平台快速启动方案分享

    为了满足客户需求,我司对T113-i原生系统进行剪裁,得到一个可快速启动的程序镜像。经测试,eMMC配置核心板从上电至进入文件系统的时间为4.3秒,从上电至显示Qt界面的时间为7.7秒。详细数据请参考如下表格:
    的头像 发表于 11-24 17:30 856次阅读
    4.3秒!基于全志T113<b class='flag-5'>平台</b>的<b class='flag-5'>快速</b><b class='flag-5'>启动</b>方案分享

    惯性传感器助力运动物联网

    电子发烧友网站提供《惯性传感器助力运动物联网.pdf》资料免费下载
    发表于 11-24 11:42 0次下载
    惯性传感器助力运<b class='flag-5'>动物</b><b class='flag-5'>联网</b>

    MCU在线技术讲座-EFM和EFR: 面向物联网开发的通用MCU平台

    开发人员了解专门针对物联网开发而优化的EFM和EFR系列MCU平台,我们将针对亚洲地区于2023年12月12日上午10点(北京时间)在线举办全新MCU专题的Tech Talk技术讲座-
    发表于 11-23 13:45

    如何低门槛快速开发---趣味有创意的ZigBee智能产品

    包的概念所设计,提供了产品级的能力,同时高度封装 Zigbee 协议栈。 这意味着开发者无需关心具体的实现原理,使用业务接口即可快速开发 Zigbee
    的头像 发表于 11-10 17:58 378次阅读
    如何低门槛<b class='flag-5'>快速</b><b class='flag-5'>开发</b>---趣味有创意的ZigBee智能<b class='flag-5'>产品</b>?

    企业接入物联网开发平台时最容易踩的几个雷点!

    作为工业4.0的核心动力引擎,其如何提供低成本、低门槛、高效、可靠的工业数字化转型服务引起人们的极大关注。 中服云物联网开发平台提供企业级物联网
    的头像 发表于 10-16 14:03 251次阅读

    阿里云物联网平台基础概念讲解

    产品 设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。每个产品下可以有成千上万的设备。
    发表于 09-11 07:41

    浅谈工业物联网平台

    。是由四川酷哞哞有限公司自主研发得百万级接入量的工业互联网平台,采用云-边-端架构,可以帮助企业快速、低成本的自建工业互联网平台,满足企
    发表于 08-10 15:45

    使用Waylay IO低代码平台进行物联网开发

    电子发烧友网站提供《使用Waylay IO低代码平台进行物联网开发.zip》资料免费下载
    发表于 06-15 11:37 1次下载
    使用Waylay IO低代码<b class='flag-5'>平台</b>进行物<b class='flag-5'>联网</b><b class='flag-5'>开发</b>

    动物联网高质量发展论坛在京举办

    中国通信标准化协会董事长闻库在致辞中回顾了中国移动物联网的发展历程。移动物联网快速发展是产业数字化和数字化管理更强的连接提供连接能力和更大
    的头像 发表于 06-09 09:43 482次阅读

    安科瑞EIOT能源物联网平台介绍

    收费运营;某栋楼楼管,仅需几块表,对楼层进行能源计量管理;某个小工厂,想要管理自家小工厂的电力计量;某个物联网系统集成商想要直接获取物联网产品的数据,需要一个统一的管理平台;传统的商业
    发表于 04-20 10:31