2021-08-23 23:03:57 索煒達電子 911
項目編號:E528
文件大小:809K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
1、前言
合泰半導(dǎo)體隸屬臺灣盛群半導(dǎo)體集團,合泰杯單片機應(yīng)用設(shè)計競賽的比賽形式為:作品自由發(fā)揮,要在幾個月之內(nèi)完成,且必須使用合泰單片機。比賽分為三個環(huán)節(jié):初賽、復(fù)賽、決賽,每一環(huán)節(jié)都會刷掉一部分隊伍。
2、作品分享
2.1 作品簡介
這是我們團隊2017年合泰杯省一等獎作品。本作品以合泰HT32F1656為終端主控,采集公寓當(dāng)前用電用水?dāng)?shù)據(jù),并將采集到的數(shù)據(jù)通過終端無線WIFI發(fā)送至云端服務(wù)器,通過電腦Web端或手機APP遠程查看數(shù)據(jù),并可通過電腦Web端或手機APP隨時隨地遠程控制公寓開關(guān)水電。通過測試結(jié)果證明本作品很好的解決了上述公寓用水用電的諸多詬病,實現(xiàn)了智能的公寓生活。并且,設(shè)備終端也配備有顯示屏,可實時顯示一些用水用電等數(shù)據(jù)。
2.2 作品模塊構(gòu)成圖及系統(tǒng)框圖
2.2.1 系統(tǒng)框圖
本系統(tǒng)主要由電源模塊、存儲模塊、繼電器控制模塊、無線WiFi模塊、顯示控制模塊、環(huán)境溫度采集模塊、電能信息采集模塊和用水采集模塊組成,系統(tǒng)控制芯片為HT32F1656。該系統(tǒng)方框圖如下圖所示:
2.2.2 模塊構(gòu)成圖
3、人機交互過程圖及云端監(jiān)測
3.1 人機交互過程圖
電腦Web端、手機APP端是基于中移動ONENET云平臺搭建的,基于ONENET提供的接入?yún)f(xié)議和平臺功能,用戶終端與電腦Web端、手機APP、云服務(wù)器共同構(gòu)建了一套完整的能源測控系統(tǒng)。用戶終端即時的將數(shù)據(jù)推送至云平臺,云平臺根據(jù)推送的數(shù)據(jù)進行云端和手機APP端同步更新。電腦Web端、手機APP端通過發(fā)送指令控制終端。如圖所示:
3.2 云端監(jiān)測過程圖
4、程序流程圖
4.1 主流程圖
4.2 與云端通信流程圖
5、作品圖片
5.1 設(shè)備終端實物圖
5.2 Onenet云端監(jiān)測圖
在WEB端顯示采集的用水用電情況,及斷水?dāng)嚯婇_關(guān)進行控制如下圖所示:
5.3 設(shè)備終端UI界面
我們的設(shè)備終端屏幕使用的是串口屏,
5.3.2 UI界面方案二:
目錄│文件列表:
└ EnergyMonitor
│ clean.bat
├ hardware
│ ├ ATT7022
│ │ │ ATT7022.c
│ │ └ att7022.h
│ ├ DS18B20
│ │ │ ds18b20.c
│ │ └ ds18B20.h
│ ├ esp8266
│ │ │ esp8266.c
│ │ └ esp8266.h
│ ├ HMI
│ │ │ HMI.c
│ │ └ HMI.h
│ ├ http
│ │ │ HTTP_Demo.c
│ │ └ HTTP_Demo.h
│ ├ I2C
│ │ │ 24cxx.c
│ │ │ 24cxx.h
│ │ │ myiic.c
│ │ └ myiic.h
│ ├ LED
│ │ │ led.c
│ │ └ led.h
│ ├ SPI
│ │ │ spi.c
│ │ └ spi.h
│ ├ Timer
│ │ │ BFTM.c
│ │ └ BFTM.h
│ ├ Usart
│ │ │ Usart.c
│ │ └ usart.h
│ ├ Water_485
│ │ │ Water_485.c
│ │ └ Water_485.h
│ └ wifi_handle
│ │ wifi_handle.c
│ └ wifi_handle.h
├ library
│ ├ CMSIS
│ │ │ CMSIS_END_USER_LICENCE_AGREEMENT.pdf
│ │ │ README.txt
│ │ └ Include
│ │ │ core_cm3.h
│ │ │ core_cmFunc.h
│ │ └ core_cmInstr.h
│ ├ Device
│ │ └ Holtek
│ │ └ HT32F1655_56
│ │ ├ Include
│ │ │ │ ht32f1655_56.h
│ │ │ └ system_ht32f1655_56.h
│ │ └ Source
│ │ │ system_ht32f1655_56.c
│ │ ├ ARM
│ │ │ └ startup_ht32f165x.s
│ │ ├ GCC
│ │ │ └ startup_ht32f165x.s
│ │ └ IAR
│ │ └ startup_ht32f165x.s
│ ├ HT32F1655_56_Driver
│ │ ├ inc
│ │ │ │ ht32.h
│ │ │ │ ht32f1655_56_adc.h
│ │ │ │ ht32f1655_56_bftm.h
│ │ │ │ ht32f1655_56_ckcu.h
│ │ │ │ ht32f1655_56_cmp_op.h
│ │ │ │ ht32f1655_56_crc.h
│ │ │ │ ht32f1655_56_ebi.h
│ │ │ │ ht32f1655_56_exti.h
│ │ │ │ ht32f1655_56_flash.h
│ │ │ │ ht32f1655_56_gpio.h
│ │ │ │ ht32f1655_56_gptm.h
│ │ │ │ ht32f1655_56_i2c.h
│ │ │ │ ht32f1655_56_i2s.h
│ │ │ │ ht32f1655_56_lib.h
│ │ │ │ ht32f1655_56_mctm.h
│ │ │ │ ht32f1655_56_pdma.h
│ │ │ │ ht32f1655_56_pwrcu.h
│ │ │ │ ht32f1655_56_rstcu.h
│ │ │ │ ht32f1655_56_rtc.h
│ │ │ │ ht32f1655_56_sci.h
│ │ │ │ ht32f1655_56_spi.h
│ │ │ │ ht32f1655_56_usart.h
│ │ │ │ ht32f1655_56_usbd.h
│ │ │ │ ht32f1655_56_usbdchk.h
│ │ │ │ ht32f1655_56_usbdinit.h
│ │ │ │ ht32f1655_56_wdt.h
│ │ │ │ ht32_cm3_misc.h
│ │ │ │ ht32_retarget_desc.h
│ │ │ │ ht32_retarget_usbdconf.h
│ │ │ └ ht32_serial.h
│ │ └ src
│ │ │ ht32f1655_56_adc.c
│ │ │ ht32f1655_56_bftm.c
│ │ │ ht32f1655_56_ckcu.c
│ │ │ ht32f1655_56_cmp_op.c
│ │ │ ht32f1655_56_crc.c
│ │ │ ht32f1655_56_ebi.c
│ │ │ ht32f1655_56_exti.c
│ │ │ ht32f1655_56_flash.c
│ │ │ ht32f1655_56_gpio.c
│ │ │ ht32f1655_56_gptm.c
│ │ │ ht32f1655_56_i2c.c
│ │ │ ht32f1655_56_i2s.c
│ │ │ ht32f1655_56_mctm.c
│ │ │ ht32f1655_56_pdma.c
│ │ │ ht32f1655_56_pwrcu.c
│ │ │ ht32f1655_56_rstcu.c
│ │ │ ht32f1655_56_rtc.c
│ │ │ ht32f1655_56_sci.c
│ │ │ ht32f1655_56_spi.c
│ │ │ ht32f1655_56_usart.c
│ │ │ ht32f1655_56_usbd.c
│ │ │ ht32f1655_56_wdt.c
│ │ │ ht32_cm3_misc.c
│ │ │ ht32_retarget.c
│ │ │ ht32_retarget_desc.c
│ │ │ ht32_serial.c
│ │ │ printf.c
│ │ └ syscalls.c
│ └ HT32_USBD_Library
│ ├ example
│ │ │ ht32fxxxxx_usbdconf.h
│ │ │ ht32_usbd_class.c
│ │ │ ht32_usbd_class.h
│ │ │ ht32_usbd_descriptor.c
│ │ └ ht32_usbd_descriptor.h
│ ├ inc
│ │ └ ht32_usbd_core.h
│ └ src
│ └ ht32_usbd_core.c
├ project
│ └ Holtek
│ └ HT32F1656
│ │ config.h
│ │ delay.c
│ │ delay.h
│ │ ht32f1655_56_conf.h
│ │ ht32f165x_it.c
│ │ ht32f165x_usbdconf.h
│ │ main.c
│ │ readme.txt
│ │ sys.c
│ │ sys.h
│ │ system_ht32f165x.c
│ └ MDK_ARM
│ │ fromelf.txt
│ │ HT32F165x_DebugSupport.ini
│ │ ht32_op.s
│ │ Project.uvgui.Jodam QD
│ │ Project.uvgui.LiZhengNian
│ │ Project.uvproj
│ │ startup_ht32f165x.s
│ └ HT32
│ └ Obj
│ └ HT32.hex
├ source_insight
│ │ holtek.bookmarks.xml
│ │ holtek.siproj
│ │ holtek.siproj_settings.xml
│ │ holtek.sip_sym
│ │ holtek.sip_xab
│ │ holtek.sip_xad
│ │ holtek.sip_xc
│ │ holtek.sip_xf
│ │ holtek.sip_xm
│ │ holtek.sip_xr
│ │ holtek.sip_xsb
│ │ holtek.sip_xsd
│ └ holtek.siwork
└ utilities
│ ht32_board.c
│ ht32_board.h
├ common
│ │ ebi_lcd.c
│ │ ebi_lcd.h
│ │ font.h
│ │ i2c_eeprom.c
│ │ i2c_eeprom.h
│ │ ring_buffer.c
│ │ ring_buffer.h
│ │ spi_flash.c
│ │ spi_flash.h
│ │ spi_flash_auto.c
│ │ spi_flash_auto.h
│ │ spi_flash_common.c
│ │ spi_flash_common.h
│ │ spi_flash_MX25L1606E.c
│ │ spi_flash_MX25L1606E.h
│ │ spi_flash_SST25VF016B.c
│ └ spi_flash_SST25VF016B.h
└ HT32_Board
│ ht32f1656_dvb.c
│ ht32f1656_dvb.h
│ ht32f1656_lcd.c
│ ht32f1656_lcd.h
│ ht32f1656_sk.c
└ ht32f1656_sk.h