傳感網(wǎng)應(yīng)用開(kāi)發(fā)(高級(jí))課件第7章_第1頁(yè)
傳感網(wǎng)應(yīng)用開(kāi)發(fā)(高級(jí))課件第7章_第2頁(yè)
傳感網(wǎng)應(yīng)用開(kāi)發(fā)(高級(jí))課件第7章_第3頁(yè)
傳感網(wǎng)應(yīng)用開(kāi)發(fā)(高級(jí))課件第7章_第4頁(yè)
傳感網(wǎng)應(yīng)用開(kāi)發(fā)(高級(jí))課件第7章_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、“1+X”傳感網(wǎng)應(yīng)用開(kāi)發(fā) NB-IoT通信應(yīng)用開(kāi)發(fā)7.1 NB-IoT技術(shù)簡(jiǎn)介主要內(nèi)容:1、LPWAN2、NB-IOT的應(yīng)用3、NB-IOT的網(wǎng)絡(luò)結(jié)構(gòu)圖7-1 LPWAN和傳統(tǒng)無(wú)線傳輸技術(shù)的比較1、LPWAN基于NB-IOT的智能遠(yuǎn)傳水表采用電池供電壽命可達(dá)達(dá)6年以上應(yīng)用:給排水、支管流量監(jiān)測(cè)、供水漏洞損治理基于NB-IOT的智能遠(yuǎn)傳水表2、NB-IOT的應(yīng)用NB-IoT物聯(lián)網(wǎng)燃?xì)獗?、NB-IOT的應(yīng)用智能井蓋3、NB-IOT的網(wǎng)絡(luò)結(jié)構(gòu)圖7-3 NB-IOT網(wǎng)絡(luò)結(jié)構(gòu)圖“1+X”傳感網(wǎng)應(yīng)用開(kāi)發(fā) NB-IoT關(guān)鍵技術(shù)NB-IoT關(guān)鍵技術(shù)NB-IoT關(guān)鍵技術(shù)與特點(diǎn)NB IOT技術(shù)特點(diǎn)海量連接NB-

2、IoT一個(gè)小區(qū)能夠支持5萬(wàn)個(gè)連接,支持低延時(shí)敏感度、超低的設(shè)備成本、低設(shè)備功耗和優(yōu)化的網(wǎng)絡(luò)架構(gòu);深度覆蓋NB-IoT比LTE提升20dB增益,相當(dāng)于發(fā)射功率提升了100倍,即覆蓋能力提升了100倍,就算在地下車(chē)庫(kù)、地下室、地下管道等信號(hào)難以到達(dá)的地方也能覆蓋到;超低功耗NB-IoT聚焦小數(shù)據(jù)量、小速率應(yīng)用,因此NB-IoT設(shè)備功耗可以做到非常小,NB-IoT終端模塊的待機(jī)時(shí)間可長(zhǎng)達(dá)10年;低成本低速率低功耗低帶寬帶來(lái)的是低成本優(yōu)勢(shì),模塊成本有望降至5美元之內(nèi)。NB-IoT關(guān)鍵技術(shù)與特點(diǎn)擁塞和過(guò)載控制 在Rel11采用ACB(Access Class Barring,接入等級(jí)限制)與EAB(Ex

3、tended Access Barring,擴(kuò)展型接入限制)相結(jié)合的雙層控制機(jī)制來(lái)應(yīng)對(duì)突發(fā)海量接入擁塞問(wèn)題,終端從系統(tǒng)廣播信息之中獲取接入等級(jí)限制信息,并結(jié)合自身的接入等級(jí)來(lái)決定是否發(fā)起隨機(jī)接入,同時(shí)網(wǎng)絡(luò)可以根據(jù)當(dāng)前的擁塞狀況拒絕或允許終端接入。NB-IoT關(guān)鍵技術(shù)與特點(diǎn)終端簡(jiǎn)化方案 為了降低設(shè)備復(fù)雜性和減小設(shè)備成本,NB-IoT定義了一系列的簡(jiǎn)化方案,主要包括:簡(jiǎn)化協(xié)議棧、簡(jiǎn)化RF;簡(jiǎn)化基帶處理復(fù)雜度,相對(duì)于普通LTE,基帶復(fù)雜度降低10%,射頻降低約65%。Release 8Release 8Release 12Release 13Release 13CategoryCategory 4C

