使用Arduino和NRF24L01通过蓝牙将传感器数据发送到Android手机

蓝牙低功耗(BLE)是蓝牙的一个版本,它是经典蓝牙的更小、优化度更高的版本。它也被称为智能蓝牙。 BLE的设计考虑到了低成本、低带宽、低功耗和低复杂度的最低功耗。 ESP32具有内置的BLE功能,但对于像Arduino这样的其他微控制器,可以使用nRF24L01。该RF模块还可以用作BLE模块,将数据发送到其他蓝牙设备,如智能手机、计算机等。

在本篇文章中,我们将演示如何使用nRF24L01通过BLE发送一些数据。我们将使用Arduino和nRF模块通过BLE将DHT11的温度读数发送到智能手机。

蓝牙低功耗(BLE)如何不同?

BLE因其功耗特性而被采用,因为它只需使用纽扣电池即可长时间运行。与其他无线标准相比,BLE的快速增长因其在智能手机、平板电脑和移动计算领域的显着应用而进一步加快。

NRF24L01模块的BLE功能

BLE使用相同的2.4 GHz ISM频段,波特率从250Kbps到2Mbps,这在许多国家是允许的,可以应用于工业和医疗应用。频段从2400 MHz到2483.5 MHz开始,分为40个信道。这些信道中的三个被称为“Advertising”,并且被设备用于发送具有关于它们的信息的广告分组,以便其他BLE设备可以连接。这些信道最初选择在频带的较低上部和频带的中间,以避免可能干扰多个信道的干扰。

在这里插入图片描述

本文将介绍如何将NRF24L01模块用作BLE收发器。今天,将通过将传感器数据发送到智能手机来介绍该模块的BLE功能。这个nRF24L01模块将连接到Arduino微控制器,DHT11传感器温度数据将被发送到官方的Nordic BLE android应用程序。

更多内容请访问以下链接:https://www.yiboard.com/thread-1181-1-1.html

nRF24L01 介绍: nRF24L01是一款工作在 2.4~2.5GHz 世界通用ISM频段的单片无线收发器芯片,输出功率、频道选择和协议的设置可以通过SPI接口进行设置。有极低的电流消耗,当工作在发射模式下发射功率为-6dBm时电流消耗为9.0mA,接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。 nRF24L01参考数据: 供电电压:1.9 V~3.6V; 最大发射功率:0 dBm; 最大数据传输率:2000 kbps; 发射模式下电流消耗(0dBm时):11.3 mA; 接收模式下电流消耗(2000kbps):12.3 mA; 接收模式数据传输率为1000kbps下的 灵敏度:-85 dBm; 掉电模式下电流消耗:900 nA。 淘宝上面有两种nRF24L01模块,一种是单纯的nRF24L01模块,号称传输距离250m的,几块钱就有交易;另外一种是NRF24L01+PA+LNA模块,包含放大,号称可以传输1000m,价格几十块。实际距离视地形和障碍物而定,是否够远只能通过试用确定。 单纯nRF24L01模块做示例: nRF24L01Arduino UNO硬件连接 此模块是使用SPI方式连接,在标准SPI口基础增加CE和CSN引脚: nRF24L01 Arduino UNO VCC <-> 3.3V GND <-> GND CE <-> D9 CSN <-> D10 MOSI<-> D11 MISO<-> D12 SCK <-> D13 IRQ <-> 不接 还有就是nRF24L01属于对传模块。每块芯片既是发射器,也是接收器。所以一般来说,要使用两块nRF24L01+两块Arduino才能进行测试。 实验1 将Sender机A0的AD转换值无线发送到Receiver机,Sender机(A0端与电源两端接一个电位器,阻值随意,一般1k~100k均可) 原理图如截图: 代码: 首先需要安装Mirf库,可以在https://playground.arduino.cc/InterfacingWithHardware/Nrf24L01下载或者本文附件下载。 实验2 将上述的数据绘图表。修改一下输出格式,然后用现成的串口图表软件显示出来。详见附件内容操作说明文档。 上位机: 直接用现成软件比如这个串口猎人。配置如图。依照图片顺序配置成截图一样即可。 附件内容截图:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值