成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

2021-09-04

Zack / 2321人閱讀

摘要:使用實現(xiàn)連網(wǎng)實現(xiàn)巴法云物聯(lián)網(wǎng)使用硬件程序思路基于正點原子的測試程序在巴法云物聯(lián)網(wǎng)創(chuàng)建的主題初始化代碼比較簡陋主函數(shù)代碼如果想用串口助手調(diào)試,接線方法如下使用硬件我這里使用的是正點原子家的開發(fā)板精英版和模塊。

1、使用硬件

我這里使用的是正點原子家的STM32開發(fā)板(精英版)和ESP8266模塊。剛開始準(zhǔn)備做一個LORA網(wǎng)關(guān)的,但是后面因為比賽的原因就沒有搞了,就搞了LORA的通信和WIFI上云(巴法云物聯(lián)網(wǎng))的代碼:

  1. 正點原子家的STM32開發(fā)板(精英版)

  2. ESP8266模塊

程序思路(基于正點原子的測試程序)

第一步:stm32單片機配置兩個串口,(USART1和USART3), USART1主要用來單片機向電腦的串口發(fā)送數(shù)據(jù),方便我們調(diào)試。USART3主要用來連接WIFi模塊,和它通信。

第二步:通過USART3串口配置ESP8266模塊。

第三步:接收云平臺的信息和發(fā)送心跳包

單片機訂閱云平臺的主題:cmd=1&uid=005dd80adf61d7df35bb4e2cbbf1bf9f&topic=chishi單片機把消息推送到云平臺:cmd=2&uid=005dd80adf61d7df35bb4e2cbbf1bf9f&topic=chishi&msg=RELAY1_OPEN單片機的心跳包(60s之內(nèi)必須發(fā)一次,否則單片機會掉線):cmd=0&msg=ping

在巴法云物聯(lián)網(wǎng)創(chuàng)建的主題

ESP8266初始化代碼(比較簡陋)

#include "esp8266.h"#include "common.h"#include "stdlib.h"#include "led.h" u8 atk_8266_apsta_test(void){	atk_8266_send_cmd("AT","OK",50);	atk_8266_send_cmd("AT+CWMODE=3","OK",50);	atk_8266_send_cmd("AT+CWJAP=/"zhouyong/",/"23456789/"","WIFI GOT IP",1000);		delay_ms(1000);//這里的延時是等待模塊重啟,具體延時多久是看模塊的重啟時間	delay_ms(1000);	delay_ms(1000);	delay_ms(1000);	delay_ms(1000);	delay_ms(1000);	atk_8266_send_cmd("AT+CIPMODE=1","OK",200);	atk_8266_send_cmd("AT+CIPSTART=/"TCP/",/"bemfa.com/",8340","OK",200);		atk_8266_send_cmd("AT+CIPSEND","OK",200);		atk_8266_send_cmd("cmd=1&uid=005dd80adf61d7df35bb4e2cbbf1bf9f&topic=chishi","cmd=1&res=1",200);	atk_8266_send_cmd("cmd=0&msg=ping","cmd=0&res=1",200);//atk_8266_send_cmd函數(shù)的第一個參數(shù)是要發(fā)送的消息    					//第二個參數(shù)是返回的消息    					//第三個參數(shù)是等待的時間	}

atk_8266_send_cmd函數(shù)的代碼

//向ATK-ESP8266發(fā)送命令//cmd:發(fā)送的命令字符串//ack:期待的應(yīng)答結(jié)果,如果為空,則表示不需要等待應(yīng)答//waittime:等待時間(單位:10ms)//返回值:0,發(fā)送成功(得到了期待的應(yīng)答結(jié)果)//       1,發(fā)送失敗u8 atk_8266_send_cmd(u8 *cmd,u8 *ack,u16 time){	u8 res=0; 	USART3_RX_STA=0;	u3_printf("%s/r/n",cmd);	//發(fā)送命令	if(ack&&time)		//需要等待應(yīng)答	{		while(--time)	//等待倒計時		{			delay_ms(10);			if(USART3_RX_STA&0X8000)//接收到期待的應(yīng)答結(jié)果			{				if(atk_8266_check_cmd(ack))				{					printf("ack:%s/r/n",(u8*)ack);					break;//得到有效數(shù)據(jù) 				}					USART3_RX_STA=0;			} 		}		if(waittime==0)res=1; 	}	return res;} 