4、ategory 1Category 0Cat-M1 (eMTC)Cat-M2 (NB-IoT)Downlink peak rate 150Mbps 10 Mbps 1 Mbps 1 Mbps 200 kbpsUplink peak rate 50 Mbps 5 Mbps 1 Mbps 1 Mbps 200 kbpsNumber of antennas22111Duplex Full duplexFull duplexHalf duplex Half duplex Half duplex UE receive bandwidth20 MHz20 MHz20 MHz1.4 MHz200 kHzUE

5、 transmit power23 dBm23 dBm23 dBm20 dBm23 dBmModem complexity100%80%40%20%15%NB-IoT關(guān)鍵技術(shù)與特點(diǎn)PSM省電模式新增的“節(jié)電”狀態(tài) 。在此模式下,終端仍舊注冊(cè)在網(wǎng)但信令不可達(dá),從而使終端更長(zhǎng)時(shí)間駐留在深睡眠以達(dá)到省電的目的 。NB-IoT關(guān)鍵技術(shù)與特點(diǎn)PSM省電模式(續(xù)) 如果周期性TAU為10分鐘,設(shè)備每周上傳一次數(shù)據(jù),這樣,兩節(jié)5號(hào)電池可以用132月(11年)之久。NB-IoT關(guān)鍵技術(shù)與特點(diǎn)擴(kuò)展的不連續(xù)接收(DRX) 空閑模式不連續(xù)接收周期由秒級(jí)擴(kuò)展到分鐘級(jí)或高達(dá)3小時(shí),連接模式不連續(xù)接收周期支持5.12秒和

6、10.24秒;相對(duì)于節(jié)電模式,大幅度提升下行可達(dá)性。 NB-IoT關(guān)鍵技術(shù)與特點(diǎn)增強(qiáng)覆蓋支持重傳(Repetition) - 更多重傳次數(shù)帶來(lái)HARQ增益,以更低速率換取覆蓋增益; -下行最大重傳次數(shù)為2048、上行最大重傳次數(shù)為128。NB-IoT網(wǎng)絡(luò)部署 NB-IoT支持3種不同部署方式,分別是獨(dú)立部署、保護(hù)帶部署、帶內(nèi)部署。主要部署在低頻頻段。283242NB-IoTMHz880CDMA879.106獨(dú)立部署Stand-alone保護(hù)帶部署Guard-zoneLTE BandwidthGuard-band for NB-IoTLTE Bandwidth帶內(nèi)部署In-band1 PRB f

7、or NB-IoTNB-IoT網(wǎng)絡(luò)部署部署方式頻譜共存小區(qū)峰值速率覆蓋容量獨(dú)立部署頻譜獨(dú)占,不存在與現(xiàn)有系統(tǒng)共存問(wèn)題與GSM共站共存需200KHz保護(hù)間隔,與CDMA需285KHzDL 130kbpsUL 240kbpsMCL164dB重發(fā)次數(shù)少,速率高119234/小區(qū)隨機(jī)接入容量受限保護(hù)帶部署需考慮與LTE共存問(wèn)題,如干擾規(guī)避,射頻指標(biāo)等NL共站無(wú)需保護(hù)間隔DL 130kbpsUL 240kbpsMCL164dB重發(fā)次數(shù)多,速率高34447/小區(qū)尋呼容量受限帶內(nèi)部署需考慮與LTE共存問(wèn)題,如干擾規(guī)避,射頻指標(biāo)等NL共站無(wú)需保護(hù)間隔,但需要避開(kāi)PDCCH,PRS等DL 95kbpsUL 24

8、0kbpsMCL164dB重發(fā)次數(shù)多,速率低18201/小區(qū)下行業(yè)務(wù)信道受限“1+X”傳感網(wǎng)應(yīng)用開(kāi)發(fā) CoAP協(xié)議基礎(chǔ)及任務(wù)一實(shí)操一二CoAP協(xié)議概述CoAP協(xié)議格式簡(jiǎn)述三UDP工具調(diào)試CoAP及數(shù)據(jù)詳解222022/9/212022/9/2123一CoAP協(xié)議概述01CoAP協(xié)議來(lái)源02CoAP資源描述03CoAP觀察模式04CoAP塊傳輸2022/9/212401 CoAP協(xié)議來(lái)源基于REST(Representational State Transfer)的網(wǎng)絡(luò)傳輸協(xié)議用于輕量級(jí)M2M(Machine to Machine)取代HTTP,用于物聯(lián)網(wǎng)協(xié)議傳輸層采用UDP小巧,最小數(shù)據(jù)包4字

