历史上的今天
今天是:2024年11月24日(星期日)
2021年11月24日 | STM32F1x通过 IP 地址进行 GPRS 数据传输
2021-11-24 来源:eefocus
一、所使用的模块为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
下一篇:STM32的NVIC和中断的总结
史海拾趣
|
汽车的视野性、方便性、舒适性等与车身电子控制系统息息相关。 视野性是指驾驶员在操纵汽车时,不需改变操作姿势对道路及周围环境观察的可见范围,视野控制技术指的是对汽车照明灯以及对电动刮水器、洗涤器和除霜器等的电子控制。方便性除指 ...… 查看全部问答> |
|
本人有MTK 平台的 0812 0816 06B 6223 单双卡双待等源码,提供配套的测试手机以及刷机线!可以满足学习与开发需要, 有学习需要的朋友可以加我,一起学习!一起做MTK的技术精英。 另外,对于初学者,本人可以提供环境搭建的完整工具与相应文档, ...… 查看全部问答> |
|
在wince中 RAM 被分成两个区域 一个是程序内存 这个好理解 还有个就是 对象存储库 这个对象存储库 不太理解 我们在往wince里面烧写程序的时候不是都烧写在 flash rom 里面的吗 那怎么 RAM ...… 查看全部问答> |
|
大家好: 我用的是顶星TM810-T主板,C3主频为1G的CPU,我想将主频超到1.33G,在BIOS中按照以下的设置后,保存退出,怎么还是原来的1G(100*10)主频呢?我的设置如下: Auto Detect DIMM/PCI Clk [Enabled] 默认,没有改 Spread Sp ...… 查看全部问答> |
|
今年的冬天,有寒冷还有雾霾,这是一个适合宅的冬天。对于那些本就不喜外出的技术宅来说,这再适合不过了,没有活动邀请,没有电话催促,可以宅在房间一隅摆弄自己心爱的玩意。 现在,为大家整理出本年度十大DIY方案,供各位技术宅神选用。仅供 ...… 查看全部问答> |
|
需要精简现在的网络交换单元的结构,现在是4片IP175D连接在一起,对外有14网络接口,其代价是4片IP175LFI,板子发热严重,电源不堪重负,因此开始重新选型,原则是单芯片多口, 条件如下: 1:MII/RMII 2:单芯片8个网络口以上。 3:工业级 4: ...… 查看全部问答> |




