您现在的位置是:首页 > 功率器件 > 技术解析

如何轻松搭建一个IoT通知设备

时间:2017-07-06 来源: 关键字:控制   测试   微控制器   

在世界中,各种电子设备通过无线电通信。比如基于802.11 b/g/n的WiFi协议和BLE(低功耗蓝牙)允许这些电子设备使用其通信方案共享数据。像ESP8266和ESP32这样的无线芯片使得厂商和工程师能够轻松进行物联网产品开发和试验。在本项目系列中,你将使用无线平台监控和控制各种电子电路以及配件,借此你将加深对 IoT 概念的理解。

作为该系列的启动项目,首先你将构建一个 IoT 通知设备,当被外部设备触发时,它会发送邮件到你的桌面电脑、笔记本电脑或者移动设备(手机或者平板)。为了构建这套系统,你需要一个Arduino Uno开发板、 littleBits cloudBit、物联网移动设备应用程序以及一些常用的电子元器件。

零件清单

触觉按钮开关

Arduino UNO 开发板

LED 灯

330欧、1/4瓦电阻

1千欧、1/4瓦电阻,

littleBits cloudBit

littleBits proto-modules,2个

littleBits USB电源(参见 littleBits cloudBit 链接)

littleBits 安装板(参见 littleBits proto-modules 链接)

无焊面包板

littleBits电源适配器(参见 littleBits cloudBit 链接)

跳线帽

IFTTT (IF This Then That) Applet

 

blob.png

 

图1物联网通知设备系统框图 littleBits cloudBit 模块介绍

在正式构建项目之前,你需要先了解一下 littleBits 这个很有意思的 WiFi 模块。cloudBit模块使得各种电子设备和器件能够轻松连接到家庭WiFi网络。这个模块非常小巧,依靠它 PCB 板上的 IC 技术可轻松实现联网,从而监控和控制其他的 littleBits 模块。

此外,硬件开发套件(HDK)也为 littleBits 以外的模块提供电路接口。cloudBit模块的系统架构由9个子电路组成。

 

blob.png

 

图2 littleBits cloudBit:用于IoT原型开发的WiFi模块

littleBits 系统架构包含如下内容:

电源

Setup 按键

WiFi无线网卡(USB HOST)

模拟输入

模拟输出

micro SD 卡(用于安装Linux软件)

RGB LED

512M DDR

i.MX23 处理器

 

如何轻松搭建一个IoT通知设备

 

图3 9个子电路构成了 cloudBit 系统架构

cloudBit 模块的 WiFi 无线收发器封装在一个 USB 适配器中,生产厂商是 Dynamode,其部件号为 WL-700N-XS, 它是符合802.11n / g标准的 WiFi 设备。其工作频率范围从2.4到2.4835GHz, 该范围使得这款模块能够运用于ISM(工业、科技和医疗)领域。此外,这款由 Dynamode 打造的 USB 接口的WiFi适配器仅需5V DC电源即可供电,非常方便,同时它的功耗极低,只有0.6W。

 

blob.png

 

图4 cloudBit WiFi 芯片组高度封装在一个 USB 适配器中

基于 Linux 的 WiFi 软件存储在 microSD 卡中,其接口在 cloudBit PCB 板的右下角。RGB LED 灯用来指示 cloudBit 处于运行还是设置状态。cloudBit 的 Setup 按键是一个非常小巧的瞬时开关,cloudBit 通过它开启对家庭网络的检测和连接。cloudBit 模块中最核心的部件是 NXP 的 i.MX23 处理器。

除了处理外部 IO 信号以外,i.MX23 处理器的内部电路提供无线(WiFi)控制功能。cloudBit 模块通过外扩一个512M DDR SDRAM 芯片,来帮助 i.MX23处理器更好地处理大量的 WiFi 数据。DDR SDRAM 的 WiFi 数据传输速率需要 16条地址线、15条数据线和13条控制线的支持。 cloudBit模块通过模拟 IO 口和其他 littleBit 模块以及开发者自研的电路建立连接,从而实现信号传输和调制。

 