9、節(jié)可靠性遠(yuǎn)不如HTTP/MQTT適用于連續(xù)流系統(tǒng),如環(huán)境監(jiān)測(cè)2022/9/212502 CoAP資源描述一個(gè)CoAP資源可以描述成一個(gè)URL如:一個(gè)測(cè)量溫度的傳感囂,其數(shù)據(jù)訪問(wèn)可以通過(guò)如下URL實(shí)現(xiàn)CoAP:/machine.address:5683/sensors/temperatureCoAP:/machine.address:5683/sensors/temperature通過(guò)CoAP協(xié)議訪問(wèn)數(shù)據(jù)源設(shè)備的地址(IP或域名)CoAP默認(rèn)UPD端口號(hào)設(shè)備內(nèi)部訪問(wèn)路徑2022/9/212603 CoAP觀察模式客戶端服務(wù)端ttT、Hum、發(fā)送觀察請(qǐng)求請(qǐng)求信息被記錄T、Hum有變化新值發(fā)回T、H

10、um顯示等使用發(fā)送RST復(fù)位請(qǐng)求2022/9/212704 CoAP塊傳輸特點(diǎn):小巧精簡(jiǎn)也能傳輸大塊數(shù)據(jù)協(xié)議有些選項(xiàng)可以設(shè)定分塊大小基于分塊選項(xiàng),服務(wù)器完成數(shù)據(jù)拆分、客戶端完成組裝2022/9/2128二CoAP協(xié)議格式簡(jiǎn)述2022/9/21297654321016位Message ID2位版本號(hào)2位報(bào)文類型4位Token長(zhǎng)度8位Message ID編號(hào),表示為c.dd固定的4字節(jié)5位d值3位c值之后的為可選項(xiàng)Token內(nèi)容,字節(jié)長(zhǎng)度由上述規(guī)定Option內(nèi)容,長(zhǎng)度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值為0 x

11、FF,為報(bào)文和負(fù)載之間的分隔符Payload內(nèi)容,實(shí)際負(fù)載數(shù)據(jù)內(nèi)容字節(jié)0字節(jié)1字節(jié)2字節(jié)3字節(jié)4-n字節(jié)n+1-k字節(jié)k+1字節(jié)m+1-x2022/9/2130具體意義將在實(shí)操中解釋2022/9/2131三UDP工具調(diào)試CoAP及數(shù)據(jù)詳解2022/9/2132確定與CoAP服務(wù)器的網(wǎng)絡(luò)連接2022/9/2133NetAssist.exe分析工具2022/9/21342022/9/2135改為 8:5683改為 42 01 00 01 59 5C B4 74 65 73 74發(fā)送 42 01 00 01 59 5C B4 74 65 73 74收到 62 45 00 01 59 5C 48 01

12、 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 2022/9/21367654321016位Message ID2位版本號(hào)2位報(bào)文類型4位Token長(zhǎng)度8位Message ID編號(hào),表示為c.dd

13、5位d值3位c值Token內(nèi)容,字節(jié)長(zhǎng)度由上述規(guī)定Option內(nèi)容,長(zhǎng)度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值為0 xFF,為報(bào)文和負(fù)載之間的分隔符Payload內(nèi)容,實(shí)際負(fù)載數(shù)據(jù)內(nèi)容發(fā)送 42 01 00 01 59 5C B4 74 65 73 744201 00 01 59 5C B4 74 65 73 74 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 x59、0 x5c 是 Token內(nèi)容,表示參數(shù)或?qū)傩园姹咎?hào):01

