国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于STM32F103RCT6之手把手教你寫智能家居項目(2)

這篇具有很好參考價值的文章主要介紹了基于STM32F103RCT6之手把手教你寫智能家居項目(2)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一:回顧

??????? 上一節(jié)我們簡述了智能家居項目,實現(xiàn)了點燈的相關(guān)代碼編寫,還有WIFI模塊的固件燒錄。

二:連接平臺

連接什么平臺:

??????? 我們想要遠程控制家具的開關(guān)和獲取家中的狀態(tài),少不了一個可以傳輸數(shù)據(jù)的云平臺。我認為易監(jiān)控是一個簡單好用的云平臺。

怎么連接平臺:

微信搜索“易監(jiān)控”小程序

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

點擊舊版入口

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

綁定賬號

????????對話框發(fā)送:綁定賬號+賬號+密碼,例如:綁定賬號+YIGEJIE+123456789

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

??????? 這樣就可以通過賬號登錄易監(jiān)控了。

測試連接

使用網(wǎng)絡(luò)調(diào)試助手 基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

??????? 這里順便說一下,易監(jiān)控的IP是114.215.65.250,客戶端的端口號有兩個,為4508和4509。

在調(diào)試助手中輸入IP和端口號

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

?????????然后在對話框中輸入你剛剛綁定的賬號,格式為:KEY:賬號+密碼,點擊發(fā)送即可。當然了,你要先點擊上面的連接哈。

登錄成功顯示

????????4508顯示???????

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件?

??????? 4509顯示

基于STM32F103RCT6之手把手教你寫智能家居項目(2),STM32智能家居項目,stm32,智能家居,嵌入式硬件

發(fā)送測試命令

??????? 在4508端口:發(fā)送格式為:DATA:xxxx+xxxxx\r\n。

????????在4509端口:發(fā)送格式為:ORDER:xxxx+xxxxx\r\n。

??????? 觀察兩邊是否能夠接收到數(shù)據(jù)。如果能夠接收到數(shù)據(jù),那么你的WIFI模塊基本上成功一般了。

三:WIFI模塊基礎(chǔ)知識

????????到了這里,我們在了解一些WIFI模塊的基礎(chǔ)知識就應(yīng)該開始著手書寫代碼了,首先我們先來了解一些基礎(chǔ)知識。

WIFI模塊的三種工作模式

?? ???? 1,STA 站點,在此模式下,可以去連接路由器,連接互聯(lián)網(wǎng)
?? ??? ?2,AP? 路由,在此模式下,可以產(chǎn)生熱點,讓其他設(shè)備連接
?? ??? ?3,STA + AP 既可以去連接路由器,也可以產(chǎn)生熱點

??????? 我們這里沒有別的設(shè)備連接就設(shè)置為STA模式。

WIFI模塊登陸服務(wù)器步驟

    //測試指令
    AT
    //恢復(fù)出廠設(shè)置
    AT+RESTORE   
    // 設(shè)置成STA模式
	AT+CWMODE_CUR=1
    //連接路由器  
	AT+CWJAP="sss","123456" 
    //建立TCP連接
	AT+CIPSTART="TCP","114.215.65.250",4508 
    //發(fā)送前需要說明發(fā)送的長度,冒號和加號也算在內(nèi)哦
	AT+CIPSEND=21
    //賬號和密碼
	KEY:YIGEJIE+123456789
	

延時函數(shù)

delay.c
#include "delay.h"


void Delay_us(uint32_t xus)
{
	SysTick->LOAD = 72 * xus;				//設(shè)置定時器重裝值
	SysTick->VAL = 0x00;					//清空當前計數(shù)值
	SysTick->CTRL = 0x00000005;				//設(shè)置時鐘源為HCLK,啟動定時器
	while(!(SysTick->CTRL & 0x00010000));	//等待計數(shù)到0
	SysTick->CTRL = 0x00000004;				//關(guān)閉定時器
}