blob.png

 

图5 cloudBit WiFi 模块的组件

如你所见,cloudBit 模块尺寸小巧,提供的无线功能却不失强大。通过上文你应当已经大致了解了 cloudBit 的架构,那么接下来就可以开始动手构建 IoT 硬件了。

构建 IoT 通知设备

我们将使用 Arduino 搭配简单的外围电路来实现一个激活 cloudBit 的触发器。对触觉开关进行编程,可以使其触发 cloudBit 发送邮件、短信或者执行其他更加丰富的动作。当 cloudBit 接收到触发信号时,它将通过你的家庭网络执行发送邮件的动作。

因此,该项目的第一步就是搭建触发电路(很简单,你可以使用面包板,如下图所示)。

 

blob.png

 

图6 Arduino触发电路连线图。需要注意加入 切换开关

这是 Arduino 触发电路的原理图:

 

blob.png

 

图7 Arduino 触发电路原理图

Arduino 触发电路搭建完毕,就可以添加 cloudBit 模块了。使用 littleBits 组件提供连接 Arduino 触发电路和 cloudBit 模块的电气接口。proto-module 是主要使用的组件,它有三个引脚:接地(gnd)、信号(sig)和Vcc。

 

blob.png

 

图8 proto-module 的信号引脚图

下图展示了构建 IoT 通知设备所需的所有连线情况。

 

blob.png

 

图9 IoT 通知设备的完整电气连线图

基于这个原型可以搭建出多种连接方式的系统。我通过给这个原型附加一个智能逻辑探针,搭建了下图所示的系统,用于测试整套 IoT 通知设备的运转,其中 cloudBit 由littleBits 电源适配器供电。

 

blob.png

 

图10 作者搭建的 IoT 通知设备原型。安装板用于支持 littleBits 模块,智能逻辑探针用于原型测试。

至此,你已经完成了 IoT 通知设备的电路搭建,下一步需要通过添加 Arduino 代码以实现触发功能。

添加 Arduino 代码

在本小节中,你需要将代码上传到 Arudino 以使 IoT 通知设备能够运转。代码主要修改了 Arduino IDE 中的“Button” 部分,添加了一个数字电平输出用于触发 cloudBit。按下按钮将打开 LED 并将 D6 引脚设置为高电平。

修改的代码片段如下:

// constants won't change. They're used here to // set pin numbers: const int buttonPin = 5; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin const int trig_out = 6; // output pin to trigger cloudBit // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); // initialize the cloudBit trigger pin as an output: pinMode(trig_out, OUTPUT); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on and trigger outpin: digitalWrite(ledPin, HIGH); digitalWrite(trig_out, HIGH); } else { // turn LED off and trigger outpin: digitalWrite(ledPin, LOW); digitalWrite(trig_out,LOW); } }

把代码上传到 Arduino 后,你需要把 IFTTT applet 添加到你的 IoT 通知设备原型中来。

添加 IFTTT Applet

借助Facebook、Gmail、Instagram和Twitter网络服务,搭配必要的物理设备(如微控制器),可以预先为 cloudBit 构建 IFTTT applets 的触发器。IFTTT applets 是免费的,它使用条件语句作为目标服务的操作基础。比如在项目中,当 Arduino 触发 cloudBit 时,littleBit applet 得到触发的条件语句将执行发送邮件的操作。

 

blob.png

 

图11 Arduino 触发 cloudBit 发送邮件

只有正确地设置 cloudBit ,它才能被你的家庭无线网络检测到。关于 cloudBit 的设置方法, littleBits website 提供了详细说明。此外,你需要在 IFTTT applet service website 创建一个免费的账户,以便使用 littleBits 触发你的 cloud 模块发送电子邮件。在注册帐户时,务必提供你要用于该项目的邮件地址。注册之后,你可以使用设置功能修改 applet。在本例中,我修改了 applet 中 cloudBit 无线传输事件,我把我的别名 MrD 添加在了邮件正文中。

 