14、,Ver 1報(bào)文類型: 00,即要求確認(rèn)回復(fù)的信息 00:CONfirmable 01:NON-confirmable 10:ACKnowledgement 11:ReSeTToken長(zhǎng)度為2個(gè)字節(jié)報(bào)文編號(hào):c為000,即0;d為00001,即1;組合:0.01 表明本報(bào)文要取數(shù)據(jù)狀態(tài)碼請(qǐng)求類型0.00EMPTY0.01GET0.02POST0.03PUT0.04DELETE報(bào)文編號(hào),這里組合為1,即第1個(gè)報(bào)文Token具體內(nèi)容,可以表示參數(shù)或?qū)傩浴8鶕?jù)實(shí)際需要。0 x59、0 x5C 即為業(yè)務(wù)參數(shù)或參數(shù)因?yàn)闆](méi)為0 xFF分隔字節(jié),因此,該報(bào)文沒(méi)有payload內(nèi)容,其后各字節(jié)為option部

15、分內(nèi)容,需單獨(dú)解析2022/9/2137Option內(nèi)容:B4 74 65 73 74第1個(gè)字節(jié):B4 10 11 01 00Delta:11,表示取URLLength:4,表示option數(shù)據(jù)有4個(gè)字節(jié)其后4個(gè)字節(jié)為option數(shù)據(jù)74:t65:e73:s74:t11 42022/9/21382022/9/21基于Proteus的單片機(jī)項(xiàng)目實(shí)踐教程-項(xiàng)目1之C51入門(mén)39收到 62 45 00 01 59 5C 48 01 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 2

16、0 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 FF2022/9/2140收到數(shù)值拆分如下:62: 版本為01;消息類型為10,即ACK消息,對(duì)CON消息的回復(fù);Token長(zhǎng)度為2。45: 0100 0101; c=2, d=5, c.dd=2.05, 表示內(nèi)容回復(fù)正常。00 01:報(bào)文消息編號(hào),表示消息只有1個(gè)。59 5C:Token數(shù)值,長(zhǎng)度2字節(jié),表示參數(shù)或?qū)?/p>

17、性。48 01 AA 57 EE B9 90 5F B6 80:option數(shù)值2022/9/2141收到數(shù)值拆分如下:FF 分隔字節(jié)如下為真實(shí)負(fù)載內(nèi)容77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 welcome to the ETSI plugte

18、st! last change: 2019-11-01 06:43:11 UTC“1+X”傳感網(wǎng)應(yīng)用開(kāi)發(fā)-任務(wù)二 用STM32 CubeMX生成基礎(chǔ)工程STM32CubeMX簡(jiǎn)介 STM32CubeMX是ST公司推出了專門(mén)用于生成STM32的HAL代碼的生成軟件。 STM32Cube是一個(gè)全面的軟件平臺(tái),包括了ST產(chǎn)品的多種系列。平臺(tái)包括了STM32Cube硬件抽象層(一個(gè)STM32抽象層嵌入式軟件,確保在STM32系列最大化的便攜性)和一套的中間件組件(RTOS、USB、FatFs、TCP/IP、Graphics等等)。STM32CubeMX簡(jiǎn)介特點(diǎn)及優(yōu)勢(shì)時(shí)鐘樹(shù)配置微控制器圖形化配置外圍設(shè)備

19、和中間件的功能模式初始化參數(shù)C代碼生成項(xiàng)目覆蓋STM32微控制器的初始化符合IAR,Keil的和GCC編譯器對(duì)于新的產(chǎn)品設(shè)計(jì),使用STM32Cube可加速開(kāi)發(fā)過(guò)程,并為以后的產(chǎn)品平臺(tái)移植打下良好的基礎(chǔ)1234微處理器的選型方便直觀任務(wù)要求 使用STM 32CubeMX工具配置NB-IOT相關(guān)的硬件(系統(tǒng)時(shí)鐘、RTC、USART1、USART2、GPIO、ADC)。任務(wù):1、系統(tǒng)時(shí)鐘: Crystal/Ceramic Resonator2、RTC:實(shí)時(shí)時(shí)鐘RTC(Real_Time Clock)的縮寫(xiě)3、串口:使用USART1與USART2的異步通信方式4、GPIO:配置IO口,PA8位輸出LE

