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

聚豐項(xiàng)目 > 基于AB32VG1的電子信息板

基于AB32VG1的電子信息板

該項(xiàng)目實(shí)現(xiàn)了一個(gè)電子信息板功能。具體功能能夠?qū)崿F(xiàn)對服務(wù)器發(fā)送的文字或者圖片進(jìn)行顯示,兼顧時(shí)間顯示功能,通過按鈕可以切換顯示界面,設(shè)置時(shí)間以及查看接收到的數(shù)據(jù),還可以通過網(wǎng)絡(luò)進(jìn)行時(shí)間信息的更新。應(yīng)用前景:可以作為工作牌,可以作為電子便簽,提示一些需要完成的事情等。

hehung hehung

分享
2 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

hehung hehung

團(tuán)隊(duì)成員

hehung 嵌入式軟件工程師

分享
項(xiàng)目簡介
該項(xiàng)目實(shí)現(xiàn)了一個(gè)電子信息板功能。具體功能能夠?qū)崿F(xiàn)對服務(wù)器發(fā)送的文字或者圖片進(jìn)行顯示,兼顧時(shí)間顯示功能,通過按鈕可以切換顯示界面,設(shè)置時(shí)間以及查看接收到的數(shù)據(jù),還可以通過網(wǎng)絡(luò)進(jìn)行時(shí)間信息的更新。應(yīng)用前景:可以作為工作牌,可以作為電子便簽,提示一些需要完成的事情等。
硬件說明

一、硬件簡介

使用到的硬件器件有無源蜂鳴器,OLED顯示屏,按鍵(三個(gè))ESP8266-01WiFi模塊,PWMRTC,串口等。

各個(gè)硬件的工作方式如下:

1. 無源蜂鳴器通過PWM驅(qū)動(dòng),驅(qū)動(dòng)頻率1KHz

2. OLED顯示屏通過IIC驅(qū)動(dòng);

3.按鍵使用三個(gè)板載按鍵作為普通IO口;

4. ESP8266-01使用串口與通信,通信波特率115200

 

二、硬件接線

1.png


三、外設(shè)功能

1. 無源蜂鳴器功能

當(dāng)電子信息板成功收到了服務(wù)器發(fā)送的圖片或者文字之后會(huì)響一秒鐘用于提醒用戶下載成功了。

992.png

2. OLED功能

OLED作為顯示功能,是該項(xiàng)目的主要外設(shè),用于顯示從服務(wù)器接收到的圖片或者文字信息,還用于時(shí)間的顯示,以及設(shè)置等。

3. 按鍵

該項(xiàng)目使用的板載的三個(gè)按鍵,S4是一個(gè)【多功能按鍵】,分為長按和短按,短按主要是用作返回使用;長按用于對選擇的項(xiàng)目的確認(rèn)。

S3是【左按鍵】,用于設(shè)置界面切換的時(shí)候向左邊切換,也用于時(shí)間設(shè)置時(shí)對設(shè)置的時(shí)間向下減的操作。

S2是【右按鍵】,用于設(shè)置界面切換的時(shí)候向右邊切換,也用于時(shí)間設(shè)置時(shí)對設(shè)置的時(shí)間向上加的操作。

4. ESP8266-01

WiFi模塊用于與服務(wù)器進(jìn)行通信。

993.png

 

四、硬件架構(gòu)圖

11_硬件原理圖.png


五、實(shí)物連接圖

96.png

軟件說明

一、軟件實(shí)現(xiàn)功能

1時(shí)間顯示;

2ESP8266-01 上電自連接;

3、手動(dòng)設(shè)置時(shí)間;

4自動(dòng)獲取網(wǎng)絡(luò)時(shí)間并更新;

5、重新連接WiFi

6獲取服務(wù)器發(fā)送的圖片數(shù)據(jù);

7、按鍵信號(hào)采集以及濾波;

8PWM驅(qū)動(dòng)蜂鳴器;

9OLED顯示;

10RTC時(shí)間自動(dòng)累積。

 

二、軟件流程圖

 11_軟件流程.png

 

三、軟件流程圖說明