blob.png

 

图12 通过 cloudBit applet 提供的设置方法,很方便就把邮件正文中设备名称改为”MrD”

applet 配置正确之后,就可以测试你的 IoT 通知设备了。

最终测试

按下面包板上的按钮将促使你的 IoT 通知设备向你发送电子邮件,邮件内容将由主题和你在 applet 中设置的正文组成。

 

blob.png

 

图13 IoT 通知设备原型测试

以下是 cloudBit 发送到我邮箱的消息内容:

 

blob.png

 

图14 cloudBit 发送的邮件

至此,你拥有了一个带有通知功能的 IoT 设备。回想一下,这个项目通过使用一个Arduino、littleBits cloudBit 、其他的littleBits 模块以及一些现成的电子元器件,实现了一个 IoT 应用。你还可以尝试设置 applet 来显示新的邮件信息,同时把新的观察结果记录下来。在下一个项目中,你将构建一个能够控制各种电路和外设的 WiFi 设备。同时介绍 littleBits 云平台的使用,它可以帮助你监控和控制你的 IoT 原型设备。

换一批

延伸阅读

[资讯] 采用降压型控制器产生负电压

采用降压型控制器产生负电压

这款解决方案的评估采用了 DC2727A 演示板,图 2 示出了 VOUT2 效率。另外,这种方法在我们 LTC3892-2 的 LTspice® 仿真模型中也是可用的......

关键字:降压 控制器

[资讯] 关于TMC2300制定物联网和便携式设备标准

关于TMC2300制定物联网和便携式设备标准

最低功耗来自于Trinamic尖端的StealthChop2斩波器和芯片使用了集成电荷泵的极低电阻。与CoolStep™结合使用,可延长运行时间并节省多达90%的能源,TMC2300非常适合物联网和手持设备、电池供电的设备、PO......

关键字:互联网 运动控制

[资讯] 关于BLDC基本原理、电路设计

关于BLDC基本原理、电路设计

BLDC 电机通过反向电机设置消除了使用机械换向器的要求;绕组成为定子,永磁体成为转子的一部分。 绕组通常由使用脉冲宽度调制 (PWM) 控制的六 MOSFET 电桥供电,它们按照控制次序进行转向,产生旋转磁场,从而“拖拽”围绕它的转子并驱......

关键字:电机驱动器 控制器芯片

[资讯] Alfamation获得电池管理系统功能测试仪1级订单

Alfamation获得电池管理系统功能测试仪1级订单

Alfamation获得了向领先的一级汽车电池管理系统(BMS)和锂离子电池供应商提供功能测试仪的订单。 ......

关键字:Alfamation 电池管理 功能测试仪

[资讯] 江苏省印发机器人产业发展行动计划 3年打造千亿级产业集群

江苏省印发机器人产业发展行动计划 3年打造千亿级产业集群

记者日前从省工信厅获悉,为加快培育高端装备产业集群,我省印发《江苏省机器人产业发展三年行动计划(2018?2020年)》,目标是三年内全省机器人产业产值达1000亿元,年均增长35%以上。 ......

关键字:工业机器人 控制器 江苏
发表评论 共有条评论
用户名: 验证码:

教你电子信号输入实施过压保护的可靠新方法

教你电子信号输入实施过压保护的可靠新方法

通常,常见的简单设计方法是使用外部保护二极管,通常是瞬态电压抑制器(TVS)二极管,安……

高功率密度DC/DC模块电源

高功率密度DC/DC模块电源

产品拥有18-75V超宽输入电压范围,工作温度范围为-40℃ to +85℃,具有输入欠压保护,……

迟暮的联想,真跨过拐点了?这或许是联想人最不愿揭开的伤疤。

迟暮的联想,真跨过拐点了?这或许是联想人最不愿揭开的伤疤。

在不久前的2019年世界制造业大会上,杨元庆提到,要实现从制造大国向“制造强国”的跨……

项目外包

  • 最新上传
  • 下载排行