void Delay_ms(uint32_t xms)
{
	while(xms--)
	{
		Delay_us(1000);
	}
}
 

void Delay_s(uint32_t xs)
{
	while(xs--)
	{
		Delay_ms(1000);
	}
} 
delay.h
#ifndef __DELAY_H
#define __DELAY_H

include "stm32f10x.h"

void Delay_us(uint32_t us);
void Delay_ms(uint32_t ms);
void Delay_s(uint32_t s);

#endif

??????? 延時函數(shù)呢,我在這里就不過多講解了,因為我們的重點并不在這個上面,想要完全了解延時函數(shù)是怎么寫的話,推薦你去B站看江協(xié)科技哈,說得很好。在下面我會說明為什么要用到延時函數(shù)。

四:WIFI模塊代碼編寫

??????? 如果說想要實現(xiàn)在手機上發(fā)送命令控制開發(fā)板上的設(shè)備的開啟和關(guān)閉的話,還需要配置串口和寫中斷服務(wù)函數(shù)才行,代碼量較大,我會在下一節(jié)來書寫串口,并詳細解釋為什么這樣寫。

WIFI模塊代碼

wifi.c
#include "wifi.h"

//數(shù)據(jù)發(fā)送函數(shù)
void SendData_String(USART_TypeDef* USARTx, char *data, int len)
{
	int i;
	for(i=0; i < len; i++){	
		//等待發(fā)送數(shù)據(jù)寄存器空標準位失效
		while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE)==RESET);
		USART_SendData(USARTx, *data);
		data++;
	}
}

