STM32学習記録1----ESP8266ワイヤレスモジュールの使用


1.ESP8266の概要

ここに画像の説明を挿入
ESP8266モジュールは、広く使用されているシングルチップWIFI通信モジュールです。以下では、主にSTM32でESP8266の通信を実装する方法について説明します。

2.ATコマンドコア

初期化

	//ESP初始化 
	SendATCmd("+++",500);    //退出透传模式
	SendATCmd("AT\r\n",500);    //测试ESP01模块是否存在
	SendATCmd("ATE0\r\n",500);    //关闭模块回显
	SendATCmd("AT+GMR\r\n",500);    //查看模块版本信息
	SendATCmd("AT+CWMODE=3\r\n",500);    //开启STA+AP模式
	SendATCmd("AT+CIPMUX=0\r\n",500);    //关闭多连接
	
	char str[200];
	sprintf(str,"AT+CWJAP=\"%s\",\"%s\"\r\n","这里输入热点名称","这里输入热点密码");   //账号和密码的输入,建议使用2.4Ghz频段
	SendATCmd(str,3000); //连接无线路由器或者手机热点,等待十秒

10秒ごとに、APIインターフェースを介してXinzhiWeatherにアクセスし、リアルタイムの天気のjson文字列を取得します

if(osKernelGetTickCount()>tick_for_weather)
{
    
    
  tick_for_weather=osKernelGetTickCount()+10000;
  SendATCmd("AT+CIPSTART=\"TCP\",\"api.seniverse.com\",80\r\n",2000);//连接心知天气TCP服务器	
  SendATCmd("AT+CIPMODE=1\r\n",500);  //开启透传模式
  SendATCmd("AT+CIPSEND\r\n",500);   //开启透传
  SendATCmd("GET https://api.seniverse.com/v3/weather/now.json?key=Srb4ras_BDB82jLDh&location=hangzhou&language=en&unit=c\r\n",3000);
  SendATCmd("+++",500);    //退出透传模式	
}

3.補助機能

void SendATCmd(char *cmd,int waitms)   //发送AT指令给串口6
{
    
                                     
  if(NULL!=cmd) 
	{
    
    
	HAL_UART_Transmit(&huart6,(uint8_t*)cmd,strlen(cmd),0xFFFF);
	if(waitms>0)
	osDelay(waitms);//延时等待ESP01模块应答时间
	}	
}

第四に、効果マップ

ここに画像の説明を挿入
わからない場合はメッセージを残してください。

おすすめ

転載: blog.csdn.net/taiyuezyh/article/details/124208572