chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP8266應用案例 基于STM32核心板獲取網(wǎng)絡天氣數(shù)據(jù)

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-05-27 09:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

硬件平臺:ESP8266 WIFI模塊、STM32核心板、OLED顯示屏

實現(xiàn)方式:

1.ESP8266 WIFI工作模式為STA+TCPClinet;

2.通訊協(xié)議:HTTP

3.天氣數(shù)據(jù)獲取平臺:心知天氣網(wǎng)

ESP8266 WIFI模塊自帶TCP/IP網(wǎng)絡協(xié)議棧,通過AT指令集完成網(wǎng)絡模式配置。知心天氣采用精準數(shù)據(jù)源授權預報信息,可查看全國各地的實時天氣預告、24小時預報、15天預報、空氣質量指數(shù)等預報信息。采樣HTTP協(xié)議接入服務器。

HTTP:超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應協(xié)議,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務器什么樣的消息以及得到什么樣的響應。HTTP是應用層協(xié)議,同其他應用層協(xié)議一樣,是為了實現(xiàn)某一類具體應用的協(xié)議,并由某一運行在用戶空間的應用程序來實現(xiàn)其功能。

功能實現(xiàn)

1.創(chuàng)建心知天氣個人賬戶,心知天氣地址:https://www.seniverse.com/api

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70

2.選擇產品->天氣數(shù)據(jù)接口,激活產品

pYYBAGKPYxCAQ2UzAAHLzQ85ez8023.png

3.激活成功后即可看到公鑰和私鑰,這個參數(shù)在后面獲取數(shù)據(jù)是需要用到。

poYBAGKPY1WAHLJ1AAFQlPguTPU174.png

4.HTTP方式獲取天氣數(shù)據(jù)

天氣實況獲取接口參數(shù):

https://api.seniverse.com/v3/weather/now.json?key=SwD4-aaQxhedD1z7U&location=beijing&language=zh-Hans&unit=c
“api.seniverse.com”     -- 平臺訪問域名
“SwD4-aaQxhedD1z7U”  --個人私有秘鑰
“beijing”             --要獲取的城市名稱
“zh-Hans”           --獲取到的數(shù)據(jù)語言(zh-Hans為簡體中文)
pYYBAGKPZIGALOEdAAGUV3LwI_8239.png

平臺返回數(shù)據(jù)格式:

poYBAGKPZL-AJ2qfAAHZQ1Reazs776.png

5.功能實現(xiàn)
心知的 API 目前基于 http 協(xié)議,域名是 api.seniverse.com,端口是缺省的 80(http)和 443(https)。