//WIFI初始化函數(shù)
void Wifi_Config(void)
{
    //測試指令
	SendData_String(USART2,"AT\r\n",strlen("AT\r\n"));
	Delay_ms(200);

	//恢復(fù)出廠設(shè)置
	SendData_String(USART2,"AT+RESTORE\r\n",strlen("AT+RESTORE\r\n"));
	Delay_ms(400);

	//設(shè)置成STA模式
	SendData_String(USART2,"AT+CWMODE_CUR=1\r\n",strlen("AT+CWMODE_CUR=1\r\n"));
	Delay_ms(400);

    //連接路由器
	SendData_String(USART2,"AT+CWJAP_CUR=\"sss\"\"123456789\"\r\n",strlen("AT+CWJAP=\"WJJGAME\",\"66666666\"\r\n"));
	Delay_ms(8000);
	
    //建立TCP連接
    SendData_String(USART2,"AT+CIPSTART=\"TCP\",\"114.215.65.250\"4508\r\n",strlen("AT+CIPSTART=\"TCP\",\"114.215.65.250\",4508\r\n"));
    Delay_ms(7000);

    //發(fā)送前先告知字節(jié)數(shù)
    SendData_String(USART2,"AT+CIPSEND=21\r\n",strlen("AT+CIPSEND=21\r\n"));
	Delay_ms(300);

    //發(fā)送賬號和密碼
	SendData_String(USART2,"KEY:YIGEJIE+123456789\r\n",strlen("KEY:YIGEJIE+123456789\r\n"));
	Delay_ms(900);
wifi.h
#ifndef  __WIFI_H_
#define  __WIFI_H_

#include "stm32f10x.h"

void SendData_String(USART_TypeDef* USARTx, char *data, int len);

void Wifi_Config(void);

#endif

代碼解析

??????? 我們可以看到,wifi.c中的第一個函數(shù)是串口發(fā)送數(shù)據(jù)函數(shù),可以將data里面的數(shù)據(jù)全部發(fā)送出去,而不是一位一位的發(fā)送。wifi.c中的第二個函數(shù)是WIFI初始化函數(shù),根據(jù)我們上面的指令來進行設(shè)置,根據(jù)我的實測,有沒有_CUR的影響其實不大,所以可加可不加。

????????至于為什么要用延時函數(shù)來初始化WIFI而不用strcmp函數(shù)去比對AT指令響應(yīng)的值,這是因為用strcmp函數(shù)去比對AT指令響應(yīng)的值是可以加快WIFI初始化的速度,但是你要在函數(shù)中寫很多以下代碼:

while((strcmp(us2_buf,"OK")) != 0);//buf為接收的值

若是你的程序一直卡在某個while循環(huán)中的時候,你要不斷的用USB轉(zhuǎn)TTL設(shè)備去查看串口發(fā)送指令情況,所以為了省事,這樣是一個不錯的方法。

五:總結(jié)

??????? 本篇描述了云平臺的使用方法,簡述了WIFI模塊的基礎(chǔ)知識,還有延時函數(shù),WIFI模塊代碼的編寫。

??????? 下節(jié)更精彩......文章來源地址http://www.zghlxwxcb.cn/news/detail-830240.html

到了這里,關(guān)于基于STM32F103RCT6之手把手教你寫智能家居項目(2)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • RFID課程設(shè)計--基于STM32F103RCT6的智能門禁系統(tǒng),STM32RCT6+RC522+OLED+DHT11+4*4矩陣鍵盤

    RFID課程設(shè)計--基于STM32F103RCT6的智能門禁系統(tǒng),STM32RCT6+RC522+OLED+DHT11+4*4矩陣鍵盤

    ??本次課程設(shè)計要求如下,我們團隊兩人完成了90%的功能。 ??其中我們設(shè)置的是刷卡錯誤3次不報警,密碼輸入錯3次報警(原理相同,大家根據(jù)需要自行修改) ??然后暫時只能顯示卡號和卡是第幾個錄入到系統(tǒng)中的,想到身份證號和電話(身份信息)輸進去有點長就沒

    2024年01月16日
    瀏覽(114)
  • stm32f103rct6引腳功能表格

    腳號 引腳名稱 主功能 默認復(fù)用 重定義 備注 1?????????? ? VBAT VBAT -- -- 說明1 2?????????? ? PC13-TAMPER-RTC PC13 TAMPER-RTC -- 說明3 3?????????? ? PC14-OSC32_IN PC14 OSC32_IN -- 說明3 4?????????? ? PC15-OSC32_OUT PC15 OSC32_OUT -- 說明3 5?????????? ? OSC_IN OSC_IN -- CAN_RX 晶振

    2024年02月06日
    瀏覽(34)
  • 手把手教你寫stm32f103智能風(fēng)扇

    手把手教你寫stm32f103智能風(fēng)扇

    本系統(tǒng)可以分為兩個模式來進行運行,分別為手動模式和自動模式,同時,在上電進入系統(tǒng)后,還會有一個模式選擇的界面產(chǎn)生。 模式選擇:在此界面中,可以通過按鍵K1來控制模式選擇,兩個模式分別為手動模式和自動模式;通過按鍵K2可以進入模式。 手動模式:在手動模

    2023年04月17日
    瀏覽(93)
  • STM32F103RCT6——定時器簡單用法

    STM32F103RCT6——定時器簡單用法

    STM32F10xx參考手冊英文和中文版 百度網(wǎng)盤:https://pan.baidu.com/s/1Z2nB0WVJIxvm3VOI9MQiiw 提取碼:lxlx STM32F103RCT6數(shù)據(jù)手冊 鏈接:https://pan.baidu.com/s/1tRchgf-5C1MN4W58vQ9zPg 提取碼:lxlx STM32F103RCT6包括,高級控制定時器TIM1和TIM8,通用定時器TIM2-5,基本定時器TIM6和TIM7. 高級控制定時器TIM1,TI

    2024年02月08日
    瀏覽(98)
  • 從零開始制作STM32F103RCT6小車(一)

    從零開始制作STM32F103RCT6小車(一)

    ? ? ? ? 僅以此系列給實驗室的學(xué)弟學(xué)妹作為小車制作教程來使用,后續(xù)的內(nèi)容我會在這個暑假陸續(xù)更新出來,本篇的內(nèi)容是新建一個適用于STM32F103RCT6的工程 ? ? ? ? 接下來的操作幾乎是基于STM32F1xx系列的固件庫,這里我給大家列出鏈接 STM32F1xx系列固件庫? ? ? ? ? ? ? ?

    2023年04月08日
    瀏覽(107)
  • stm32f103rct6使用內(nèi)部晶振作為時鐘源

    stm32f103rct6使用內(nèi)部晶振作為時鐘源

    stm32f103rct6(庫函數(shù)版例程)使用內(nèi)部晶振8M,倍頻64M 參考 https://blog.csdn.net/oHuanCheng/article/details/105112884 http://www.openedv.com/forum.php?mod=viewthreadtid=286233 https://blog.csdn.net/ll148305879/article/details/106138302 修改system_stm32f10x.c文件中的void SystemInit(void)函數(shù) 內(nèi)部時鐘用到了FLASH,需要添加s

    2024年02月07日
    瀏覽(1209)
  • stm32F103RCT6使用FFT運算分析波形詳解(細致教學(xué))

    stm32F103RCT6使用FFT運算分析波形詳解(細致教學(xué))

    最近學(xué)校電賽隊伍招新,出的招新題就是低頻示波器的。之前一直沒有弄懂FFT,借著這次機會實現(xiàn)了一下,做了一個小示波器 FFT原理簡述 FFT,就是快速傅里葉變換,這個操作能夠?qū)r域信號轉(zhuǎn)化成頻域信號,然后對信號進行分析 這樣說可能有點抽象。講細點就是指能夠直觀

    2024年02月14日
    瀏覽(95)
  • STM32F103RCT6電路設(shè)計及繪制方法和學(xué)習(xí)體會

    STM32F103RCT6電路設(shè)計及繪制方法和學(xué)習(xí)體會

    目錄 1電路圖各部分原理分析 1.1通信-下載板塊接口電路 1.1.1 通信模塊 1.1.2 顯示燈 1.2電源轉(zhuǎn)化電路 1.2.1 電源轉(zhuǎn)化 1.3晶振電路 1.4 OLED顯示屏接口電路 1.5 獨立按鍵電路 1.6 JTAG/SWD調(diào)試接口電路 1.7 STM32微控制器電路 1.7.1 副芯片原理 1.7.2 主芯片原理 1.8 外擴引腳 1.9 顯示燈 2圖紙的

    2024年02月14日
    瀏覽(84)
  • STM32F103RCT6驅(qū)動SG90舵機-完成正反轉(zhuǎn)角度控制

    STM32F103RCT6驅(qū)動SG90舵機-完成正反轉(zhuǎn)角度控制

    SG90是一種微型舵機,也被稱為伺服電機。它是一種小型、低成本的直流電機,通常用于模型和機器人控制等應(yīng)用中。SG90舵機可以通過電子信號來控制其精確的位置和速度。它具有體積小、重量輕、響應(yīng)快等特點,因此在各種小型機械設(shè)備上得到了廣泛應(yīng)用。 SG90舵機通常用于

    2024年02月03日
    瀏覽(106)
  • 設(shè)計分享 | STM32F103RCT6利用ULN2003驅(qū)動步進電機正反轉(zhuǎn)

    設(shè)計分享 | STM32F103RCT6利用ULN2003驅(qū)動步進電機正反轉(zhuǎn)

    https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==mid=2247484170idx=1sn=3fa68d0fbf30cf614e8779abf38c3e2bchksm=cf430652f8348f44e4b95bb7b22ce7f9f5a86e13f421741aefd08cedb169708309c79566ab1ftoken=1923877603lang=zh_CN#rd https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==mid=2247484170idx=1sn=3fa68d0fbf30cf614e8779abf38c3e2bchksm=cf430652f8348f44e4b95bb7b22ce7f9f5a8

    2023年04月17日
    瀏覽(88)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包