基于Arduino的蓝牙灯的设计与实现

2018-06-06 10:14刘佳玲
电脑知识与技术 2018年7期
关键词:电灯蓝牙物联网

刘佳玲

摘要:随着物联网和无线通信技术的发展, 人们对生活智能化的要求越来越高。家庭照明目前主要是利用墙面开关和遥控器控制电灯,存在位置固定、移动性差、控制距离短等问题。本设计通过对无线通信技术、手机APP制作、单片机控制等方面的研究,利用App Inventor开发软件开发一款手机APP,实现以手机为用户终端通过蓝牙无线通信技术控制Arduino开发板上连接的电灯。

关键词:物联网;蓝牙;Arduino;App Inventor;电灯

中图分类号:TN709 文献标识码:A 文章编号:1009-3044(2018)07-0070-03

Abstract:With the development of the Internet of things and wireless communication technology, people's demand for intelligent life is becoming more and more high. At present, family lighting mainly uses wall switch and remote control the electric lamp, which has the problems of fixed position, poor mobility and short control distance. Through the research of wireless communication technology、APP and MCU control, the development of a APP based on App Inventor software to realize mobile phone user terminal connected via Bluetooth wireless communication technology to control development board Arduino lamp.

Key words:IOT; bluetooth; Arduino; App Inventor; lamp

1 概述

藍牙技术是当前应用最广泛的无线通信技术之一,工作在全球通用的2.4GHz的ISM频段。蓝牙的工作距离约为100米[1],具有一定的穿透性,没有方向限制。具有低成本、抗干扰能力强、传输质量高、低功耗等特点。蓝牙技术组网比较简单,无需额外设置,只要两个蓝牙设备进入连接范围内,蓝牙就会自动搜索,实现配对连接,进行点对点信息传输[2]。目前个人电脑、手机等终端设备都具有蓝牙通信功能,可以利用手机蓝牙对其他的蓝牙设备发送控制信号进行无线控制。

2 蓝牙灯的总体设计

普通的照明灯泡没有蓝牙模块,没有办法接收蓝牙信号,所以本设计就是通过对普通灯泡的改造,让灯泡能接收蓝牙信号并被控制。蓝牙灯设计基本思路:手机与控制板通过蓝牙模块建立点对点的连接,然后手发送指令,控制板上的蓝牙模块接收到指令,最后操控连接在控制板上的灯泡。

蓝牙灯的总体结构分为手机终端APP、蓝牙通信、MCU控制3个部分。手机终端APP部分实现用户对灯泡的远程操作指令的发送;蓝牙通信部分实现接收操作指令并传送到MCU控制器;MCU控制部分实现对接收到的操作指令进行处理。蓝牙灯总体设计结构如图1所示:

3 蓝牙灯的硬件设计

3.1 MCU控制

MCU控制部门选用Arduino作为主控板。Arduino是一款便捷灵活、方便上手的开放源代码的软硬件平台[3]。硬件具有丰富的接口,有3.3V和5V电源供电、数字口、模拟口,同时支持串口通信。软件编程语言没有复杂的单片机底层代码,直接调用简单实用的函数就能实现功能。以下设计以Arduino Uno主控板为例。

3.2 蓝牙通信

蓝牙模块分为主模块和从模块,主模块既能接收信号,也能发送信号,而从模块只能接收信号,而不能发送信号。本设计中灯泡只需要接收控制信号,选用HC-06蓝牙从模块来接收控制信号。HC-06模块有四个引脚:VCC(3.3V)、GND(接地)、TXD(发送端)、RXD(接收端)。蓝牙模块与Arduino通过串口通信。Arduino的数字端口0、1是开发板串口的RX(接收端)和TX(发送端),分别与HC-06的TXD、RXD相连,如图2所示:

3.3 灯泡

灯泡属于大电流和高电压设备,无法直接用Arduino的数字端口进行驱动,所以选用继电器控制电灯的开和关。继电器是利用弱电信号控制继电器的吸起和落下,实现电路的闭合和断开。从而实现Arduino用弱信号控制大电流、高电压通断,间接控制灯泡回路中的电流通和断、灯泡的亮和灭的目的[3]。

我国照明采用三相四线制供电系统,要求中线(零线)上不允许安装开关和保险(熔断器),继电器实际就是一个开关,所以将灯泡的电源正极的连线从中间断开,分别连接继电器的公共端和常开端。