int main()
{
	u8 stat=0;
	u16 cnt=0;
	Beep_Init();//蜂鳴器初始化
	Led_Init();//LED初始化
	Key_Init();//按鍵初始化
	Usartx_Init(USART1,115200,72);
	Usartx_Init(USART2,9600,36);//藍牙默認9600
	Usartx_Init(USART3,115200,36);//WIFI默認115200
	TIMx_Init(TIM2,72,20000);//通過定時器2輔助串口接收數(shù)據(jù),20ms
	TIMx_Init(TIM3,72,20000);//TIM3輔助串口2數(shù)據(jù)接收,20ms接收一幀數(shù)據(jù)
	TIMx_Init(TIM4,72,20000);//TIM4輔助串口3數(shù)據(jù)接收,20ms接收一幀數(shù)據(jù)
	printf("wifi Init\r\n");
count++;
		cnt++;
		DelayMs(10);
		if(count>=500)
		{
			count=0;
			USARTx_Sendstr(USART3,"GET https://api.seniverse.com/v3/weather/now.json?key=SwD4-ybQxhedD1z7U&location=jiangxi nanchang&language=en&unit=c\n");
			// USARTx_Sendstr(USART3,"GET https://api.seniverse.com/v3/weather/grid/minutely.json?key=SwD4-ybQxhedD1z7U&location=114.38:27.80\n");
		}
		if(usart3_flag)
		{
			usart3_rx_buff[usart3_cnt]='\0';
			weather_show_stat=1;
			//printf("%s\r\n",usart3_rx_buff);
			/*
			{"results":[{"location":{"id":"WSCQ4UBFXPTE","name":"Yichun","country":"CN",
			"path":"Yichun,Yichun,Jiangxi,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},
			"now":{"text":"Sunny","code":"0","temperature":"36"},"last_update":"2020-08-03T14:00:00+08:00"}]}			
			*/
			if(key==0)
			{
				/*解析天氣數(shù)據(jù)*/
				stat=Weather_analysis(usart3_rx_buff,(u8 *)""name"",(u8 *)buff);//城市名稱
				if(!stat)
				{
					OLED_Display_str((127-48-strlen(buff)*8)/2,4,(u8 *)buff);
				}
				stat=Weather_analysis(usart3_rx_buff,(u8 *)""temperature"",(u8 *)buff);//獲取溫度
				if(!stat)
				{
					OLED_Display_str(127-26,6,(u8 *)"  ");
					OLED_Display_str(127-20-strlen(buff)*8,6,(u8 *)buff);
					OLED_Display_Flont(127-20,6,4);//顯示℃
				}
				stat=Weather_analysis(usart3_rx_buff,(u8 *)""code"",(u8 *)buff);//天氣代碼
				if(!stat)
				{
					sscanf(buff,"%d",(int *)&cnt);
					//printf("cnt=%d\n",cnt);
					switch(cnt)
					{
						case 0://晴
						case 1://晚上晴
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_0);
							break;
						case 4://多云
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_4);
							break;
						case 5://晴轉多云
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_5);
							break;
						case 6:
						case 7:
						case 8:
						case 9://陰
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_9);
							break;
						case 10://陣雨
						case 11://雷陣雨
						case 13:
						case 14://雨
						case 15:
						case 16://大雨
						case 17:
						case 18://暴雨
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_14);
							break;
						default:
							OLED_Dislay_Bmp(127-48,0,48,48,bmp_0);
							break;
					}
				}
			}
			usart3_flag=0;
			usart3_cnt=0;	
		}

6.平臺返回數(shù)據(jù)解析

平臺返回數(shù)據(jù)格式為Json格式數(shù)據(jù),可自行封裝函數(shù)完成數(shù)據(jù)解析。

/******************解析 天氣數(shù)據(jù)****************
形參:u8* buff原始數(shù)據(jù)
			u8 *Weather_stat天氣數(shù)據(jù)標志
			u8 *data解析獲取到的數(shù)據(jù)
返回值:0---成功,其他值---失敗
************************************************/
u8 Weather_analysis(u8* buff,u8 *Weather_stat,u8 *data)
{
	char *p=NULL;
	u16 i=0;
	p=strstr((char *)buff,(char *)Weather_stat);//獲取溫度
	if(p)
	{
		p+=strlen((char *)Weather_stat)+2;
		i=0;
		while(*p!='"' && *p!='\0')
		{
			data[i++]=*p++;
		}
		data[i]='\0';
		return 0;
	}
	else return 1;
}

