Arduino/Android 蓝牙通信系统设计解决方案

随着当今安全管理的发展需求以及国家对安全监控行业的支持,这几年,安全监控行业发展迅猛,各类监控系统百花齐放。传统的温度监控系统通过有线或其他方式传送温度数据,而本文提出了利用蓝牙无线传输数据的设计方案,这种利用蓝牙传输的设计方法,可以节约成本,提高生产效率和工作的灵活性。

1.系统硬件设计

Arduino 是一块基于开放源代码的 USB 接口 Simple I/0 接口板 (包括12通道数字GPIO4通道PWM输出6~8通道10bit ADC输入通道),该系统的硬件主要由ArduinoUNO主控板、ArduinoXbee 传感器扩展板、蓝牙串口模块和数字温度传感器组成。

1.1 Arduino:UNO主控板

对于开放原始码的电路图设计,可通过程式开发界面免费下载,也可依照需求自己修改使用低价格的微处理控制器ATMEGA328P-PU;可依据官方电路图简化Arduino模组,从而完成独立运作的微处理控制器;还可简单地与传感器、各式各样的电子元件(如红外线、超声波、热敏电阻、光敏电阻、伺服电机等)进行连接:USB 接口可以不需外接电源,500 mA自恢复保险丝可以避免电脑USB 电源过载,另外,还有提供VDC输入接口,USB 与外接电源可自动切换。在应用方面,利用Arduino 可以突破以往只能使用滑鼠、键盘、CCD 等输入装置的互动内容,因而可以更简单地达成单人或多人游戏互动。

1.2Arduino Xbee 传感器扩展板

ArduinoXbee传感器扩展板 V5含有RS485总线/无线数传/蓝牙口,其主要功能是使蓝牙芯片、温度传感器与主控板相连。

1.3蓝牙串口模块

DF-BluetoothV3 蓝牙模块采用独特双层板设计,既美观又可防止静电损坏模块。可以设计两个电源输入口,一个宽电压供电 (3.5~8 V),一个3.3V供电,以适用于各种场合。系统可以用STATE和LINK指示灯清晰显示模块工作状态和连接状态,其中,STATE状态有搜索状态(高 104 ms,周期342 ms,2.9 H 闪烁)和连接状态(高 104 s,周期20.5 Hz闪烁);而LINK 状态一般在配对后常亮。

1.4数字温度传感器

选用DS18B20数字温度传感器可以对环境温度进行定量检测。DS18B20数字温度传感器是美国DALLAS公司生产的单总线数字温度传感器。其测温范围为-55~+125C,固有测温分辨率为0.5C,可支持多点组网功能,多个DS18B20 可以并联在唯一的三线上实现多点测温,测量结果以9~12位数字量方式串行传送

2.系统的软件设计

2.1Arduino 控制软件设计

Arduino具有类似于Java和C语言的IDE 集成开发环境,其编程语言类似于C语言,用户可以通过USB 接口直接进行编程和通信。Arduino端软件的主要功能是要主控板将温度感应器探测到的温度通过蓝牙芯片传递给手机终端。

2.2Android 手机端软件设计

Android是基于Linux内核的操作系统。Android的实质是一种软件架构,主要由操作系统、中间件以及一些关键应用组成。作为由Linux+Java构成的开源软件,Android 已经越来越多地出现在我们的生活中:手机、平板电脑,还有将来的电视甚至汽车。它是当今最火爆,市场占有率最高的移动终端操作系统。而手机端主要通过蓝牙接收Arduino端传递过来的数据并在手机界面上显示。

3.蓝牙通信

3.1蓝牙技术简介

蓝牙是一种支持设备短距离通信 (一般 10m内)的无线电技术,能在包括移动电话PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用蓝牙技术能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与 Internet 之间的通信,从而使数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHZISM(即工业科学、医学)频段。其数据速率为1Mb/s。采用时分双工传输方案,可实现全双工传输。

3.2蓝牙协议

本系统中主要用的是蓝牙配对和 Bluetooth Serial Port 协议。其中配对是两个 Bluetooth 设备间建立新关系的过程。在此过程中,将交换链路密钥(在请求建立连接之前或在连接阶段);而 Bluetooth Serial Port 的主要功能是将 Bluetooth 的通信转化成 Virtual Serial Port (虚拟串口)。经过这样的转换后,使用 Bluetooth 的 Client程序就可以像使用串口一样操作Bluctooth,并通过这个把采集到的温度数值传递给手机端。

3.3蓝牙传输过程

Arduino主控板可将温度传感器探测到的温度以一定发送频率通过蓝牙芯片,以BluetoothSerial Port虚拟串口的方式传递给手机端,然后由手机端在界面上显示温度。

出处:物联网技术

原标题: 基于Arduino/Android 的蓝牙通信系统设计

作者:郑吴 钟志峰 郭吴 许骏

参考资料

https://www.hooketech.com/bluetooth-communication-system.html

相关推荐
louisgeek1 小时前
Java 线程池取消的方式
android
Billy_Zuo2 小时前
人工智能机器学习——模型评价及优化
android·人工智能·机器学习
tangweiguo030519872 小时前
Flutter与原生混合开发:实现完美的暗夜模式同步方案
android·flutter
雨白3 小时前
深入理解 Android 触摸事件:以实现 ViewPager 为例
android
shenshizhong3 小时前
看懂鸿蒙系统源码 比较重要的知识点
android·harmonyos
一只修仙的猿5 小时前
再谈性能优化,一次项目优化经历分享
android·性能优化
雮尘7 小时前
Android性能优化之枚举替代
android
2501_915909069 小时前
苹果上架App软件全流程指南:iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核技巧详解
android·ios·小程序·https·uni-app·iphone·webview
2501_915921439 小时前
iOS 文件管理与能耗调试结合实战 如何查看缓存文件、优化电池消耗、分析App使用记录(uni-app开发与性能优化必备指南)
android·ios·缓存·小程序·uni-app·iphone·webview
2501_915918419 小时前
App 苹果 上架全流程解析 iOS 应用发布步骤、App Store 上架流程
android·ios·小程序·https·uni-app·iphone·webview