轻松搭建一个 IoT 通知设备

RS
RS
管理员
356
文章
0
粉丝
技术•随笔来源:CSDN评论4,018字数 2065阅读6分53秒阅读模式

作为该系列的启动项目,首先你将构建一个 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

轻松搭建一个 IoT 通知设备-图片1
图1 物联网通知设备系统框图

littleBits cloudBit 模块介绍

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

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

轻松搭建一个 IoT 通知设备-图片2
图2 littleBits cloudBit:用于IoT原型开发的WiFi模块
littleBits 系统架构包含如下内容:

  • 电源
  • Setup 按键
  • WiFi无线网卡(USB HOST)
  • 模拟输入
  • 模拟输出
  • micro SD 卡(用于安装Linux软件)
  • RGB LED
  • 512M DDR
  • i.MX23 处理器

轻松搭建一个 IoT 通知设备-图片3
 

图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。

轻松搭建一个 IoT 通知设备-图片4
 

图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 模块以及开发者自研的电路建立连接,从而实现信号传输和调制。

轻松搭建一个 IoT 通知设备-图片5
 

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

构建 IoT 通知设备

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

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

轻松搭建一个 IoT 通知设备-图片6
 

图6 Arduino触发电路连线图。需要注意加入切换开关
这是 Arduino 触发电路的原理图:

轻松搭建一个 IoT 通知设备-图片7
 

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

轻松搭建一个 IoT 通知设备-图片8
 

图8 proto-module 的信号引脚图
下图展示了构建 IoT 通知设备所需的所有连线情况。

轻松搭建一个 IoT 通知设备-图片9
 

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

轻松搭建一个 IoT 通知设备-图片10
 

图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 得到触发的条件语句将执行发送邮件的操作。

轻松搭建一个 IoT 通知设备-图片11
 

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

轻松搭建一个 IoT 通知设备-图片12
 

图12 通过 cloudBit applet 提供的设置方法,很方便就把邮件正文中设备名称改为”MrD”
applet 配置正确之后,就可以测试你的 IoT 通知设备了。

最终测试

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

轻松搭建一个 IoT 通知设备-图片13
 

图13 IoT 通知设备原型测试
以下是 cloudBit 发送到我邮箱的消息内容:

轻松搭建一个 IoT 通知设备-图片14
 

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

继续阅读
 
RS
  • 版权声明 本文源自 CSDNRS 整理 发表于 2017年7月2日 16:58:44
  • IoT
  • 物联网
unraid安装所需的工具 技术•随笔

unraid安装所需的工具

中文语言包: 翻译完成后,如您希望在本地(临时)测试结果, 需要将文本文件压缩到单个ZIP文件中. 将ZIP文件命改为您翻译的语言, 例如. zh_CN.zip. 在WEB GUI中如下设置: 工具 ...
关闭Windows10的自动更新 技术•随笔

关闭Windows10的自动更新

关闭Windows 10的自动更新可以通过几种不同的方法实现,以下是一些常用的方法: 通过设置关闭更新 打开“设置”应用。 点击“更新与安全”。 选择“Windows Update”,然后点击“高级选...
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证