1、軟件使用RT-Thread OS,多個(gè)線程協(xié)同工作;

2、初始化過程中會(huì)初始化串口,RTC,按鍵,PWM以及OLED

3、硬件初始化完成之后會(huì)進(jìn)入到ESP8266驅(qū)動(dòng)線程,在該線程中通過串口發(fā)送數(shù)據(jù)配置ESP8266-01,然后與服務(wù)器建立連接,如果連接成功會(huì)發(fā)送“GetTime”從服務(wù)器讀取最新事件信息并更新到RTC模塊;

4、按鍵線程工作周期是10ms,采集按鍵IO狀態(tài)進(jìn)行40ms的濾波功能,判斷按鍵按下狀態(tài),釋放狀態(tài)以及長按狀態(tài)與短按狀態(tài);

5、顯示線程主要用于顯示當(dāng)前的界面以及針對當(dāng)前界面的功能進(jìn)行選擇與設(shè)置,配合按鍵線程完成功能。

 

四、軟件功能介紹

1. 啟動(dòng)

  1)上電或者復(fù)位之后自動(dòng)配置ESP8266-01并連接服務(wù)器,設(shè)置進(jìn)入透傳模式,如果成功連接服務(wù)器。進(jìn)入時(shí)間界面之后會(huì)左上角會(huì)顯示一個(gè)wifi圖標(biāo),如果連接服務(wù)器失敗不會(huì)顯示wifi圖標(biāo);

2)連接服務(wù)器成功之后會(huì)自動(dòng)獲取服務(wù)器提供的網(wǎng)絡(luò)時(shí)間并更新,如果線接服務(wù)器失敗了則會(huì)讀取本地設(shè)置的時(shí)間并顯示出來。

3)啟動(dòng)時(shí),OLED會(huì)顯示wifi初始化,如下圖:

97.png


2. 時(shí)間顯示

1)服務(wù)器連接成功或者失敗之后都會(huì)進(jìn)入到時(shí)間顯示界面。會(huì)顯示“當(dāng)前時(shí)間”,“wifi連接狀態(tài)”,“日期”,“星期”,“是否接受到數(shù)據(jù)”;

2)如果收到了服務(wù)器的圖片或者文字之后右上角會(huì)出現(xiàn)一個(gè)信件圖標(biāo),提示有可讀信息

3)按下【多功能按鍵】(長按或者短按均可)會(huì)進(jìn)入到信息界面,方便查看服務(wù)器收到的信息;

4)按下【左按鍵】會(huì)跳轉(zhuǎn)到信息界面;

5)按下【右按鍵】會(huì)跳轉(zhuǎn)到設(shè)置界面

 

3. 設(shè)置界面

 94.png

  1)短按【多功能按鍵】返回到時(shí)間顯示界面;

2)按下【右按鍵】切換到WiFi設(shè)置界面;

3)長按【多功能按鍵】進(jìn)入到時(shí)間設(shè)置界面。

 

4、時(shí)間設(shè)置界面

  1)長按【多功能按鍵】會(huì)進(jìn)入到時(shí)間設(shè)置界面;

2)在時(shí)間設(shè)置界面下,進(jìn)入會(huì)自動(dòng)獲取當(dāng)前的時(shí)間;

3)初次進(jìn)入時(shí),小時(shí)會(huì)變?yōu)楹诘祝崾拘r(shí)可以被設(shè)置;

4)非初次進(jìn)入時(shí),會(huì)將上次被設(shè)置的選項(xiàng)設(shè)置為黑底,表示可以設(shè)置;

5)長按【多功能按鍵】會(huì)切換被設(shè)置的選項(xiàng),沒按下一次切換一次,切換順序?yàn)椤靶r(shí)”,“分鐘”,“秒”,“年”,“月”,“日”;

6)按下【左按鍵】,選中的待設(shè)置選項(xiàng)向下減1

7)按下【右按鍵】,選中的待設(shè)置選項(xiàng)向上加1

8)短按【多功能按鍵】,返回到設(shè)置界面。

 

5、WiFi界面

 93.png

1)按下【左按鍵】切換到設(shè)置界面;