Arduino判断接收到的信号如果是“开灯”,相应的将数字端口(本文选用数字端口8)赋高电平(1),高电平送到继电器S端,继电器常开开关闭合,灯泡点亮;判断接收到的信号如果是“关灯”,相应的将数字口8赋值底电平(0),底电平送到继电器S端,继电器常开开关复位,灯泡熄灭。蓝牙灯具体硬件连接和程序如图2、3所示:

3.4 蓝牙灯硬件测试结果

使用手机蓝牙串口调试助手,监控串口数据。根据Arduino蓝牙灯程序中的编写,在手机蓝牙串口调试助手窗口中输入1时,收到“dengliang”字符串,继电器吸合,灯泡亮;输入0时,收到“dengmie”字符串,继电器复位,灯泡灭。检测结果说明蓝牙灯硬件能实现接收信号、处理信号的功能。

4 蓝牙灯手机APP的设计

手机终端APP部分实现用户对灯泡的蓝牙远程操作。本设计采用Google公司专门开发了一款图形化手机编程软件App Inventor。这款软件不需要具备一定专业知识也可以使用,软件已经事先将按钮、文字输入输出等软件代码编写成不同的模块,用户只需根据自己的需求拼装就可以。

手机终端APP部分需要具有搜索蓝牙设备、连接蓝牙设备、断开蓝牙设备、灯泡的亮灭功能。手机终端APP部分设计结构示意图如4所示:

图4 蓝牙灯手机APP结构图

蓝牙灯APP整体代码模块如图5所示:

编写的Android程序,将生成APK文件,通过扫描二维码下载或者手机数据线下载到手机上。安装后,会在手机桌面形成蓝牙灯APP图标。打开图标进入到APP界面。APP界面如图6所示:

5 蓝牙灯的调试

蓝牙灯APP对灯泡硬件的完全控制,还需要两部分合起来进一步的调试。需要注意APP中“开”和“关”按钮操作所代表的数值是“1”和“0”,而蓝牙灯控制部分Arduino程序中,也要对“1”和“0”做出判断。整体实物图如图6所示:

首先,打开手机的蓝牙功能,让手机与HC-06配对,输入配对秘密“1234”,配对成功。其次,打开手机安装好的App,点击“搜索蓝牙”按钮,连接蓝牙,提示APP已连接上HC-06蓝牙模块。最后,点击灯泡灭图片,灯泡亮;点击灯泡亮图片,灯泡灭。通过调试最终实现了手机App对蓝牙灯远程控制。

6 结论

本文设计的蓝牙灯在原有的电灯上设计和改造,并通过了实物改造进行了验证,证明了蓝牙灯的可靠性。为物联网和Arduino的初学者提供了学习案例。本设计中只对电灯的亮灭进行了控制,还可以扩展更多的功能,比如可以调节明暗度,墙面开关和手機App开关协同操作等。

参考文献:

[1] 董健.物联网与短距离无线通信技术[M].北京:电子工业出版社,2014: 43-58.

[2] 赵红伟,严正国.蓝牙灯控开关的设计与应用[J].电脑知识与技术,2015,1(32): 219-220.

[3] 赵志.Arduino开发实战指南(智能家具卷)[M].北京:机械工业出版社,2015:1-23.

[4] 胡越,周腾鹤,梁东升.基于蓝牙的安卓平台智能灯控制系统设计与实现[J].物联网技术,2016(5):14-16.

[5] 殳佳辉. 基于蓝牙的家庭智能照明系统设计[J].电子科技,2014(22):7-8.

[6] 陈吕洲.Aduino程序设计基础 [M].北京:北京航空航天大学出版社,2015.

[7] 赵英杰.完美图解Arduino互动设计入门[M].北京:科学出版社,2017.

[8] 赵英杰.超图解物联网IOT实作入门[M].台湾:旗標出版股份有限公司,2016.

[9] 王向辉.可视化开发Android应用程序—拼图开发模式App Inventor 2[M].北京:清华大学出版社,2015.

猜你喜欢
电灯蓝牙物联网
蓝牙音箱的直线之美
电灯突然不亮了
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
中国或成“物联网”领军者
SOCCKET玩球发电灯