这里写自定义目录标题
利用stm32开发板结合网络模块sim800c向云端发数据、图片
才开始学习网络传输模块sim800c真的是四处碰壁啊,好在功夫不有心人,终于搞成了,利用sim800c的GPRS功能传输数据,现在做如下分享,欢迎各位一起学习探讨!!!
##建立tcp连接
在发送数据前,首先进行tcp连接,代码如下:
```c
u8 sim_ready=0;
while(sim800c_send_cmd("AT","OK",100))
{
delay_ms(500);
}
while(1)
{
if(sim800c_gsminfo_show(40,225)==0)sim_ready=1;
else sim_ready=0;
if(sim_ready)//
{
p=mymalloc(SRAMIN,100); //
sprintf((char*)p,"AT+CIPSTART=TCP,\"%s\",\"%s\"",ipaddr,port);
if(sim800c_send_cmd(p,"OK",500))return;
}
}
**注意更改ip及端口号为服务器的地址。**
正常连接之后,可以进行数据的发送,给的程序已经有了函数,只需要调用就可以了。
正确建立连接以后,可以进行数据发送了。注意在发送SD卡里的数据时,要先对SD卡进行挂载,下面是从SD卡读取文件信息,并通过网络模块进行数据传输的程序:
f_open(&fileobj,(const TCHAR*)"0:/898.txt",FA_OPEN_ALWAYS|FA_READ);
length=0;
for(kt=0;kt<file_byte/1024+1;kt++)
{
f_read(&fileobj,shuzu,1024, &bw);
if(sim800c_send_cmd("AT+CIPSEND",">",10)==0)
{
u3_printf("%d",shuzu);
sim800c_send_cmd((u8*)0X1A,"",100);
length+=1024;
}
}
f_close(&fileobj);
if(length>=file_byte) break;
结果展示
![结果展示](https://img-blog.csdnimg.cn/20210115171159219.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3VwX3hpYW9ndW8=,size_16,color_FFFFFF,t_70#pic_center)
另外,还有发短信、打电话、蓝牙等功能可以进一步研究,加油加油,冲冲冲!欢迎一起讨论。