2)按下【右按鍵】切換到時(shí)鐘界面;

3)短按【多功能按鍵】返回到時(shí)間顯示界面;

4)長按【多功能按鍵】進(jìn)入到WIfi重新連接界面;

 

6、WiFi重新連接界面

1)長按【多功能按鍵】進(jìn)行服務(wù)器重新連接;

2)在鏈接過程中會(huì)顯示“網(wǎng)絡(luò)連接中”字樣用于提示用戶在重新連接服務(wù)器;

3)服務(wù)器連接成功之后會(huì)不會(huì)再顯示“網(wǎng)絡(luò)連接”字樣;

4)短按【多功能按鍵】返回到WIFi界面

7、時(shí)鐘界面

92.png

1)長按【多功能按鍵】會(huì)進(jìn)入到時(shí)間獲取界面;

2)按下【左按鍵】切換到WIFi界面;

3)按下【右按鍵】切換到信息界面;

4)短按【多功能按鍵】返回到時(shí)間顯示界面。

 

8、獲取網(wǎng)絡(luò)時(shí)間界面

1)長按【多功能按鍵】會(huì)開始嘗試獲取服務(wù)器的時(shí)間;

2)獲取時(shí)間過程中會(huì)顯示“時(shí)間獲取中”字樣;

3)獲取成功時(shí)候會(huì)不會(huì)再顯示“時(shí)間獲取中”字樣;

4)短按【多功能按鍵】會(huì)返回到時(shí)鐘界面。

 

9、信息界面

 91.png

1)長按【多功能按鍵】會(huì)進(jìn)入到信息查看界面;

2)按下【左按鍵】會(huì)切換到時(shí)鐘界面;

3)短按【多功能按鍵】會(huì)返回到時(shí)間顯示界面。

 

10、信息查看界面

3.png

1)用于查看接收到服務(wù)器發(fā)送過來的圖片或者文字信息,如果沒有任何信息還顯示空白;

2)短按【多功能按鍵】返回到信息界面;


11、ESP8266數(shù)據(jù)傳輸介紹

圖片數(shù)據(jù)傳輸

1)服務(wù)器需要發(fā)送數(shù)據(jù)的時(shí)候首先會(huì)發(fā)送數(shù)據(jù)“ST”通知客戶端要開始發(fā)送數(shù)據(jù)了,客戶端收到了“ST”之后會(huì)切換到 數(shù)據(jù)接收界面 準(zhǔn)備接收數(shù)據(jù),同時(shí)會(huì)返回“OK”通知到服務(wù)器已經(jīng)準(zhǔn)備好了;

997.png

2)服務(wù)器接受到了客戶端返回的“OK”之后就可以發(fā)送圖片數(shù)據(jù)了,數(shù)據(jù)發(fā)送格式如下:

①圖片數(shù)據(jù)分為了64幀進(jìn)行傳輸,沒幀報(bào)文包含38個(gè)數(shù)據(jù),用16進(jìn)制數(shù)據(jù)表示;

②報(bào)文格式為:BMP-+傳輸序列+32個(gè)半字節(jié)數(shù)據(jù)+"S"

③傳輸序列從1開始,范圍為:01-64。

3)如果客戶端成功接收到序列,會(huì)返回“OK”,服務(wù)器收到“OK”會(huì)開始發(fā)送下一個(gè)幀;

5)如果客戶端收到的數(shù)據(jù)序列不對,會(huì)返回“FAIL”,服務(wù)器收到“FAIL”會(huì)重新發(fā)送接收失敗的幀;

6)傳輸失敗處理邏輯

如果服務(wù)器超過30ms沒有收到客戶端返回的確認(rèn)數(shù)據(jù)“OK”,服務(wù)器會(huì)重新發(fā)送當(dāng)前幀;

如果服務(wù)器連續(xù)發(fā)送了30次相同幀還是沒有收到客戶端的返回?cái)?shù)據(jù),服務(wù)器會(huì)終止發(fā)送;

如果客戶端50s沒有收到服務(wù)器發(fā)送的數(shù)據(jù),客戶端會(huì)退出數(shù)據(jù)接收模式界面返回到時(shí)間顯示界面;