20、D25、ADC:模數(shù)轉(zhuǎn)換,IN0輸出硬件配置1、新建工程創(chuàng)建一個(gè)STM32CubeMX新工程步驟說(shuō)明:?jiǎn)螕鬎ile-New Project1、新建工程選擇芯片型號(hào)STM32L151C8T6步驟說(shuō)明:Port Number Search處選擇STM32L151C81、新建工程選擇芯片型號(hào)STM32L151C8T6步驟說(shuō)明:選擇STM32L151C8Tx點(diǎn)擊Start Project122、配置硬件系統(tǒng)時(shí)鐘配置選擇RCC步驟說(shuō)明:點(diǎn)擊System Core123Low Speed Clock-選擇Crystal/Ceramic Resonator晶體/陶瓷諧振器另一種:BYPASS Clock S

21、ouce旁路時(shí)鐘源2、配置硬件 ADC配置步驟說(shuō)明:點(diǎn)擊Analog選擇ADC123選擇IN02、配置硬件 RTC配置步驟說(shuō)明:點(diǎn)擊Timer選擇RTC123勾選Active Clock Source、Active Calendar45選擇Hourformal24選擇Binary data format2、配置硬件USART1配置步驟說(shuō)明:點(diǎn)擊Connectivity選擇USAR1123 勾選Asynchrononus設(shè)置波特率、數(shù)據(jù)位、有無(wú)校驗(yàn)位和停止位2、配置硬件USART1配置步驟說(shuō)明:選擇NVIC Settings標(biāo)簽 勾選USART1 global interrupt122、配置硬件

22、USART2配置步驟說(shuō)明:點(diǎn)擊Connectivity選擇USAR1123 勾選Asynchrononus設(shè)置波特率、數(shù)據(jù)位、有無(wú)校驗(yàn)位和停止位2、配置硬件USART2配置步驟說(shuō)明:選擇NVIC Settings標(biāo)簽 勾選USART1 global interrupt122、配置硬件 GPIO配置PA8輸出步驟說(shuō)明:右擊PA8管腳 點(diǎn)擊GPIO_Output12PA8輸出引腳2、配置硬件 GPIO配置PA8輸出步驟說(shuō)明:點(diǎn)擊System Core 選擇GPIO1234 User Label輸入 Light 選中ModifiedPA8輸出引腳3、生成 原始代碼步驟說(shuō)明:選中Project Man

23、ager標(biāo)簽 Project Location填入項(xiàng)目名稱“NB-IOT-Lamp”1235 在project Location中選中項(xiàng)目創(chuàng)建路徑 Toolchain/IDE 選擇“MDK-ARMV5”工程路徑(建議非中文路徑)點(diǎn)擊GENERATE CODE生成工程初始代碼4PA8輸出引腳3、生成 原始代碼6工程徑(建議非中文路徑)生成成功,點(diǎn)擊Open Project 通訊協(xié)議之硬件件層協(xié)議介紹3PA8輸出引腳MDK-ARM打開(kāi)工程成功生成基礎(chǔ)工程可開(kāi)始后續(xù)程序的編寫(xiě)?!?+X”傳感網(wǎng)應(yīng)用開(kāi)發(fā) NB-IoT通信應(yīng)用開(kāi)發(fā)01全局變量、自定義函數(shù)的聲明02自定義函數(shù)功能解析03主函數(shù)功能代碼目錄

24、CONTENTS01掌握工程文件的添加02掌握變量定義及函數(shù)聲明方式03掌握NB模塊的基本配置步驟技能知識(shí)點(diǎn)CONTENTS04掌握光照控制燈及模式切換應(yīng)用開(kāi)發(fā)1全局變量、自定義函數(shù)的聲明知識(shí)鏈接01STM32CubeMX生成工程介紹02函數(shù)聲明和頭文件添加STM32CubeMX生成工程介紹01 通過(guò)前次課程的學(xué)習(xí),大家已經(jīng)掌握了使用STM32CubeMX快速生成項(xiàng)目的方法。通過(guò)STM32CubeMX新建工程,快捷、方便,比使用keil5更加易于理解,不抽象。1、頭文件的添加2、自定義變量的添加3、自定義函數(shù)的聲明02(1)、打開(kāi)main.c 文件(2)、頭文件,變量及函數(shù)聲明處1、頭文件的添

25、加2、自定義變量的添加3、自定義函數(shù)的聲明02(1)、添加新增的頭文件引用,內(nèi)容如下:#include user_cloud.h#include user_oled.h#include user_usart1.h#include user_usart2.h#include key.h#include oled.h(2)、添加變量聲明 uint8_t usart1RxBuf; /串口1接收緩存 uint8_t usart2RxBuf; /串口2接收緩存(3)、添加自定義函數(shù)聲明 int fputc(int ch,FILE *f); /定向輸出函數(shù)float get_illumination_va

