接收发射模块(一个小小的模块竟然隐藏着125个通讯通道)
Posted
篇首语:读书志在圣贤,为官心存君国。本文由小常识网(cha138.com)小编为大家整理,主要介绍了接收发射模块(一个小小的模块竟然隐藏着125个通讯通道)相关的知识,希望对你有一定的参考价值。
接收发射模块(一个小小的模块竟然隐藏着125个通讯通道)
2.4G是一种无线技术,由于其频段处于2.400GHz~2.525GHz之间,简称2.4G无线技术。基于2.4G无线技术封装的高度集成芯片组我们称之为2.4G无线模块,而2.4g无线收发模块是无数2.4G无线模块中的一种,广泛应用于无线遥控、无线耳机、无人机、无线键盘、无线监控、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控等行业和商品中。2.4G和433M是国内免许可证的ISM(工业,科学,医学)开放频段,不需要从本地管理部门申请授权。
现在很多商用的2.4G无线发射接收模块都已经进行了封装设计(集成了单片机控制和无线编码)跟单片机直接通过异步串行口连接就可以,现在市面上的无线收发模块,其无线工作方式由模块内部的单片机控制,与用户单片机的连接一般就只有电源和收、发等几根线。无线发射模块和接收模块必须配对使用,且工作频率要完全一样,接收模块一定要根据发射局部的编码格式来配解码IC,无线收发模块都是传输数据的一个通道,接收模块接收到发射信号后通过DA TA 脚传给解码IC,让其工作。2.4G无线发射接收模块一般支持一对多,多对一,一对一等各种各种模式。通讯传输距离无遮挡情况下一般在
今天我来推荐一款2.4G无线发射接收模块—nRF24L01。nRF24L01是由NORDIC生产的工作在2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型"SchockBurst"模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。
nRF24L01具有以下优点:
1. 灵敏度高
2. 兼容性好
nRF24L01 可以兼容nRF2401A、nRF24L01+、nRF24LE1、nRF24LU1等无线模块。
3. 变态的功耗
极低的电流消耗:当工作在发射模式下发射功率为0dBm 时电流消耗为11.3mA ,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。
4. 性价比好
基于nRF24L01的无线串口(USB),每个35元人民币,价格还是比较亲民的。
nRF24L01模块使用方便,只需要下载一个串口调试助手之类的软件就可以相互之间发送消息,以下是nRF24L01主要的设置命令,信道范围:2.400GHz~2.525GHz,约125个通道可用,但是收发模块之间的地址和频率一定配对使用才能成功。
设置串口通信波特率,发送: ASCII 码【AT+BAUD=n】( n 为 1,2,3,4,5,6,7 分别对应
4800,9600,14400,19200,38400,57600,115200 的波特率)
发送命令:AT?是查询当前无线模块的系统参数。
第一号:
设置本机地址命令:AT+RXA=0xAA,0xBB,0xCC,0xDD,0xEE
地址设置成功!!
本机接收地址:0xAA,0xBB,0xCC,0xDD,0xEE地址设置成功!!
设置目标机地址命令:AT+TXA=0x11,0x22,0x33,0x44,0x55
目标地址:0x11,0x22,0x33,0x44,0x55
第二号:
设置本机地址命令:0x11,0x22,0x33,0x44,0x55
地址设置成功!!
本机接收地址:0x11,0x22,0x33,0x44,0x55地址设置成功!!
设置目标机地址命令:AT+TXA=0xAA,0xBB,0xCC,0xDD,0xEE
目标地址:0xAA,0xBB,0xCC,0xDD,0xEE
无线通讯信道设置 ,范围:2.400GHz~2.525GHz(出厂默认 2.400GHz)
AT+FREQ=2.424G
无线通信传输速率 ,可选速率:250Kbps,1Mbps,2Mbps (出厂默认 2Mbps)
传输速率设置命令: 发送 ASCII 码【AT+RATE=n】( n 为 1,2,3 分别对应250Kbps ,1Mbps,2Mbps 的传输速率)
程序例子:
以下是软件源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsForms
public partial class MainForm : Form
private delegate void ReadDataFromSerial();
private string Serialdata;
private long Receivenum = 0;
private long Sendnum = 0;
public MainForm()
InitializeComponent();
try
string[] Portlist = System.IO.Ports.SerialPort.GetPortNames();
for (int i = 0; i < Portlist.Length; i++)
cmbPortName.Items.Add(Portlist[i]);
cmbBaudrate.SelectedIndex = 0;
cmbPortName.SelectedIndex = 0;
txtNumberReceive.Text = Receivenum.ToString();
txtNumberSend.Text = Sendnum.ToString();
catch
MessageBox.Show("初始化检查失败,请检查串口的连接使用情况!\\n程序将自动退出!","串口初始化",MessageBoxButtons.OK,MessageBoxIcon.Warning);
this.Close();
Application.Exit();
private void btnOpen_Click(object sender, EventArgs e)
if (btnOpen.Text == "打 开 串 口")
if (serialPort1.IsOpen == true)
serialPort1.Close();
serialPort1.BaudRate = Convert.ToInt32(cmbBaudrate.Text);
serialPort1.PortName = cmbPortName.Text;
serialPort1.Open();
btnOpen.Text = "关 闭 串 口";
//btnOpen.BackColor = Color.Green;
btnOpen.ForeColor = Color.Red;
else
if (serialPort1.IsOpen == true)
serialPort1.Close();
btnOpen.Text = "打 开 串 口";
//btnOpen.BackColor = Color.LightGray;
btnOpen.ForeColor = Color.Black;
private void MainForm_Load(object sender, EventArgs e)
// serialPort1.Encoding = System.Text.Encoding.GetEncoding("UTF-8");
serialPort1.Encoding = System.Text.Encoding.GetEncoding("GB2312");
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
if (serialPort1.IsOpen == true)
serialPort1.Close();
private void btnSendData_Click(object sender, EventArgs e)
//串口以16进制发送数据
if(chkHexTransmitte.Checked==true)
string str = txtDataSend.Text.Replace(" ","");
int len = str.Length / 2;
byte[] ret = new byte[len];
for(int i=0;i<len;i++)
ret[i]=(byte)(Convert.ToInt32(str.Substring(i*2,2),16));
serialPort1.Write(ret,0,ret.Length);
//串口以字符串发送数据
else
serialPort1.Write(txtDataSend.Text);
Sendnum += txtDataSend.Text.Length;
txtNumberSend.Text = Sendnum.ToString();
void DataShowMthod1()//以字符串形式读取数据
//收据接收显示加上回车
if(chkNewLine.Checked==true)
if (txtDataReceive.Text != "")
txtDataReceive.Text += "\\r\\n";
this.txtDataReceive.Text +=Serialdata;
//数据接收直接显示
else
this.txtDataReceive.Text += Serialdata;
Receivenum += Serialdata.Length;
txtNumberReceive.Text = Receivenum.ToString();
void DataShowMethod2()//以16进制形式读取数据
if (chkNewLine.Checked==true)
if (txtDataReceive.Text != "")
txtDataReceive.Text += "\\r\\n";
string str="";
byte[] bt = System.Text.Encoding.Default.GetBytes(Serialdata);
for (int i = 0; i < bt.Length; i++)
str += bt[i].ToString("X2");
this.txtDataReceive.Text += str;
else
string str = "";
byte[] bt = System.Text.Encoding.Default.GetBytes(Serialdata);
for (int i = 0; i < bt.Length; i++)
str += bt[i].ToString("X2");
this.txtDataReceive.Text += str;
Receivenum += Serialdata.Length;
txtNumberReceive.Text = Receivenum.ToString();
//串口接收到数据
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
//接收到的是16进制数据
if (chkHexReceive.Checked)
ReadDataFromSerial Rdfs_hex = new ReadDataFromSerial(DataShowMethod2);
Serialdata = serialPort1.ReadExisting();
Invoke(Rdfs_hex);
//接收到的是字符串
else
ReadDataFromSerial Rdfs_str = new ReadDataFromSerial(DataShowMthod1);
Serialdata = serialPort1.ReadExisting();
Invoke(Rdfs_str);
//复位对发送和接收字节的统计数据
private void btnNumberReset_Click(object sender, EventArgs e)
Sendnum = 0;
txtNumberSend.Text = Sendnum.ToString();
Receivenum = 0;
txtNumberReceive.Text = Receivenum.ToString();
//清除发送的数据
private void btnClearTransmitte_Click(object sender, EventArgs e)
txtDataReceive.Text = "";
//清除接收到的数据
private void btnReceiveClear_Click(object sender, EventArgs e)
txtDataReceive.Text = "";
相关参考
放大器双工器模块(半双工无线数据透传网络模块 发射功率50~500mW 扩频延长通讯距离)
...体积小,贴片型,宽电压运行,发射功率50mW~500mW可选,接收灵敏度高,采用扩频技术,通讯距离远,抗干扰能力强等优点华世智能自主无线信号放大器网络功能,可实现多级覆盖,可延长通信距离,使得数据传输信息更加安全...
无线远程发射器接收器(用24G模块NRF24L01做一个无线遥控开关,远程控制很方便)
...想要实现的功能是,遥控端输出一个高电平或者低电平,接收端也能同时输出一个高电平或者低电平,这样就能隔空控制很多东西,也不用拉线布线。手头正好有2.4G模块,型号是NRF24L01,那我们就用它来实现。这个模块也不算贵...
...容性,硬件测试主要是参数测试,其中包含发射光功率、接收灵敏度、工作温度、偏置电流等等。一、光模块发射光功率的重要性发射光功率(OutputPower)指光模块发送端光源的平均输出光功率,也叫输出光功率。单位:W或mW或d...
...线低通滤波器,抑制谐波成分,然后通过天线发射出去。接收部分 接收部分为二次变频超外差方式,从天线输入的信号经过收发转换电路和带通滤波器后进行射频放大,在经过带通滤波器,进
无线发射模块怎么接线(用24G模块NRF24L01做一个无线遥控开关,远程控制很方便)
...想要实现的功能是,遥控端输出一个高电平或者低电平,接收端也能同时输出一个高电平或者低电平,这样就能隔空控制很多东西,也不用拉线布线。手头正好有2.4G模块,型号是NRF24L01,那我们就用它来实现。这个模块也不算贵...
智能家居遥控接收模块(飞睿智能雷达感应模块,人体存在感控应用,智能化感应开关联动)
...证最佳传感器性能的同时将尺寸做到20*20mm。通过发射和接收高频电磁波,通过多普勒原理检测发射与
无线射频收发模块(【行业深度】5G天线研究:终端天线变化铸就价值,新基建再造空间)
...终端侧,而无论在基站还是在终端,天线都是信号发射与接收的关卡,天线性能的好坏,直接影响通信的质量。1、终端天线概况手机终端的通信模块主要分为天线、射频前端模块、射频收发模块、基带信号处理。射频前端介于...
...体数值化,所以一般也不会写入规格书。同一发射功率和接收灵敏度的条件下,那么抗干扰能力更强的蓝牙模块可以传输的距离会更远。相同频段或者恶劣环境也能对它产生很不好的干扰,在能不改变环境的情况,我们能操作什...
模块天线(金航标kinghelm为您浅析无线收发模块三种天线的区别)
...nghelm小编为您说道说道:在无线通讯系统中,用来传送与接收电磁波能量的重要必备组
收发模块(金航标kinghelm为您浅析无线收发模块三种天线的区别)
...nghelm小编为您说道说道:在无线通讯系统中,用来传送与接收电磁波能量的重要必备组