時(shí)間數(shù)據(jù)傳輸

1)客戶端如果要獲取服務(wù)器端的時(shí)間,會(huì)主動(dòng)發(fā)送“GetTime”,服務(wù)器收到“GetTime”之后會(huì)將最新的時(shí)間信息發(fā)送給客戶端;

2)時(shí)間數(shù)據(jù)傳輸格式:Date:+(4Bytes)+(2Bytes)+(2Bytes)+時(shí)(2Bytes)+(2Bytes)+(2Bytes)+END”;

    3)客戶端收到了時(shí)候數(shù)據(jù)之后會(huì)將時(shí)間解析出來并更新到RTC;


12RTC工作

1)上電初始化的時(shí)候會(huì)對RTC進(jìn)行設(shè)置,設(shè)置年月日時(shí)分秒;

2)如果從服務(wù)器獲取到了時(shí)間,會(huì)更新RTC的初始時(shí)間為服務(wù)器獲取的時(shí)間;

3)如果從服務(wù)器獲取時(shí)間失敗,RTC初始時(shí)間為軟件設(shè)置的默認(rèn)值。

 

13、蜂鳴器

1)本項(xiàng)目使用的是無緣蜂鳴器,通過PWM驅(qū)動(dòng),驅(qū)動(dòng)頻率1KHz;

2)當(dāng)客戶端成功收到了服務(wù)器發(fā)送過來的圖片數(shù)據(jù)之后會(huì)響一秒鐘用于提醒數(shù)據(jù)接收成功了。


14、ESP8266服務(wù)器連接過程

1)ESP8266使用串口與AB32VG1進(jìn)行通信,通信方式為AT指令;

2)ESP8266上電時(shí)會(huì)進(jìn)行設(shè)置,設(shè)置過程:

①發(fā)送“ATE”取消echo模式;

②發(fā)送“AT”測試通信是否成功;

③發(fā)送“AT+CWMODE=1”設(shè)置ESP8266的工作模式為Station模式;

④發(fā)送“AT+CIPMODE=1”進(jìn)入透傳模式;

⑤發(fā)送“AT+CIPMUX=0”設(shè)置單路連接;

⑥發(fā)送“AT+CWJAP=WIFI name,WIFI password”連接路由器;

⑦發(fā)送“AT+CIPSTART=TCP,服務(wù)器IP,服務(wù)器端口號(hào)”連接服務(wù)器;

⑧發(fā)送“AT+CIPSEND”進(jìn)入透傳模式;


15、設(shè)置需要連接的WIFI名稱與密碼

1)設(shè)置需要連接的wifi的名稱和密碼可以通過MSH命令行的方式進(jìn)行;

2)使用串口傳輸上位機(jī)與AB32VG1建立連接,發(fā)送"ESP_WifiSetting WIFI名 WIFI密碼"可以更新需要連接的wifi名以及密碼; 

3)Wifi更新成功之后再wifi界面下可以重新建立連接;

4)在MSH命令行模式下更新WIFI舉例:

  【ESP_WifiSetting hehung 1234543210

static int ESP_WifiSetting(int argc, char *argv[])
{
    if(argc == 3)
    {
        rt_sprintf(ESP8266_current_wifi_ip.m_wifi_name, "%s", argv[1]);        /*Wifi name*/
        rt_sprintf(ESP8266_current_wifi_ip.m_wifi_password, "%s", argv[2]);    /*Wifi password*/
        rt_kprintf("Wifi名稱與密碼設(shè)置成功\n");
        return RT_EOK;
    }
    else
    {
        rt_kprintf("輸入不合法,請重新輸入,輸入格式:【ESP_WifiSetting Wifi名稱 Wifi密碼】\n");
        return RT_ERROR;
    }
}
#ifdef FINSH_USING_MSH
MSH_CMD_EXPORT(ESP_WifiSetting, Set wifi name and password);
#endif



16、設(shè)置服務(wù)器IP與端口號(hào)

1)設(shè)置服務(wù)器IP與端口號(hào)可以通過MSH命令行的方式進(jìn)行;

