一、所使用的模块为UNV-SIM800 V3.92( UNV 是全球鹰标识,V3.92 是硬件版本号)是全球鹰通讯推出的一款高性能工业 GSM/GPRS 模块。
(一)、其内嵌 TCP/IP 协议,可以实现 SMS,彩信,基站定位, GPRS 传输数据等功能。
(二)、UNV-SIM800 开发板 TTL 电平接口,以及供电VMCU 为 TTL 电平串口电压匹配端,不是 SIM800 板供电接口。VMCU 是用来控制SIM800 开发板的串口的输出的高电压值,不是给系统供电的管脚。当外部系统为5V 系统时,VMCU 要接 5V,如:与STC89C51 或 arduino 通信时,VMCU 要接 5V;当外部系统为 3.3V 系统时,VMCU 要接 3.3V,如与 STM32 或树莓派通信时,VDD接 3.3V。
共有两组电源接口,它们无任何区别。其中下面白色 2.54MM 端子电源接口,左侧针为电源负极,右侧针为电源正极;右侧边上 4 根排针最上面一根针为电源正极。实际应用中,两组接口接任何一个均可以为 SIM800 板供电。
二、通过IP 地址进行 GPRS 数据传输
(一)、找到GPRS 数据传输的目标公网IP和端口号(很很很重要)
1、在运行中输入cmd。2、接着在命令页输入:ipconfig这个ip命令找到网关地址ip。
这里要注意:
(1)自己电脑的内网 IP(即IPv4):192.168.123,36
(2)通过默认网关:192.168.123.1 ,找到公网IP和端口号
(还要注意的是,这样找到的路由器的公网IP和端口号是我们调试时候用的。若是形成产品,我们要知道的是(GPRS 数据传输的目的地)服务器的公网IP和端口号。)
3、接着在浏览器地址栏输入刚刚查到的默认网关ip进入。
4、然后会弹出一个路由器验证页面,输入用户名和密码进入。
5、接下来大家就可以看到自己路由器的界面了。
6、在浏览器里输入192.168.123.1,找到转发规则-虚拟服务器-添加单个条目,按图中提示输入。
(二)、使用 AT 指令进行调试
2.1 找到数据传输目标服务器的公网IP和端口号,就可以继续进行AT指令的调试了。
注意:
(1)、每条指令要以 回车键 结尾,换成十六进制即0x0D 0x0A
(2)、在第八步中,发送的数据(不是AT指令)要以 这个符号结尾,换成十六进制即0x1A。
设置AT指令有十步,按顺序操作,不要省步骤。尤其第四五六步。
第一步:AT+CSQ 查询网络信号质量,其中第一个参数为网络信号质量最大为 31,此数值越大说明网络信号越强。
第二步:AT+CREG? 查询网络注册情况,其中第二个参数为 1 或 5 则说明已经注册成功。
第三步:AT+CGATT? 查询模块是否附着 GPRS 网络
第四步:AT+CSTT 设置 APN
第五步:AT+CIICR 激活移动场景
第六步:AT+CIFSR 获得本地 IP 地址
第七步:AT+CIPSTART=“TCP”,“103.46.128.41”,23859 建立 TCP/IP 连接 // 测试时这就是公网 IP 和端口号:“103.46.128.41”,23859
第八步:AT+CIPSEND 模块向服务器发送数据
收到模块返回的”>”就可以输入要发送的数据,这里发送“Elec”,这步操作不可以发送回车换行。发送完成,服务器会收到模块发送过来的数据“UNV”
第九步:接收数据,在服务器中输入要发送的数据如“quanqiuying-keji”。点击发送数据,数据就发送到开发板上,串口助手会显示
第十步:AT+CIPCLOSE 或 AT+CIPSHUT 关闭 TCP 连接,返回 OK 说明已经成功关闭了 TCP 连接,这时服务器端的连接状态栏应该没有任何连接了。
2.2 模块线的连接
三、 IP 地址进行 GPRS 数据传输的程序编写
程序链接:
https://download.csdn.net/download/qq_37788383/11887886
头文件里的程序
#ifndef __GPRS_H_
#define __GPRS_H_
#include "usart.h"
#include "sys.h"
#include "delay.h"
typedef struct gprs_send_node{
int s_jing;
int s_wei;
int oxygen;
}gprs_send_node;
void uart3_init(u32 bound);
void TIM7_Int_Init(u16 arr,u16 psc);
void USART3_Send_data(int *str);
void Gprs_Init(void);
void Gprs_Init_CSQ();
void Gprs_Init_CREG();
void Gprs_Init_CGATT();
void Gprs_Init_CSTT();
void Gprs_Init_CIICR();
void Gprs_Init_CIFSR();
void Gprs_Init_CIPSTART();
void Gprs_Init_CIPSEND();
void Gprs_Send();
#endif
上一篇:SP70C毫米波雷达STM32F1x开发
下一篇:STM32的NVIC和中断的总结
推荐阅读最新更新时间:2024-11-04 15:54
设计资源 培训 开发板 精华推荐
- 负高压热插拔控制器包含精确的电源监控器和电源模块排序
- AM1DR-1205SZ 5V 1 瓦 DC-DC 转换器的典型应用
- 智能水杯
- LTC3632IDD 高效 5V 稳压器典型应用电路
- Arduino Nano,基于 ATmega328/ATmega168 ATmega AVR MCU 的 Arduino Nano 开发板平台
- LT8570EDD 1MHz 升压转换器从 5V-12V 输入产生 24V 的典型应用
- 具有电源排序和 I2C 功能的 LTC3589HUJ-2 8 输出稳压器的典型应用电路
- 具有集成驱动器的 LTM9012 四通道、14 位、125Msps ADC 的典型应用
- SPC574 S系列探索套件
- 用于电池充电器的 30W、16.8V 交流转直流单输出电源