主函數(shù)代碼

#include "stm32f10x.h"#include "sys.h"#include "delay.h"#include "usart.h" #include "led.h" #include "esp8266.h"#include "key.h"      	#include "string.h"#include "usart3.h"#include "common.h" int main(void) {		u16 rlen=0;//保存接收到的數(shù)據(jù)長度	 char data_tiqu[100];//將接收到的數(shù)據(jù)保存到該數(shù)組	 char data[10];//最終提取的數(shù)據(jù)	 int k=0,s=0;//保存cmd2開頭的數(shù)據(jù)的下標(biāo)	 int i=0,j=0;	 char cmd[]="msg";	 int flag=1;//收到正確數(shù)據(jù)標(biāo)志位,默認(rèn)為1,	u8 timex=0;//每200發(fā)送1次心跳包的標(biāo)志位  delay_init();	    	                        //延時函數(shù)初始化	    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級	uart_init(115200);	 	                        //串口初始化為115200	usart3_init(115200);	LED_Init();	relay_Init();//繼電器端口初始化	KEY_Init();	atk_8266_apsta_test();//esp8266初始化	atk_8266_send_cmd("cmd=0&msg=ping","cmd=0&res=1",200);	while(1)	{		timex++;		//atk_8266_send_cmd("cmd=0&msg=ping",NULL,200);//心跳包		//u3_printf("%s/r/n","cmd=2&uid=005dd80adf61d7df35bb4e2cbbf1bf9f&topic=chishi&msg=RELAY1_OPEN");//推送消息到云平臺		//atk_8266_at_response(1);					if(USART3_RX_STA&0X8000)		//接收到一次數(shù)據(jù)了			{ 				//USART3_RX_BUF[USART3_RX_STA&0X7FFF]=0;				rlen=USART3_RX_STA&0X7FFF;	//得到本次接收到的數(shù)據(jù)長度				USART3_RX_BUF[rlen]=0;		//添加結(jié)束符 				printf("%s",USART3_RX_BUF);	//發(fā)送到串口				數(shù)據(jù)提取					if(strncmp(USART3_RX_BUF,"cmd=2",5)==0)					{						for(i=0;i<strlen(USART3_RX_BUF)+1;i++)						{							data_tiqu[s]=USART3_RX_BUF[i];							s++;						}						printf("%s",data_tiqu);						for(i=0;i<strlen(data_tiqu);i++)						{															if(data_tiqu[i]==cmd[0])								{									k=i;									k++;									for(j=1;j<strlen(cmd);j++)									{										if(data_tiqu[k]==cmd[j])										{											k++;											flag=1;										}										else										{											flag=0;										}									}								}									}						s=0;						數(shù)據(jù)提取結(jié)束						if(flag==1)						{								for(i=k+1;i<strlen(data_tiqu)+1;i++)								{									data[s]=data_tiqu[i];									s++;								}								printf("%s",data);																if(data[0]=="R"&&data[1]=="1")								{									GPIO_ResetBits(GPIOE,GPIO_Pin_1);//開繼電器1								}								if(data[0]=="R"&&data[1]=="0")								{									GPIO_SetBits(GPIOE,GPIO_Pin_1);//關(guān)繼電器1								}																if(data[2]=="R"&&data[3]=="1")								{									GPIO_ResetBits(GPIOE,GPIO_Pin_2);//開繼電器2								}								if(data[2]=="R"&&data[3]=="0")								{									GPIO_SetBits(GPIOE,GPIO_Pin_2);//關(guān)繼電器2								}																if(data[4]=="R"&&data[5]=="1")								{									GPIO_ResetBits(GPIOE,GPIO_Pin_3);//開繼電器3								}								if(data[4]=="R"&&data[5]=="0")								{									GPIO_SetBits(GPIOE,GPIO_Pin_3);//關(guān)繼電器1								}																if(data[6]=="R"&&data[7]=="1")								{									GPIO_ResetBits(GPIOE,GPIO_Pin_4);//開繼電器4								}								if(data[6]=="R"&&data[7]=="0")								{									GPIO_SetBits(GPIOE,GPIO_Pin_4);//關(guān)繼電器4								}														}											}					if(strncmp(USART3_RX_BUF,"cmd=0&res=1",11)==0)					{						printf("%s",USART3_RX_BUF);					}									USART3_RX_STA=0;			}		if((timex%200)==0)		{			u3_printf("cmd=0&msg=ping");//心跳包			timex=0;		}			} }