2)使用串口傳輸上位機(jī)與AB32VG1建立連接,發(fā)送"ESP_IpSetting 服務(wù)器IP 服務(wù)器端口號(hào)"可以更新需要連接的服務(wù)器的IP與密碼; 

3)服務(wù)器IP與端口號(hào)更新成功之后再wifi界面下可以重新建立連接;

4) 在MSH命令行模式下更新服務(wù)器IP與端口號(hào)舉例:

  【ESP_IpSetting 192.168.101.8 8080

static int ESP_IpSetting(int argc, char *argv[])
{
    if(argc == 3)
    {
        rt_sprintf(ESP8266_current_wifi_ip.m_ip_addr, "%s", argv[1]);       /*server ip address*/
        rt_sprintf(ESP8266_current_wifi_ip.m_ip_port, "%s", argv[2]);                /*server port*/
        rt_kprintf("IP地址與端口號(hào)設(shè)置成功\n");
        return RT_EOK;
    }
    else
    {
        rt_kprintf("輸入不合法,請重新輸入,輸入格式:【ESP_IpSetting IP地址 端口號(hào)】\n");
        return RT_ERROR;
    }
}
#ifdef FINSH_USING_MSH
MSH_CMD_EXPORT(ESP_IpSetting, Set Server IP and PORT);
#endif


五、服務(wù)器介紹



1. 啟動(dòng)服務(wù)器按鈕,選擇ip地址,設(shè)置端口號(hào),然后點(diǎn)擊“啟動(dòng)服務(wù)器”按鈕開啟服務(wù)器;

2. 顯示方式下拉框可以選擇圖片的顯示方式;

3. OLED顯示預(yù)覽用于預(yù)覽下位機(jī)OLED將要顯示的內(nèi)容;

4. 選擇圖片按鈕用于選擇需要發(fā)送的圖片;

5. 字體選擇按鈕用于選擇字體;

6. 最下邊的編輯框用于輸入需要發(fā)送的文字信息;

7. 發(fā)送到客戶端按鈕用于發(fā)送OLED顯示預(yù)覽的內(nèi)容到下位機(jī);

8. 中斷發(fā)送按鈕用于終止正在發(fā)送的過程;

994.png


六、開發(fā)平臺(tái)

1、客戶端使用AB32VG1作為主控,RT-Thread OS作為嵌入式系統(tǒng);

2、AB32VG1工作頻率為120MHz;

3、開發(fā)軟件:RT-Thread Studio;

4、服務(wù)器使用易語言開發(fā);


七、運(yùn)行代碼

點(diǎn)擊跳轉(zhuǎn)到gitee查看代碼https://gitee.com/hehung/electronic-information-board


附件

(12.32 MB)下載

評(píng)論區(qū)(0 )
主站蜘蛛池模板: 色中色资源| 综合久久99| 粉嫩尤物在线456| 国产午夜在线视频| 福利视频自拍| 日本69xxⅹxxxxxx19| 4438全国最大成人免费高清| h视频在线观看网站| 男男扒开后菊惩罚| 伊人久久大香线蕉影院95| 天天综合射| 欧美午夜视频在线观看| 精品视频日本| avtt加勒比手机版天堂网| 午夜国产精品福利在线观看| 日本三级456| 中国人黑人xxⅹ性猛| 亚洲4区| 亚洲成人激情电影| 日日噜噜夜夜狠狠tv视频免费| 免费人成网址在线观看国内| 国产国产人免费人成成免视频| 亚洲第一香蕉视频| 久久精品国产精品亚洲红杏| 黄色大片在线免费观看| 国产三级久久久精品三级| 特黄一级黄色片| 看全色黄大色大片免费久久| 99国产国人青青视频在线观看| 男人资源在线| 91日本视频| 亚洲电影在线看| 男人的天堂视频网站清风阁| 99综合久久| 俄罗斯小屁孩cao大人免费| 日本a级精品一区二区三区| 特级全黄一级毛片视频| 国内一级毛片| 免费精品美女久久久久久久久| h在线国产| 四虎永久在线观看免费网站网址|