无线传输模块HC-12
无线传输模块HC-12使用
因为实验室的无人机需要使用一款无线传输模块进行遥控控制,我们讨论的中测试了HC-12,并对HC-12传输距离进行了简单测试。在此做下使用记录。
模块概述
HC-12 无线串口通信模块是新一代的多通道嵌入式无线数传模块。无线工作频段为433.4—473.0MHz,可设 置多个频道,步进是 400KHz,总共 100 个。模块最大发射功率为 100mW(20dBm),5000bps 空中波特率 下接收灵敏度-116dBm,开阔地 1000 米的通信距离。 模块采用邮票孔封装方式,可贴片焊接,模块大小 27.4mm×13.2mm×4mm(包括天线帽,不包括弹簧天线), 很方便客户嵌入应用系统之内。模块上有 PCB 天线座 ANT1,用户可以通过同轴线,使用 433M 频段外接天线; 模块内也有天线焊接孔 ANT2,方便用户焊接弹簧天线。用户可以根据使用要求,选择其中一种天线。 模块内部含有 MCU,用户无需对模块另外编程,各种透传模式只管收发串口数据即可,使用方便。模块采用 多种串口透传模式,用户可以根据使用要求用 AT 指令进行选择。四种模式 FU1、FU2、FU3、FU4 的空闲状态 下平均工作电流分别为 3.6mA、80μA、16mA 和 16mA,最大工作电流为 100mA(满功率发射状态下)
模块工作原理
注: 如上面图所示,HC-12 模块用于代替半双工通信时的物理连线。左边的设备向模块发送串口数据,模块的 RXD 端 口收到串口数据后,自动将数据以无线电波的方式发送到空中。右边的模块能自动接收到,并从 TXD 还原最初左 边设备所发的串口数据。从右到左也是一样的。模块间只能工作于半双工状态,不能同时收发数据。
模块连接
模块可以与单片机连接,可以与电脑连接,这样两个模块就之间也可以进行通讯(单片机与电脑远程通讯)。
模块与电脑、单片机的连接示意图:
模块可与供电系统为3.3V 或者5V 的MCU连接,串口交叉连接即可(模块的 RX接 MCU的 TX、模块的 TX 接MCU的 RX) 注:如需串接电阻保护MCU,请在串口端串接不大于200Ω的电阻即可,建议不加电阻。
无线串口透传
HC-12 模块有四种串口透传模式,用 FU1、FU2、FU3 和 FU4。
出厂默认设置为 FU3、9600bps(8 位数据、无校验、1 位停止位) 、CH001(433.4MHz)。 使用时一般不限定一次连续往模块串口发送的字节数。但鉴于环境干扰等因素,一次连续发送大量数据时,有可能 会丢失一些字节。所以,上位机最好要有应答和重发等机制,避免信息丢失。
默认出厂设置:串口波特率为 9600bps、通信频道为 C001、串口透传模式为 FU3。
HC-12 模块出厂时串口透传模式默认为 FU3。此时,模块工作于全速状态下,空闲工作电流为 16mA 左右。 在此模式下,模块会根据串口波特率自动调节无线传输空中波特率,其对应关系如下表所示:
为了使通信距离尽量远,可以把串口波特率设为低波特率。如果是短时间传送大量数据,则把串口波特率设为 高波特率,但要牺牲通信距离。不同空中波特率条件下模块的接收灵敏度如下表所示:
在模块“SET”脚置低电平时,可以通过 AT 指令来设置串口透传模式(详见下面章节的介绍)。 FU1 模式为较省电模式,此时模块的空闲工作电流为 3.6mA 左右。此模式下模块同样可以设置如上面表格 所示的 8 种串口波特率,但空中波特率统一为 250000bps,通信距离较短。 FU2 模式为省电模式,此时模块的空闲工作电流为 80μA 左右。此模式下模块只支持 1200 bps、2400 bps 和 4800 bps 的串口波特率,空中波特率统一为 250000bps,通信距离较短。此模式下不能设置成其它串口波特 率。同时,在 FU1 和 FU3 模式下设置为 FU2 模式时,超过 4800 bps 的串口波特率一律会被自动降低为 4800 bps。FU2 模式下,只适用传输少量数据(每个数据包在 20 个字节以内),数据包发送时间间隔不能太短(最好 在 2秒以上) ,否则会造成数据丢失。 FU4 模式为超远距离通信模式,串口波特率固定为 1200bps,空中波特率为 500bps。从其它模式转到 FU4 后,串口波特率会自动转为 1200bps。该模式下,只适用传输少量数据(每个数据包在 60 个字节以内),数据包 发送时间间隔不能太短(最好在 2 秒以上),否则会造成数据丢失。
单个测试模块
测试步骤;
1.使用USB转串口,按接线图连接好模块并插在电脑上,因为我们需要测试模块与设置模式等,记住我们一定要将SET端置地(五根线)。
2.打开串口助手,设置串口,记住波特率默认9600,设置完打开串口即可。
3.输入指令AT(AT为测试通讯是否正常,模块好坏的指令),如果返回OK,模块工作正常。
4.输入指令AT+RX,可以查看现在的工作参数,工作在哪个透传模式、波特率,通讯频道、发射功率。
5.我们为了方便。需要设置模块的透传模式为FU3,波特率9600,通讯频道设置为CH001。(设置这些需要相应的指令)
6.按上面步骤操作第二个模块。
注意:SET置地是为了测试,如果你已经完成了测试,要使用它,去掉SET这根线,四根线即可工作。
两个模块之间通讯测试
模块一般两个或两个以上连接使用,以半双工的方式互相传送数据。同时,透传模式、波特率、无线通信频道 必须设置成一样。
我们在测试单个模块时的第四步,查看了模块的工作参数:透传模式、波特率、无线通信频道、发射功率。而透传模式、波特率、无线通信频道 必须设置成一样,如果你两个模块不一样,就不能通讯。
所以我们在第五步将工作参数设置为一样。
测试步骤:
如果你完成了上面的步骤,将两个模块都插在电脑上,打开两个串口,即可工作。
如果你想实现电脑与单片机之间的通讯,按接线图连接好模块(四根线),保证单片机串口初始化没有问题,即可实现通讯。
无线传输模块HC-12的更多相关文章
- 24L01-2.4G无线传输模块调节记录
在调试24L01的时候,虽然能用到别人的程序,但仅仅是程序的初始化,并没有告诉我们如何去后续的操作,如何去再次发送一组数.最近调试24L01接近尾声,将逐一的地方总结下来,以便以后查阅,也供其他人借鉴 ...
- 使用MUART0-P-1-2设置无线PM2.5感测环境
信息搜集–> 处理分析–> 动作执行,这是IoT环境中最基本的组成要素,传感器搜集环境信息后,透过指定的通讯协议传送到至控制中枢,经过处理分析后再将命令送交各device端执行.要实现这样 ...
- 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2
SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统 IA-SmartHome团队 2012.12 l 基于无线的智能家居解决方案,节省施工成本: l 基于能 ...
- Arduino单片机使用和开发问题记录
1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上查遇到这个问题的人比较多,有说驱动问题的,有 ...
- Arduino单片机使用和开发问题记录(转)
源:Arduino单片机使用和开发问题记录 1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上 ...
- 基于Android 的蓝牙A2DP 功能的实现
摘 要:蓝牙(Bluetooth)技术是一种低成本的无线数据与数字通信的开放性全球规范. Android 是Google 于2007 年11 月5 日宣布的基于Linux平台开源手机操作系统名称,该平 ...
- 基于Linux的智能家居的设计(3)
2 硬件设计 本课题的硬件设计包含主控制器.传输数据设计.数据採集设计.控制驱动设计.显示设计.门禁设计. 2.1 主控制器 依据方案三选择S3C6410主控芯片,S3C6410是由Samsung ...
- 物联网(莹石云)WIFI一键配置原理分析(zz)
最近打算做一款自己的无线传输模块用来实现光伏电站的数据接入,希望可以尽量简化接入流程,其中wifi密码的配置就是一个比较麻烦的事情,想到最近使用萤石摄像头时,wifi密码配置似乎很简单,他们是怎么做到 ...
- SendMessage函数的常用消息及其应用大全
来源:http://www.360doc.com/content/09/0814/10/19147_4907488.shtml,非常全面的解释. 文本框控件通常用于输入和编辑文字.它属于标准 Wind ...
随机推荐
- echo、print、print_r之间的区别
echo php语句:可以一次输出多个值,多个值之间用逗号隔开:没有返回值,输出标量的值.print 函数:只能打印简单类型变量的值(标量,如int,string),返回值为布尔型print_r 函数 ...
- LC 650. 2 Keys Keyboard
Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...
- Jdbc中大文本类型的处理
Oracle中大文本数据类型, Clob 长文本类型 (MySQL中不支持,使用的是text) Blob 二进制类型 MySQL数据库, Text 长文本类型 Blob 二 ...
- [ubuntu]android SDK 与Gradle环境的安装与配置|搭建android基础开发/构建环境
系统环境: linux:ubuntu18 已配置jdk 环境变量 切换到root账户 sudo su 安装Android-sdk (0)准备工作 切换到/usr/local目录: /usr/local ...
- 百度AI接口---身份证识别Demo
题记:自己是做java web的,但是本人以前接触并学习很多图像的知识,所以对图像很敏感.下面以百度的一个接口,实现身份证识别案例 1.需要百度开发者AppID.SecretKey .API Key. ...
- Eclipse使用git发布项目到github
因为一直都在使用svn,今天尝试了下git,记录下来既是方便自己以后查看,也是分享一些经验! 废话不多说,撸起袖子就是干!!! 1.选中要上传的项目右键 2.选中git 3.在图上打钩,点击所要上传的 ...
- Intervals and Timeouts
Intervals var num = 0; var max = 10; function incrementNumber(){ num++; // if the max has not been r ...
- 外国前端收费模板wrapbootstrap
https://wrapbootstrap.com/ 新闻模板 http://wrapbootstrap.com/preview/WB037B6R2
- linux如何使用QQmail实现网络邮件报警?
环境:CentOS7 目的:考虑到实现服务的高可用性.使用电子邮件通知服务,可以快速的通知维护人员.提高服务的可靠性,而通过 smtp.qq.com 实现脚本邮件报警 一.设置并取得 smtp.qq. ...
- 利用WatchService监控C盘根目录下的文件情况
public static void main(String[] args) throws IOException, InterruptedException { WatchService watch ...