探索Adafruit FONA MiniGSM:小巧模块的强大功能
一、引言
在电子设计的世界里,我们常常追求小巧、多功能的模块,以满足各种项目的需求。Adafruit FONA MiniGSM就是这样一款令人瞩目的产品,它就像一个小小的魔法盒子,能为你的项目带来语音、短信、数据传输等丰富功能。今天,我们就来深入了解一下这个可爱的小模块。
文件下载:1946.pdf
二、Adafruit FONA MiniGSM概述
(一)小巧身材,强大功能
Adafruit FONA MiniGSM尺寸仅为1.75"x1.25",别看它个头小,却蕴含着惊人的科技力量。其核心是一个邮票大小的GSM蜂窝模块(SIM800),具备多种功能:
- 多频段支持:支持Quad - band 850/900/1800/1900MHz,能连接全球任何GSM网络,在美国建议使用T - Mobile的2G SIM卡。
- 语音通信:可以使用耳机或外部8Ω扬声器和驻极体麦克风进行语音通话。
- 短信收发:轻松实现短信的发送和接收。
- 数据传输:支持GPRS数据传输,包括TCP/IP、HTTP等协议。
- FM广播:具备FM收音机功能,虽然有点意外,但效果还不错。
- PWM控制:可进行PWM/蜂鸣器振动电机控制。
- AT命令接口:拥有“自动波特率”检测功能。
(二)配套功能完善
为了让这个小模块更好地发挥作用,它还配备了一系列实用的功能:
- 电池充电:板载LiPoly电池充电电路,可使用500mAh以上的LiPoly或LiIon电池,并通过MicroUSB充电,有充电和充满指示灯。
- 音频接口:标准4极TRRS耳机插孔,兼容大多数“Android”或“iPhone”耳机;还提供外部8Ω扬声器和驻极体麦克风的接口。
- 电平转换:具备电平转换电路,可在2.8V - 5V逻辑下运行。
- 振动控制:有振动电机(蜂鸣器)驱动器,可实现无噪音通知。
- 天线接口:提供uFL或SMA连接外部天线的接口。
- 状态指示:有电源和网络连接指示灯。
- SIM卡槽:标准SIM卡槽位于背面。
(三)使用条件
需要注意的是,这个模块本身不能独立工作,需要一个微控制器来驱动,建议使用Arduino,当然任何带有UART的3 - 5V微控制器都可以通过RX/TX引脚发送和接收命令。同时,还需要一些必备的配件:
- SIM卡:必须是2G Mini SIM卡,在美国建议使用T - Mobile或其经销商的SIM卡。
- 电池:500mAh或更大容量的LiPoly电池。
- 充电线:MicroUSB电缆用于给电池充电。
- 天线:外部天线,如直天线或直角天线;如果是uFL接口,还需要uFL到SMA的适配器电缆。
此外,还有一些推荐配件,如TRRS 4极耳机、外部麦克风和扬声器、振动电机、USB控制台电缆等。
三、引脚说明
(一)连接器
- JST 2 - pin:电池输入连接器,建议使用500mAh或1200mAh的LiPoly电池,注意极性,红色为正极,黑色为接地。
- MicroUSB:LiPoly/LiIon电池充电端口,充电速率最大为500mA,该接口的USB功能仅用于模块重新编程,但所需的IDE昂贵且不易获取,所以主要用于充电。
- 耳机插孔:标准TRRS 3.5mm耳机插孔,支持立体声耳机和单声道麦克风,大多数“Android”或“iPhone”兼容的耳机都可以使用,但原装iPhone耳机可能不行。
(二)天线端口
天线端口位于顶部,是使用模块进行语音或数据通信以及一些SIM命令的必备部件。有SMA和uFL两种版本,可根据需要选择合适的天线和适配器。
(三)SIM连接器
需要使用2G Mini SIM卡,不能使用MicroSIM卡。在美国,AT&T不再销售2G SIM卡,建议使用T - Mobile或其经销商的SIM卡。
(四)底部引脚
- Vio:最重要的引脚,必须由外部3V - 5V电压驱动,以设置逻辑电平转换器,其电压应与微控制器的逻辑电压一致。
- VBAT & GND:连接3.7V/4.2V的LiPoly/LiIon电池,不能使用电源或LDO供电,建议使用至少500mAh、1000mAh以上的电池,以应对可能的2A电流峰值。
- Key:电源开/关指示引脚,与左上角的按钮相连,将该引脚接地2秒可打开或关闭模块。
- PS:电源状态引脚,模块关闭时为低电平,通电时为高电平,可用于监测模块的启动状态。
- NS:网络状态引脚,通过脉冲信号指示模块的当前状态,与网络指示灯相关。
- Reset:模块硬复位引脚,默认有高上拉电阻,若模块出现异常,将该引脚拉低100ms可进行硬复位。
- RX & TX:UART引脚,用于发送和接收命令和数据,支持自动波特率,复位或启动后发送“AT”的波特率即为使用的波特率。
- RI:振铃指示引脚,默认高电平,接收到呼叫或短信时会脉冲低电平120ms。
- SPK + 和 -:用于连接外部8Ω扬声器,最大1W,模块可配置将通话和FM广播路由到耳机或外部音频。
- MIC + 和 -:用于连接外部驻极体麦克风,模块会为麦克风提供2V偏置电压。
(五)LED指示灯
- PWR:蓝色,模块启动并运行时亮起。
- NET:红色,通过闪烁模式指示模块与蜂窝网络的连接状态。
- Charging:橙色,位于MicroUSB插孔旁边,指示板载锂电池充电器正在充电。
- Done:绿色,位于JST插孔旁边,指示电池充电完成。
(六)其他引脚
- Buzzer和PWM:位于右上角,与模块的PWM输出相连,可设置频率和占空比,PWM引脚直接输出0 - 2.8Vpp,蜂鸣器输出有NPN驱动晶体管,可驱动小型振动电机。
- ADC:位于左中部,SIM800的ADC可读取0 - 2.8VDC电压,可用于传感器等,可通过UART查询电压。
- 5V:位于左中部,是MicroUSB连接器供电时的5V电压,可用于判断MicroUSB是否插入以及给电池充电。
- 2.8V测试点:位于右侧,用于测试2.8V内部稳压器。
四、获取SIM卡
使用FONA的电话功能需要一张SIM卡,必须是2G Mini SIM卡。在美国,AT&T不再销售2G SIM卡,建议使用T - Mobile或其经销商的SIM卡,如TING SIM卡。同时,FONA用户也分享了一些使用经验,如沃尔玛的“Walmart Family Mobile”、T - Mobile的预付费套餐、Telna的套餐等。
五、组装与连接
(一)组装
- 安装引脚头:根据需要切割引脚条,将其插入面包板,然后将 breakout 板放在引脚上,确保短引脚穿过 breakout 焊盘,最后焊接所有引脚。
- 连接天线和电池:必须连接电池和天线,如果是uFL接口的FONA,可能需要uFL到SMA的电缆。注意电池极性,将uFL连接器正确连接。
- 插入SIM卡:将SIM卡插入背面的卡槽,确保是2G Mini SIM卡,插入时金垫朝上,缺口在外侧角,然后关闭卡槽。
(二)连接到USB
如果有USB控制台电缆,可以直接连接并使用终端软件发送命令。连接步骤如下:
- 安装PL2303驱动并确定COM端口。
- 以9600波特率、8N1(8位、无校验位、1个停止位)连接到COM端口。
- 检查连接:确保LiPoly电池已插入FONA的JST接口,安装了有效的2G SIM卡,将黑色线连接到GND,白色线连接到TX,绿色线连接到RX,红色线连接到Vio,必要时按住KEY按钮2秒,直到PWR指示灯亮起,NET指示灯闪烁。
(三)连接到Arduino
将FONA模块焊接引脚头后插入面包板,与Arduino连接的引脚如下:
- Vio连接到5V(3V逻辑的Arduino连接到3V)。
- GND连接到GND。
- Key连接到GND(始终开启)。
- RX连接到数字2。
- TX连接到数字3(Leo/Micro连接到9,Mega连接到10)。
- RST连接到数字4。
六、测试与使用
(一)USB测试
- 测试命令:发送“AT”初始化自动波特率,可能需要尝试两次,成功后会看到“AT”字符回显和“OK”。还可以发送“ATI”获取模块名称和版本,“AT + CMEE = 2”开启详细错误信息,“AT + CCID”获取SIM卡号码。
- 测试设置:发送“AT + COPS?”检查是否连接到网络,“AT + CSQ”检查信号强度,“AT + CBC”返回锂电池状态。如果SIM卡有PIN码,需要使用“AT + CPIN”命令输入PIN码。
- 测试发送短信:发送“AT + CMGF = 1”设置为文本模式,“AT + CMGS = "nnnnnn"”发送短信,输入短信内容后按[Control - Z]发送。
- 测试通话:将耳机连接到4极3.5mm耳机插孔,拨打“ATDnnnnn;”进行通话,通话结束后发送“ATH”挂断。
(二)Arduino测试
- 下载库:打开Arduino库管理器,搜索并安装Adafruit FONA库。
- 调整波特率(FONA 3G):首次使用FONA 3G时,可能需要运行FONA3G_setBaud示例将波特率手动设置为4800bps。
- 加载示例:打开File -> Examples -> Adafruit_FONA -> FONAtest并上传到Arduino,根据FONA型号调整构造函数,确保电池和天线已连接。
- 使用测试草图:上传后,以115200波特率打开串口控制台,测试草图有菜单界面,可测试FONA的各种功能。
(三)硬件测试
- 电池电压:在命令窗口输入“b”并发送,可读取电池电压。
- 检查SIM CCID:输入“C”可验证SIM卡是否插入正确。
(四)网络测试
- 检查RSSI:输入“i”可获取信号强度,信号强度应高于5才能进行通话、短信等操作。
- 检查网络注册:输入“n”检查网络状态,注册成功后等待5 - 10秒再进行短信或通话操作。
(五)音频设置与测试
- 设置和获取音量:输入“v”设置音量,“V”获取音量,音量范围为0 - 100%。
- 设置音频路径:输入“H”设置为耳机音频,“e”设置为外部音频(FONA 808只有耳机音频,Feather FONA只有外部音频)。
- 播放工具包音调:使用“AT + STTONE”命令中的音调#20(美国拨号音)测试音频路径,可在耳机和外部音频模式下分别测试。
(六)PWM蜂鸣器
FONA800和808的Breakouts和Shields支持PWM蜂鸣器,可使用单个PWM输出引脚控制压电或振动电机,频率范围为1 - 2000Hz,占空比为50%。
(七)电话通话
确保选择了正确的音频接口,输入“c”进行通话,“h”挂断。
(八)短信收发
发送短信可使用“AT + CMGF = 1”和“AT + CMGS = "nnnnnn"”,还可以使用“N”查询SIM卡中的短信数量,“R”读取所有短信,“r”读取单个短信,“d”按插槽号删除短信。
(九)FM广播(FONA800)
FONA800支持FM广播,使用“f”命令打开并调谐到指定频率(单位为100KHz),“F”关闭。
七、常见问题解答
(一)电池问题
必须使用1200mAh以上的LiPoly电池,不能仅使用电源或MicroUSB端口供电,可使用外部5V电源为电池充电,但电池是必需的。
(二)模块故障
如果模块出现问题,可发送“ATZ”命令进行工厂复位;如果设置了奇怪的固定波特率,可使用USB串口控制台电缆快速更改波特率。
(三)音频问题
使用兼容的耳机,不能混合使用外部麦克风和耳机扬声器,需要使用fona.setAudio()函数告诉FONA使用哪种音频。
(四)兼容性问题
目前FONA库和盾牌仅支持Arduino UNO,其他平台可能需要进行移植工作。
(五)其他问题
可同时给电池充电和使用FONA;注意电池极性,否则可能导致模块无法正常工作;FONA 800/808可使用2G - 3G SIM卡,只要能注册到2G网络即可;AT&T的2G网络将于2017年1月关闭,可尝试激活但可能较困难;FONA在待机状态下,1200mAh电池可使用1 - 2天;设置FONA SIM的实时时钟可参考论坛帖子;FONA 808有两个版本,GPS命令不同,需根据版本选择相应的命令文档;可通过修改Adafruit_FONA.h库文件中的FONA_PREF_SMS_STORAGE定义来切换SMS存储位置;如果RESET引脚复位无效,可通过焊接小电线或更换0欧姆电阻来解决。
八、总结
Adafruit FONA MiniGSM是一款功能强大、小巧便携的蜂窝模块,虽然在使用过程中可能会遇到一些问题,但只要我们了解其特点和使用方法,就能充分发挥它的优势,为我们的电子项目增添更多的可能性。你是否已经迫不及待地想要尝试一下这个小模块了呢?不妨动手实践,看看它能为你的项目带来怎样的惊喜!