当前位置:首页 > 通信技术 > 充电吧

在物联网世界中,各种电子设备通过无线电通信。比如基于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


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

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

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


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

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

电源

Setup 按键

WiFi无线网卡(USB HOST)

模拟输入

模拟输出

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

RGB LED

512M DDR

i.MX23 处理器


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


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


图5 cloudBit WiFi 模块的组件


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

构建 IoT 通知设备

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

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


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

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


图7 Arduino 触发电路原理图

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


图8 proto-module 的信号引脚图

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


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

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


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


图11 Arduino 触发 cloudBit 发送邮件

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


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

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

最终测试

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


图13 IoT 通知设备原型测试

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


图14 cloudBit 发送的邮件

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