26、lue(); /ADC采集并轉(zhuǎn)化為光照值void control_light(uint8_t status); /控制燈亮滅功能函數(shù)void automatic_mode(int value,int *light_flag); /根據(jù)光照強(qiáng)度自動(dòng)控制燈亮滅的功能函數(shù)void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); /串口中斷服務(wù)程序void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart); /串口錯(cuò)誤處理程序2自定義函數(shù)功能解析任務(wù)要求 本任務(wù)要求用戶編寫(xiě)功能函數(shù),實(shí)現(xiàn)以下函數(shù)功

27、能(1)串口的定向輸出程序(2)光照強(qiáng)度采集及處理程序(3)燈的亮滅控制程序(4)根據(jù)光強(qiáng)自動(dòng)控制程序(5)串口中斷服務(wù)程序(6)串口中斷錯(cuò)誤處理程序功能函數(shù)01fputc02Floatget_illumination_value03control_light04automatic_modeHAL_UART_ErrorCallback06101此處調(diào)用了UART串口寫(xiě)函數(shù),函數(shù)功能將字符通過(guò)串口1發(fā)出HAL_UART_Transmit函數(shù)原型如下在main.c文件添加函數(shù):(此處添加位置任意,前面已經(jīng)聲明)int fputc(int ch,FILE *f) HAL_UART_Transmit(

28、&huart1,(uint8_t*)&ch,1,10); return ch;02Floatget_illumination_value函數(shù): 使用stm32 ADC功能,采集光照產(chǎn)生的模擬電壓信號(hào)值,利用相關(guān)公式計(jì)算,將電壓值轉(zhuǎn)化為光照強(qiáng)度,作為返回值輸出float get_illumination_value() float adcValue; float illumination_value; HAL_ADC_Start(&hadc); HAL_ADC_PollForConversion(&hadc,10); adcValue=HAL_ADC_GetValue(&hadc); adcVa

29、lue=adcValue*3.3/4096.0; illumination_value=pow(10,(1.78-log10(33/adcValue-10)/0.6);/將電壓值轉(zhuǎn)換為光照強(qiáng)度 oled_display_illumination(illumination_value); HAL_ADC_Stop(&hadc); return illumination_value; 通過(guò)IO口輸出高低電平控制繼電器開(kāi)關(guān),進(jìn)而控制燈的亮滅。此處使用的IO引腳為PA8,oled_display_light_status為L(zhǎng)ED屏幕顯示函數(shù),顯示燈的亮滅狀態(tài)03void control_light(u

30、int8_t status) if(status=LIGHT_OPEN) HAL_GPIO_WritePin(Light_GPIO_Port,Light_Pin,GPIO_PIN_SET); oled_display_light_status(LIGHT_OPEN); else HAL_GPIO_WritePin(Light_GPIO_Port,Light_Pin,GPIO_PIN_RESET); oled_display_light_status(LIGHT_CLOSE); 04automatic_mode(int value,int *light_flag)Value 采集的光照強(qiáng)度值li

31、ght_flag 當(dāng)前燈的狀態(tài)標(biāo)志0為滅,1為亮now_ill_value 存儲(chǔ)的用于比較的光照強(qiáng)度當(dāng)檢測(cè)到光照強(qiáng)度低于3時(shí)且燈滅時(shí),打開(kāi)燈,并記錄下當(dāng)前光照強(qiáng)度。當(dāng)檢測(cè)到燈的強(qiáng)度比之前存儲(chǔ)的強(qiáng)度值高于1以上(表示外界光照變強(qiáng)),且燈亮?xí)r,關(guān)閉燈。void automatic_mode(int value,int *light_flag) static int now_ill_value; if(value3)&(*light_flag=0) control_light(LIGHT_OPEN); *light_flag=1; HAL_Delay(10); now_ill_value=(int)get_illumination_value(); else if(now_ill_value+1ErrorCode); huart-ErrorCode=HAL_UART_ERROR_NONE; if(huart=&huart1) HAL_UART_Receive_IT(&huart1,&usart1RxBuf,1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論