在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2022-05-27 09:16 ? 次閱讀

硬件平臺(tái):ESP8266 WIFI模塊、STM32核心板、OLED顯示屏

實(shí)現(xiàn)方式:

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

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

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

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

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

功能實(shí)現(xiàn)

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

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

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

pYYBAGKPYxCAQ2UzAAHLzQ85ez8023.png

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

poYBAGKPY1WAHLJ1AAFQlPguTPU174.png

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

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

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

平臺(tái)返回?cái)?shù)據(jù)格式:

poYBAGKPZL-AJ2qfAAHZQ1Reazs776.png

5.功能實(shí)現(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);//藍(lán)牙默認(rèn)9600
	Usartx_Init(USART3,115200,36);//WIFI默認(rèn)115200
	TIMx_Init(TIM2,72,20000);//通過定時(shí)器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://晴轉(zhuǎn)多云
							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.平臺(tái)返回?cái)?shù)據(jù)解析

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

/******************解析 天氣數(shù)據(jù)****************
形參:u8* buff原始數(shù)據(jù)
			u8 *Weather_stat天氣數(shù)據(jù)標(biāo)志
			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.天氣圖標(biāo)下載和實(shí)物效果

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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6065

    文章

    44946

    瀏覽量

    648213
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2928

    文章

    46025

    瀏覽量

    389501
  • STM32
    +關(guān)注

    關(guān)注

    2291

    文章

    11019

    瀏覽量

    363008
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    523

    瀏覽量

    32546
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47082
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    【RA-Eco-RA4M2開發(fā)評(píng)測(cè)】RA4M2 + ESP8266獲取城市天氣預(yù)報(bào)(一)

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

    ESP8266 太空人動(dòng)畫的 OLED 顯示

    ESP8266 太空人動(dòng)畫的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?659次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動(dòng)畫的 OLED 顯示

    arduino(1)--ESP8266配置

    之后在打開開發(fā)管理器。 之后輸入esp8266,安裝對(duì)應(yīng)的庫文件,因?yàn)槲乙呀?jīng)安裝,故顯示為灰色,由于網(wǎng)絡(luò)原因,下載的時(shí)間可能比較久。 安裝完畢之后,選擇Generic ESP8266
    發(fā)表于 09-06 11:00

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?9次下載

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32和ESP82
    的頭像 發(fā)表于 08-19 18:23 ?2241次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?7060次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發(fā)表于 08-19 17:28 ?1602次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 : 使用USB轉(zhuǎn)TTL模塊將ESP8266模塊與電腦連接。 通過串口調(diào)試助手發(fā)送AT指令配置ESP8266,包括設(shè)置WiFi模式為STA模式(客戶端模式),連接指定的WiFi網(wǎng)
    的頭像 發(fā)表于 08-19 17:27 ?7369次閱讀

    是否可以使用ESP-NOW協(xié)議,將ESP8266作為與其他ESP8266之間的中繼器?

    我需要在沒有 WiFi 網(wǎng)絡(luò)的山丘周圍約 500 米處發(fā)送溫度數(shù)據(jù)。 是否可以使用 ESP-NOW 協(xié)議,將 ESP8266作為與其他
    發(fā)表于 07-19 06:53

    STM32F103 + ESP8266與機(jī)智云開發(fā)常見問題集錦:入門者必讀!

    關(guān)于ESP8266模塊的選擇針對(duì)初學(xué)者,強(qiáng)烈建議選擇帶有串口的ESP8266開發(fā)!這可以避免像我曾經(jīng)遇到的燒錄固件失敗等問題。推薦直接購買已預(yù)裝機(jī)智云固件的模塊,或者帶有串口下載功能的模塊,例如
    的頭像 發(fā)表于 07-18 08:11 ?922次閱讀
    <b class='flag-5'>STM32</b>F103 + <b class='flag-5'>ESP8266</b>與機(jī)智云開發(fā)常見問題集錦:入門者必讀!

    使用esp8266的HSPI與STM32進(jìn)行通信時(shí)遇到的疑問求解

    在使用esp8266的HSPI與STM32進(jìn)行通信時(shí),發(fā)現(xiàn)單片機(jī)可以對(duì)其進(jìn)行讀操作,但是單片機(jī)往esp8266里面寫數(shù)據(jù)的話就會(huì)出現(xiàn)esp8266
    發(fā)表于 07-10 06:45

    ESP8266如何實(shí)現(xiàn)網(wǎng)狀網(wǎng)絡(luò)

    ESP8266如何實(shí)現(xiàn)網(wǎng)狀網(wǎng)絡(luò)
    發(fā)表于 07-09 08:06

    ESP8266模塊的接收數(shù)據(jù)最大效率是多少呢?

    最近遇上一個(gè)這樣的問題,用ESP8266的模塊,將串口的數(shù)據(jù)讀出,通過mesh把數(shù)據(jù)轉(zhuǎn)發(fā)走。 使用開發(fā)連接電腦,電腦上使用串口助手向開發(fā)
    發(fā)表于 07-08 06:08

    ESP8266網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    基于ESP8266實(shí)現(xiàn)網(wǎng)絡(luò)獲取天氣和時(shí)鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?2131次閱讀
    <b class='flag-5'>ESP8266</b><b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>天氣</b>時(shí)鐘OLED顯示
    主站蜘蛛池模板: 日本一区二区三区四区不卡 | 你懂的网站在线观看 | 天堂tv亚洲tv日本tv欧美人tv | 55夜色66夜色国产精品站 | 亚洲视频一区在线观看 | 在线观看国产精美视频 | 欧美性受xxxx极品 | 免费恐怖片 | 午夜69成人做爰视频网站 | 欧美乱论视频 | 免费高清在线视频色yeye | 久久福利青草精品资源 | 手机在线看片你懂得 | 偷偷狠狠的日日日日 | 老色批影院 | av大片| 欧美亚洲网站 | 午夜福利国产一级毛片 | 欧美人成在线观看 | 看日本黄大片在线观看 | 国产好深好硬好爽我还要视频 | 欧美熟夫 | 天堂福利视频在线观看 | 天天草综合网 | 日本高清免费一本视频在线观看 | bt天堂在线www种子搜索 | 看日本黄大片在线观看 | 黄 色 毛片免费 | 黄在线看 | 黄色小毛片 | 免费啪视频在线观看 | 四虎新地址4hu 你懂的 | 女主播扒开内衣让粉丝看个够 | 一级中文字幕乱码免费 | 国内精品手机在线观看视频 | 第三级视频在线观看 | 网站在线观看你懂的 | 爱爱小说视频永久免费网站 | 色综合久久久久久久久五月 | www.男人 | 色偷偷91综合久久噜噜噜男男 |