本帖最后由 Jacktang 于 2019-6-25 21:05 编辑
选择从头开始设计无线物联网应用的工程师很快就会认识到这项任务很困难。首先,从头开始构建物联网网络系统需要了解许多不同的技术,包括无线协议,嵌入式代码开发和设备驱动程序开发。虽然许多经验丰富的工程师可能已经熟悉这些技术,但是编写移动设备应用程序和云代码开发以及确保足够的安全性等其他功能是相对较新的技能。
情况恶化的是,物联网新手可能没有很多基于MCU平台的硬件开发背景。 API,编程,硬件和软件兼容性以及监管许可和其他障碍的学习曲线可以转化为数周或数月的工程工作,只是为了创建功能原型。
因此,附近大多数物联网开发人员的愿望清单中最重要的是找到一种简单,快速的方式来指定硬件并生成必要的代码,以便他们能够尽快将他们的想法推向市场,这在快速变化的物联网领域尤为重要。
幸运的是,模块可用于几乎所有无线协议,包括ZigBee,Z-Wave,蓝牙和Wi-Fi。这些模块可用于缩短无线系统所需的上市时间和认证/认证时间。更重要的是,今天的模块已经发展到包含强大的处理器,可以通过Linux,C,C ++,Python和Java等常用语言进行编程,以管理整个应用程序。它们进一步有助于简化代码开发工作,因为开发人员可以依赖供应商提供的封装RF堆栈。
评估套件是一种流行的开发选项,因为它们提供了预制元件和功能齐全的示例应用程序将如何运行。开发套件还已经将模块的芯片正确连接,用于电源,接地以及输入和输出信号传输。一些更集成的套件选择还包括开箱即用的云连接,安全保护和FCC批准,以试图将无线物联网连接作为插件类型的练习。
在此文章我们将详细研究两个流行的物联网开发套件,并展示一个常见的典型功能 - 看门狗应用程序 - 在每种情况下都能轻松处理。
将ZigBee连接到Internet
无线连接是物联网应用的关键,通常是混合蓝牙和ZigBee等本地网关与传统的Wi-Fi网络。 ZigBee提供最大的无线250 kbps数据速率和高达100米的范围,已成为工业系统和传感器网络的流行解决方案。但是,ZigBee对许多应用程序缺乏关键要求:连接到Internet所需的本机IP连接。作为回应,Digi International等供应商提供Xbee ZigBee网关,这是一种无线方式,可以让数十个ZigBee设备透明地连接到互联网。
设计工程师可以快速启动他们的开发工作,为ZigBee带来无线互联网连接网络使用Digi International的Xbee ZigBee Cloud Kit(图1)。 Xbee ZigBee云套件的指定部件号为XKA2C-Z7T-U,旨在帮助工程师使用基于云的数据集构建快速原型。该套件包括:用于ZigBee到以太网/Wi-Fi的Xbee网关; Xbee-PRO ZigBee 2.4-GHz模块;带面包板的开发板;电缆和电源;示例Web应用程序;可配置的小部件和与Digi Device Cloud的集成 - 该公司的公共平台,用于连接任何设备并从任何地方向两个方向进行通信。
该套件还可通过可自定义的开源仪表板应用程序远程控制设备和数据。基本原型组件包括:LED仪表; 10KΩ电阻;温度传感器;电位器;振动电机;和音频蜂鸣器。
图1:Digi的Xbee ZigBee Cloud Kit拥有创建云连接无线原型所需的一切。该套件包括原型组件,如电线,LED,继电器电阻和温度传感器。 (图片由Digi International提供)该套件以Digi的Xbee ZigBee网关应用程序为基础,允许通过Python脚本语言定制嵌入式逻辑。 XBee Gateway具有标准的Python 2.7发行版,允许独立于设备开发和测试不依赖于Digi专有接口模块的应用程序。为了满足不同级别的Python专业知识和应用程序复杂性的客户需求,我们支持许多开发策略,可以根据开发人员的需要进行混合和匹配。 Xbee网关还具有Linux shell界面。虽然Digi ESP for Python旨在作为主编程接口,但此接口可用于某些编程和设备管理任务。
现在让我们来看看Xbee ZigBee Cloud Kit中的示例应用程序。通过Xbee看门狗模块提供的看门狗功能作为安全措施存在。如果存在“必须”定期发生的关键操作,否则系统将无法挽回地破坏,应用程序可以请求建立“监视器”。如果应用程序线程未在承诺的时间间隔内为其监视程序提供服务,则整个系统将重新启动。如有必要,这些软件看门狗可以更改其间隔,并可以删除。显然,使用这种软件监视器是最后的手段。
以下示例程序演示了看门狗功能:(:Digi International)import watchdog(1)
导入时间
w = watchdog.Watchdog('test',20)(2)
for x in xrange(1,6):( 3)
print“Step”,x(4)
time.sleep(10.0)(5)
w.heartbeat()(6)
print“在结束前的步骤...”(7)
time.sleep(60.0)(8)
print“结束后的步骤。”(9)
课程笔记(1-9):
监视程序模块包含程序所需的监视程序类。
创建一个名为“test”的监视程序对象,该对象将在20秒后过期。
循环五次(1-5)。
表示我们的迭代......
...每次迭代的睡眠时间少于超时,但总时间超过超时时间。
每次迭代将看门狗定时器重置为20秒,允许完成所有循环。
指示小循环已完成。
睡眠的时间间隔比超时长得多。
不应执行此print语句,因为系统应该由于看门狗超时到期而重新启动。
CC3200MCU LaunchPad?
Texas仪器的SimpleLink?Wi-Fi CC3200MCU LaunchPad(部件CC3200-LAUNCHXL,图2)是供应商CC3200无线微控制器的评估套件。它包括一个温度传感器和一个加速度计,通过附加的BoosterPack插件板,它可以集成其他传感器,帮助开发人员对其物联网应用进行原型设计。 LaunchPad具有驱动程序支持和软件开发工具包(SDK),其中包含40多种Wi-Fi协议,Internet应用程序和MCU外设示例应用程序。
图2:CC3200 LaunchPad是基于ARMCortexM4F的微控制器的低成本评估平台。它具有可编程用户按钮,用于自定义应用程序的RGB LED以及用于调试的板载仿真。 (图片来自Texas Instruments)该板可以直接连接到PC,用于开发工具,如Code Composer Studio(CCS)云集成开发环境(IDE)和IAR(v.7.20) )嵌入式工作台。 SDK中的所有示例应用程序都支持在带有CCS IDE且无RTOS的集成Cortex-M4处理器上。此外,一些应用程序支持Free RTOS和TI RTOS。
免版税的CC3200嵌入式Wi-Fi Foundation SDK包括两个主要构建模块:
SimpleLink Library - 托管提供连接功能的API。
< li>外设驱动程序库 - 托管访问MCU外围设备的API。
图3说明了CC3200 Foundation SDK中的各种软件组件及其形式。
图3:CC3200 Foundation SDK提供了一个易于使用的框架,该芯片托管在片上微控制器上,以使用WLAN网络服务,以及与外围设备接口的驱动程序的全面列表。微控制器。 (图片来自Texas Instruments)3200 LaunchPad开发套件中的应用示例包括:
电子邮件:只需按一下按钮,或通过CLI通过用户配置的电子邮件,即可通过SMTP发送电子邮件。
UART演示应用程序:展示UART DriverLib API的用法。该应用程序演示了用户在终端上输入的任何内容的简单回显。
I 2 C演示:展示I?CDriverLibAPI的用法。提供用户界面,用于读取或写入LaunchPad上的I 2 C设备。
MCU睡眠:练习MCU的睡眠功能。
PWM演示应用:演示通用定时器(GPT)支持的一般16位脉冲宽度调制(PWM)模式功能。
摄像头应用:演示CC3200上的摄像头功能(此应用需要相机BoosterPack。
天线选择:提供选择具有更多信号功能的天线的选项。
功率测量:允许用户测量各种低功耗的电流消耗-power模式。
看门狗系统演示应用程序
让我们来看看TI开发工具包如何处理看门狗演示应用程序,该应用程序探讨了看门狗定时器的使用情况( WDT)DriverLib API。正如预期的那样,当达到超时值时,WDT演示应用程序会生成中断或重置。与我们之前讨论过的Digi International套件一样,看门狗定时器用于在系统因软件错误或外部设备无法以预期方式响应而发生故障时重新获得控制权。
该看门狗系统演示应用程序在一个带有MCU和网络子系统的完整系统中展示了WDT。同样,目标是在系统出现故障时恢复整个系统,包括网络子系统。退出看门狗复位后,系统会立即请求休眠一小段时间,并且只有在从休眠状态返回后才能恢复其全部功能。这可确保从任何涉及网络子系统的复杂固定方案中恢复。
解释应用程序源文件
main - 显示监视程序功能的主文件LED闪烁10次然后保持在ON状态。
pinmux - 应用程序要求的Pinmux配置。
uart_if - 通用UART接口API
udma_if - 通用uDMA接口API
wdt_if - 通用看门狗接口API
用法
在使用中,您首先要设置一个串行通信应用程序(HyperTerminal/TeraTerm,请参见下面的图4)并在主机PC上打开一个超级终端,具有以下内容设置:
端口:枚举COM端口
波特率:115200
<代码>数据:8位
奇偶校验:无
停止:1位
< li> 流程控制:无
接下来,运行t他参考应用程序(Flash bin)并观察UART终端以了解应用程序执行的操作顺序。您将看到以下显示(图4):
图4:CC3200看门狗系统演示(图片由德州仪器提供)总结
从头开始构建物联网网络系统需要了解许多不同的技术。为了帮助工程师完成他们的项目,现成的评估工具包提供了一种通过构建基本系统来试验各种配置和测试应用程序的好方法。通过提供逐步指导,无线模块供应商使工程师能够快速熟悉无线连接可为其物联网解决方案带来的所有价值,以及这些完整的硬件组件和集成工具包如何让设计人员避开漫长的发展周期的时间和头痛。
|