产品概述

单片机无线传输模块 单片机无线通信模块——NRF24L01

小编 2024-11-24 产品概述 23 0

单片机无线通信模块——NRF24L01

这是一个NRF24L01模块,如图1,它是一款2.4GHz的无线收发一体模块,我们使用它来实现单片机之间的无线通信。这个模块的核心元器件就是中间的这颗NRF24L01芯片,这颗芯片是欧美品牌,而外围模块则是中国制造。

图1 NRF24L01模块

它有着迷你的外形尺寸,使用起来非常方便。板载蛇行天线最大传输距离为100米。支持一对六数据通信。这个模块通过八个直插引脚与外界进行连接,供电电压为1.9至3.6伏,其他数据引脚可以直接连接3.3V或5V单片机。空中传输速率有2M、1M和250KHz可选。它与主控芯片之间的通信方式为4线SPI通信,最高速率为10MHZ。

图2 NRF24L01的电性能

这是模块的PCB布线图,第1、2引脚为电源引脚。第3引脚为模块的低电平使能引脚。第4引脚用于控制模块的片选,用于开始一个SPI通信。第5、6、7、8为模块的SPI通信口,他们依次为SPI总线时钟、主器件输出从器件输入、主器件输入从器件输出和中断信号输出引脚。如图3.

图3 引脚功能描述

这是两颗单片机借助NRF24L01实现无线通信的接线原理图,他们的连接非常简单。这个模块会占用单片机的6个引脚,我们使用单片机的2个普通IO端口连接模块的片选和使能引脚,用单片机的SPI引脚或普通IO口模拟SPI总线连接模块的SPI引脚即可实现数据交换。如图4.

图4 接线原理图

如何使用4G模块通过MQTT协议传输温湿度数据到onenet

本次实验是采用SIM7600CE 4G cat4 模块进行操作的,本模块支持GNSS定位功能。也可以采用别的4G模块,只要支持TCP传输就行。本模块支持的AT命令相当强大,拥有TCP&UDP命令集,HTTP命令集,MQTT命令集。本模块虽然已经支持了MQTT功能,但是我们在实际研发项目中,为了保持项目的可移植性和兼容性,通常不会使用模块自带的MQTT命令集,而是用代码实现MQTT上层功能,底层再调用模块的TCP AT命令集。

一、MQTT简介

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。它是IBM 1999年发布的一个用于物联网的协议.MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

MQTT设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。

例如,但不仅限于此: 网络代价昂贵,带宽低、不可靠。 在嵌入设备中运行,处理器和内存资源有限。

该协议的特点有:

使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;对负载内容屏蔽的消息传输;使用 TCP/IP 提供网络连接;有三种消息发布服务质量:小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

二、ONENET平台

OneNET是由中国移动打造的物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。

OneNET具备如下功能:

专网专号:中国移动基于物联网特点打造的专业化网络通道,提供“云-管-端”一体化的智能管道和支撑系统,支持工业级、车规级的专网卡和通信模组;海量连接:基于多类型标准协议和API开发满足海量设备的高并发快速接入;在线监控:实现终端设备的监控管理、在线调试、实时控制功能;数据存储:基于分布式云存储、消息对象结构、丰富的数据调用接口实现数据高并发读、写库操作,有效保障数据的安全;消息分发:将采集的各类数据通过消息转发、短彩信推送、APP信息推送方式快速告知业务平台、用户手机、APP客户端,建立双向通信的有效通道;能力输出:汇聚中国移动短彩信、位置服务、视频服务、公有云等核心能力,提供标准API接口,缩短终端与应用的开发周期;事件告警:打造事件触发引擎,用户可以基于引擎快速实现应用逻辑编排;数据分析:基于Hadoop等提供统一的数据管理与分析能力。

三、如何接入OneNet

用户要接入 OneNet,

首先要在 OneNet 平台上进行注册用户、创建设备等一系列准备工作,然后要通过网络和 OneNet 服务器建立TCP 连接,最后将用户数据按照一定的协议(比如:EDP、RestFul API,MQTT)打包上传至 OneNet 平台,从而实现设备终端接入。 用户注册:在接入 OneNet 之前,需在平台网站注册用户账户,登陆网址:http://open.iot.10086.cn/,显示如下界面:

如上图:点击右上角进行注册.

注册完成后,进行登录,如下:

如上图所示,点击MQTT物联网套件:

如上图所示,选择多协议接入:

如上图,点击添加产品,onenet平台MQTT协议框架下分为产品ID和设备ID,可以建立多个不同的产品,每个产品拥有不同的设备,设备以ID号进行区分。

如上图所示进行选择,接下来还有操作系统选择linux,网络运营商选择移动,因为模块使用的移动的usim卡,可以根据自己模块卡类型进行选择。

如上图所示,再点击添加设备:

点击右上角添加设备,

点击添加,

如上图所示,产品添加成功后的截图,显示为离线状态,当4G模块有数据上传的时候,就会显示为在线。

四、单片机&4G模块与ONENET服务器通信

下面讲解一下如何用单片机通过串口AT命令驱动4G模块与ONENET服务器进行连接,单片机采用STM32F103RBT6 ,开发环境采用MDK5.

如上图所示,606923821表示设备IDPZqqtD0O=5lNOex4NshJn0RLflY= 表示API KEY

如上图,点击查看,输入手机号发送验证码即可获得,357092 表示产品ID,上图的产品ID是424250 ,可根据自己的情况进行填写。

CAT11表示鉴权信息,鉴权信息可以在设备列表-设备详情进行获取。183.230.40.3, 6002 表示onenet平台的服务器和端口号 ,有了这些信息就可以用4G模块和自己创建的产品进行通信了。

如下图所示:既可观察设备的上下线情况,以及设备的数据

五、资料获取及硬件

1) 后台回复 mqtt 即可获得对应的源代码功能。

2) 文中单片机 STM32F103RBT6 可以自行到某宝搜索, 推荐如下:

3) 用的SIM卡可以用手机卡也可以用物联网卡,

4) 4g模块通用的模块即可。

相关问答

如何用 单片机 实现两个 模块 之间的通信?

需要这两个模块使用的是什么协议,如果是RS232,那就按照串口通信协议来做;如果是SPI通信,就按照SPI的通信来做需要这两个模块使用的是什么协议,如果是RS232...

单片机 怎么和wifi 模块 实现通讯?

属于串口通信,WiFi的输出输入串口与单片机的输入出口相连,如WiFi的TXD发,单片机的RXD收;单片机的TXD发,WiFi的RXD收,可通过模块对单片机写入代码。WiFi把...

请问蓝牙 模块 单片机 是如何通信使用的?

蓝牙模块与单片机之间的通信通常通过串行通信来实现。下面是一般的蓝牙模块与单片机通信的步骤:1.硬件连接:将蓝牙模块与单片机进行正确的硬件连接。通常,...

单片机 蓝牙是什么?

单片机蓝牙:指的是单片机的蓝牙模块。以51单片机为例来进一步解释,它是在蓝牙通讯的基础之上,进行内部蓝牙单片机模块与外部蓝牙发射接收设备之间,相互收发数...

利用 单片机 向wifi 模块 发送数据,电脑通过wifi网络段接收数据...

建议先用串口工具去测试wifi模块与手机或者电脑进行数据收发,设置好想用的参数,然后再将他接到单片机的串口上,因为串口转wifi模启动都是透传的,串口wifi模块TL...

如何用51 单片机 蓝牙 模块 向手机传送信息,数值是变化的?

手机上装一个蓝牙串口调试软件,蓝牙模块与单片机连接好,并设置好透传的参数例如波特率重新上电,然后手机打开蓝牙调试软件连接蓝牙模块,连接成功后可以用单片...

如何利用 单片机 实现 无线 通信?

可以采用nordic公司的无线收发芯片nR905,其数据传输率可以达到78.5kbps,可以实现高速半全双工通信。nR905通过SPI接口和MCU进行数据传送,在配合几个简单控制...

只有单串口的 单片机 如何实现与两个串口 模块 通信?

两个单片机之间串口通信,如果是用proteus仿真,最简单了,两个单片机的RXD,TXD交叉连接就行了。要是实物最好用RS232连接通信,距离可以达到几十米。再远点距离...

5VC51 单片机 如何实现与3.3VGPS 模块 的串口通信?

用电平转换电路用电平转换电路

单片机 的通信方式分哪几种? - 懂得

单片机的通信方式分为串行和并行通信两种,前者接线简单、距离长、但速度慢;后者接线多、通信距离短、速度快。由于单片机资源有限,且目前智能化电气...

猜你喜欢