网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月28日漏签0天
esp8266吧 关注:4,641贴子:10,293
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 5回复贴,共1页
<<返回esp8266吧
>0< 加载中...

ESP8266和STM32F103做Server通讯

  • 只看楼主
  • 收藏

  • 回复
  • 梦幻魔侠
  • 仗剑天涯
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

手机(开发好的app,或者TCPUDP测试软件收发命令)
↓↑
花生壳域名
↓↑
家中路由器
↓↑
STM32开发板
↓↑
传感器,继电器
↓↑
门锁,家电,灯具
↓命令下达; ↑状态反馈
ESP8266和STM32的程序代码:
ESP8266模块在STM32上做Server时,外部对其端口进行收发数据的程序,大部分代码都备注了说明。因为是从client代码改来的,所以函数名不去改它了。
#include "sta_tcpclent_test.h"
#include "SysTick.h"
#include "usart.h"
#include "esp8266_drive.h"
#include #include
volatile u8 TcpClosedFlag = 0;//定义失去连接标志
void ESP8266_STA_TCPClient_Test(void)
{
u8 res;
u32 ul=0;
char str[100]={0},*links,*UserCmd;//links为检测连接字符串变量,usercmd为用户命令字符串变量
printf ( "\r\n正在配置8266\r\n" );//向串口1发消息
links="STATUS:3";//STATUS=2表示无连接,=3为有连接
ESP8266_CH_PD_Pin_SetH;//设置CH_PD为高电平
ESP8266_AT_Test();//AT测试
ESP8266_Net_Mode_Choose(STA_AP);//选择模式while(!ESP8266_JoinAP(User_ESP8266_SSID,User_ESP8266_PWD));//连接外部wifii,
ESP8266_Enable_MultipleId (ENABLE );//设置多链接
while(!ESP8266_StartOrShutServer ( ENABLE, "8266", "2000" ));//开启服务器和端口
printf ( "\r\n配置ESP8266 OK\r\n" );
while (1)//无限循环
{
ESP8266_Send_AT_Cmd ( "AT+CIPSTATUS", "ok", 0, 1000 );//查看链接状态
if(strstr ( ESP8266_Fram_Record_Struct .Data_RX_BUF, links))//如果有链接
{
printf ( "\r\n有客户端连接\r\n" );
UserCmd="mhmx";//客户端发来的命令字符串,可以是中文“开启”,“关闭”等
if(ESP8266_QL(UserCmd))//如果命令字符串匹配执行下列代码
{
printf ( "\r\n接收到指令\r\n" );//
//这里可以添加自己需要的代码,比如打开LED,或某个引脚的电平
sprintf (str,"智能家居启动完成\r\n" );
ul = strlen ( str );
ESP8266_SendString ( DISABLE, str, ul, Multiple_ID_0 );//向客户端发数据
delay_ms (1000);
}
else//接收到的字符串不匹配
{
printf ( "\r\n无有效命令\r\n" );
}
}
else//没有链接
{
printf ( "\r\n无客户端连接\r\n" );
}
//以下代码为检测是否和wifi失去连接,如果丢失连接,就重新连接。
if(TcpClosedFlag) //检查标志位
{
//ESP8266_ExitUnvarnishSend(); //退出透传模式,如有需要去掉//
do
{
res = ESP8266_Get_LinkStatus(); //获取链接状态
}
while(!res);//如果为0,获取状态失败,一直获取
if(res == 4) //4表示失去连接
{
printf ( "\r\n正在重新连接\r\n" );
while(!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );
while(!ESP8266_Enable_MultipleId (ENABLE ));
while(!ESP8266_StartOrShutServer ( ENABLE, "8266", "500" ));
//while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT, Single_ID_0 ) );//如果8266是client模式,去掉//启用此代码
printf ( "\r\n重新连接成功\r\n" );
}
//while(!ESP8266_UnvarnishSend());//重新启动透传,如果需要去掉//
}
}
}
整个程序文件包下载链接:链接:http://pan.baidu.com/s/1i5gE3Lr 密码:bx17


  • 水騲
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主你好,有对应的APP吗,就apk文件,求分享,谢谢了


2025-12-28 07:06:21
广告
不感兴趣
开通SVIP免广告
  • lyt5668612
  • 仗剑天涯
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主,有做好的整个设备吗?


  • 遁去的一_2015
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主!你的程序正好对应我的开发板!求教!感谢!麻烦留联系方式!!!


  • 果冻波go
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
给楼主跪了


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回esp8266吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示