7.天氣圖標下載和實物效果

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6074

    文章

    45359

    瀏覽量

    664259
  • 物聯(lián)網(wǎng)

    關注

    2942

    文章

    47385

    瀏覽量

    408742
  • STM32
    +關注

    關注

    2306

    文章

    11128

    瀏覽量

    371353
  • HTTP
    +關注

    關注

    0

    文章

    531

    瀏覽量

    34882
  • ESP8266
    +關注

    關注

    51

    文章

    966

    瀏覽量

    49048
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    晶科鑫 | 國產26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    【應用】國產26MHz頻率晶振應用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉WiFi模塊),Espressif(樂鑫)ESP8285/ESP8266芯片匹配測試OKESP8285其實是ESP8266的升級版
    的頭像 發(fā)表于 11-21 15:37 ?4099次閱讀
    晶科鑫 | 國產26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)常見的2種下載方式

    ESP32和ESP8266是性價比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領域的DIY項目中可以首先考慮這2款產品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?403次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)<b class='flag-5'>板</b>常見的2種下載方式

    ESP8266ESP32開發(fā)常見的2種下載方式

    開發(fā)時需要注意網(wǎng)絡哦,可以用手機發(fā)熱點)。這里已經是安裝好的ESP8266開發(fā),第一次搜索會在右下角刪除那里顯示安裝。 3.點擊項目-加載庫-管理庫,添加開發(fā)
    發(fā)表于 10-24 18:04

    RK3576與RK3588核心板如何選型?1分鐘速通!#RK3576核心板 #RK3588核心板

    核心板
    廣州靈眸科技有限公司
    發(fā)布于 :2025年09月23日 17:31:12

    ESP8266】進入透傳模式后,數(shù)據(jù)間隔怎么調整,

    01.TCP客戶端用ESP8266透傳模式發(fā)送數(shù)據(jù)是10ms發(fā)送一次,(連續(xù)發(fā)送) 02.TCP服務器接收到的數(shù)據(jù)是200ms左右接收一次,數(shù)據(jù)未丟失,但是更新不及時; 03.通過TC
    發(fā)表于 09-15 10:16

    【RA4E2開發(fā)評測】——7.使用AT指令獲取城市天氣預報

    使用ESP8266連接RA4E2開發(fā)后,可以通過ESP8266連接WIFI網(wǎng)絡,然后通過AT指令訪問api.seniverse.com心知天氣
    發(fā)表于 09-03 13:10

    【RA-Eco-RA6M4開發(fā)評測】——4.使用ESP8266獲取任意城市的天意預報

    手頭上有一個ESP8266,閑置了很久,突然想起來可以和RA6M4開發(fā)連接起來,使用AT指令來獲取網(wǎng)絡天氣預報,于是就把它們連接起來。就有
    發(fā)表于 07-23 19:50

    STM32+esp8266連接機智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、代碼生成、代碼移植)

    本教程將詳細介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機智云平臺,實現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠程控制。通過此過程,您將學會如何配置機智云平臺,燒錄ESP8266
    的頭像 發(fā)表于 07-15 18:54 ?790次閱讀
    <b class='flag-5'>STM32+esp8266</b>連接機智云,上傳溫濕度<b class='flag-5'>數(shù)據(jù)</b>并控制繼電器開關(平臺配置、代碼生成、代碼移植)

    【匯思博SEEK100開發(fā)試用體驗】04 網(wǎng)絡連接及獲取和風天氣數(shù)據(jù)

    initData函數(shù) 在nowWeatherDataComponent這個組件中新建一個內部函數(shù),用于向和風API發(fā)送請求,得到天氣數(shù)據(jù)。 async initData() { // 獲取當前時間
    發(fā)表于 07-08 19:26

    【RA4L1-SENSOR】+ RA4L1-SENSOR開發(fā)之使用ESP8266獲取任意城市天氣預報

    拿到瑞薩的藍牙音響!?。。?! 手上剛好有個ESP8266的WIFI模塊,可以用它來實現(xiàn)AT指令連接WIFI網(wǎng)絡,從而獲取天氣預報信息,通過CJSON提取出城市和
    發(fā)表于 06-11 15:13

    ESP8266燒錄與機智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應用于智能家居和工業(yè)自動化等領域。機智云平臺提供了一鍵配網(wǎng)功能,簡化了設備的聯(lián)網(wǎng)過程。本教程將詳細介紹如何使用ESP8266進行燒錄,并通過機智云實現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?1610次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機智云一鍵配網(wǎng)教程

    【RA-Eco-RA4M2開發(fā)評測】RA4M2 + ESP8266獲取城市天氣預報(二)使用串口助手獲取天氣+破解任意類型AT指令

    https://bbs.elecfans.com/jishu_2487602_1_1.html 前一篇帖子中我已經實現(xiàn)了完整的RA4M2配合ESP8266獲取城市天氣預報信息數(shù)據(jù),可以
    發(fā)表于 05-04 10:07

    【RA-Eco-RA4M2開發(fā)評測】RA4M2 + ESP8266獲取城市天氣預報(一)

    天氣預報。 ESP8266是一款WiFi模塊,它具有強大的網(wǎng)絡連接功能,可以輕松地連接到互聯(lián)網(wǎng)。將使用ESP8266模塊來獲取
    發(fā)表于 05-02 14:28

    STM32ESP32應該學哪個

    等等,市場占有率也很高。 ESP32相對年輕了不少,滿打滿算也不到 10 歲,他的前身,還得從 ESP8266 說起,都屬于樂鑫科技的產品。 如果你用單片機做過一些物聯(lián)網(wǎng)產品,那多多少少應該聽過 ESP8266,這是一個非常常見
    的頭像 發(fā)表于 02-18 09:52 ?1154次閱讀

    天問ASRPRO核心板+ESP32S3#pcb設計

    核心板
    默語聆聽
    發(fā)布于 :2025年01月13日 00:51:48