如果想用串口助手調(diào)試,接線方法如下:

串口助手esp8266
GNDGND
VCCVCC
RXTX
TXRX

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/119228.html

相關(guān)文章

  • 行業(yè)報告 | 2021.10.06 | 研報目錄更新

    大家好,我們每天全網(wǎng)搜集各行各業(yè)的研究報告,了解一個行業(yè)從閱讀這個行業(yè)的研報開始,今日分享目錄如下: 20211006分享目錄: 2021抖音電商商家經(jīng)營方法論白皮書-34頁.pdf 2021中國數(shù)據(jù)智能產(chǎn)業(yè)發(fā)展研究報告-50頁.pdf 2021公益數(shù)字化轉(zhuǎn)型-56頁.pdf 2021年中國一線城市出行平臺調(diào)研報告-77頁.pdf 2021年中國內(nèi)容機構(gòu)(MCN)行業(yè)發(fā)展研究報告-66頁.pd...

    dinfer 評論0 收藏0
  • 行業(yè)報告 | 2021.09.28 | 研報目錄更新

    大家好,我們每天全網(wǎng)搜集各行各業(yè)的研究報告,了解一個行業(yè)從閱讀這個行業(yè)的研報開始,今日分享目錄如下: 20210928分享目錄: 休閑娛樂行業(yè)主題研究:本地出行,眾彩紛呈-35頁.pdf 休閑服務(wù)行業(yè)海南折扣觀察第一期:SKU較少的GDF折扣小幅加大,其他公司相對穩(wěn)定-14頁.pdf 傳媒行業(yè)2021年中期策略報告:從流量到留量,抓住年輕人、擁抱視頻化、提升專業(yè)化-30頁.pdf 傳媒行業(yè)深度...

    LancerComet 評論0 收藏0
  • 行業(yè)報告 | 2021.09.06 | 研報目錄更新

    摘要:參一江湖只作為內(nèi)容整理方,僅供學(xué)習(xí)使用。更多相關(guān)報告請查看參一江湖星球。 大家好,我們每天全網(wǎng)搜集各行各業(yè)的研究報告,了解一個行業(yè)從閱讀這個行業(yè)的研報開始,今日分享目錄如下: 20210906分享目錄: 2021中國車險科技創(chuàng)新服務(wù)研究報告-45頁.pdf 2021年中國家裝行業(yè)數(shù)字化研...

    junfeng777 評論0 收藏0
  • 《安富萊嵌入式周報》第228期:2021.08.30--2021.09.05

    摘要:論壇下載由于庫是不帶中值濾波器的,需要自己實現(xiàn),所以花了點時間制作了一個章節(jié)。紅色線是波形高斯白噪聲均勻白噪聲。第版教程發(fā)布中文顯示章節(jié)論壇下載可以直接運行界面效果,也可以使用可以直接編譯運行。上位機已經(jīng)整合主機,下一版發(fā)布 往期周報匯總地址:http://www.armbbs.cn/for...

    劉東 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<