版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第第頁基于STM32+華為云IOT設(shè)計(jì)的智能溫室大棚監(jiān)控系統(tǒng)一、項(xiàng)目背景
當(dāng)前文章介紹基于(STM32)(單片機(jī))的(智能)溫室大棚監(jiān)控系統(tǒng),當(dāng)前系統(tǒng)由溫(濕度傳感器)、二氧化碳(傳感器)、光敏電阻傳感器、土壤濕度傳感器笨時溫宏大棚中內(nèi)作物生長環(huán)境因子主要包括溫度、濕度、光度、土壤濕度傳感、二氧化碳濃度等參數(shù)進(jìn)行監(jiān)控。
采集數(shù)據(jù),判斷是否在系統(tǒng)設(shè)定上限、下限范圍,如果超出了上限下限蜂鳴器報警、通風(fēng)系統(tǒng)、LED補(bǔ)光系統(tǒng)、水泵系統(tǒng)就會啟也可以通過(手機(jī))APP和華為云華為云(物聯(lián)網(wǎng))云平臺對溫室大棚中的數(shù)據(jù)進(jìn)行修改和設(shè)定新的數(shù)據(jù)。
本設(shè)計(jì)整體主要采用STM32單片機(jī)為核心、溫濕度傳感器、二氧化碳傳感器、光敏電阻傳感器、土壤濕度傳感器、通風(fēng)系統(tǒng)、LED補(bǔ)光系統(tǒng)、水泵系統(tǒng)組成。
(1)溫濕度傳感器:主要對溫室大棚中農(nóng)作物環(huán)境進(jìn)行溫濕度監(jiān)控,把數(shù)據(jù)傳到(控制系統(tǒng)),由控制系統(tǒng)傳到(OLED)顯示屏上顯示出來。
(2)二氧化碳傳感器:工作過程對溫室大棚中的農(nóng)作物環(huán)境二氧化碳濃度進(jìn)行監(jiān)控采集數(shù)據(jù),把數(shù)據(jù)傳到控制系統(tǒng)后,再把控制系統(tǒng)中的當(dāng)前環(huán)境數(shù)據(jù)傳顯示屏上顯示出來。
(3)光敏電阻傳感器:工作過程主要通過對溫室大棚中的農(nóng)作物環(huán)境光照強(qiáng)度進(jìn)行監(jiān)控采集數(shù)據(jù),把數(shù)據(jù)傳到控制系統(tǒng)后,再從控制系統(tǒng)的數(shù)據(jù)傳到顯示屏上顯示。
(4)土壤濕度傳感器:工作過程對溫室大棚中的農(nóng)作物生長環(huán)境的土壤濕度進(jìn)行監(jiān)控采集數(shù)據(jù),把數(shù)據(jù)傳到控制系統(tǒng)中,再從控制系統(tǒng)中的數(shù)據(jù)傳到顯示屏上顯示出來。
(5)OLED顯示屏:主要用來對二氧化碳、溫濕度、光照強(qiáng)度以及土壤濕度傳感器中的數(shù)據(jù)顯示出來。
(6)蜂鳴器模塊:主要對二氧化碳濃度、溫濕度、土壤濕度、光照強(qiáng)度等傳感器的采集數(shù)據(jù)是否高過或低于上限、下限值時蜂鳴器報警等功能,并提醒用戶。
(7)繼電器模塊:主要通過把溫濕度、土壤濕度傳感器中的溫濕度過高時或過低時,把溫濕度轉(zhuǎn)換成電(信號),使通風(fēng)、水泵啟動等功能。
(8)通風(fēng)系統(tǒng):當(dāng)溫室大棚中環(huán)境溫度過高時,通風(fēng)系統(tǒng)啟動對室內(nèi)進(jìn)行通風(fēng),使溫度降下到設(shè)定值內(nèi)通風(fēng)系統(tǒng)關(guān)閉停止工作。
(9)水泵系統(tǒng):當(dāng)土壤濕度傳感器(檢測)土壤濕度低于下限值時,水泵系統(tǒng)開啟進(jìn)行澆水灌溉,當(dāng)土壤濕度到達(dá)土壤濕度傳感器上下限內(nèi),水泵系統(tǒng)關(guān)閉停止工作。
(10)LED補(bǔ)光系統(tǒng):通過光敏電阻傳感器檢測溫室大棚中環(huán)境光照強(qiáng)度低于下限值時,LED補(bǔ)光系統(tǒng)開啟對農(nóng)作物進(jìn)行補(bǔ)光,當(dāng)光敏電阻傳感器檢測達(dá)到上下限內(nèi)LED補(bǔ)光系統(tǒng)關(guān)閉停止補(bǔ)光。
(11)按鍵模塊:主要用來調(diào)采集數(shù)據(jù)模塊的上、下限值,可以通過按鍵切換手動和自動和云端三種模式,手動按鍵控制通風(fēng)系統(tǒng)、LED補(bǔ)光系統(tǒng)、水泵系統(tǒng)打開和關(guān)閉功能。
(12)WIFI模塊:通過控制系統(tǒng)數(shù)據(jù)處理之后傳輸給外網(wǎng),手機(jī)APP主要用來接收傳來的數(shù)據(jù)顯示出來
(13).上機(jī)模塊:監(jiān)控各個傳感器的采集數(shù)據(jù)工作情況,執(zhí)行(硬件)工作狀態(tài),也可以通過手機(jī)和華為云物聯(lián)網(wǎng)云平臺切換手動以及自動控制模式,對各傳感器的設(shè)置上下限值。
二、硬件設(shè)計(jì)
【1】硬件設(shè)計(jì)
本系統(tǒng)硬件設(shè)計(jì)包括控制模塊、傳感器模塊和執(zhí)行模塊三部分。
控制模塊:該模塊使用STM32F103C8T6單片機(jī)作為主控制器,負(fù)責(zé)處理各個傳感器的數(shù)據(jù)和控制執(zhí)行模塊。此外,控制模塊還需要與各個執(zhí)行模塊和外部設(shè)備進(jìn)行(通信),以實(shí)現(xiàn)數(shù)據(jù)的處理和傳輸。
傳感器模塊:傳感器模塊包括溫濕度傳感器、二氧化碳傳感器、光敏電阻傳感器和土壤濕度傳感器,主要負(fù)責(zé)感應(yīng)和采集生長環(huán)境的溫濕度、二氧化碳濃度、光照強(qiáng)度和土壤濕度等參數(shù),并將數(shù)據(jù)傳輸給控制模塊處理。
執(zhí)行模塊:執(zhí)行模塊包括通風(fēng)系統(tǒng)、LED補(bǔ)光系統(tǒng)、水泵系統(tǒng)等,用于根據(jù)傳感器采集到的數(shù)據(jù)直接或間接地調(diào)節(jié)生長環(huán)境因子,并保證生長環(huán)境達(dá)到穩(wěn)定的狀態(tài)。
【2】軟件設(shè)計(jì)
軟件設(shè)計(jì)主要分為以下四個模塊:傳感器數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、控制模塊和遠(yuǎn)程控制模塊。
傳感器數(shù)據(jù)采集模塊:該模塊負(fù)責(zé)對傳感器數(shù)據(jù)進(jìn)行采集,包括溫濕度傳感器、二氧化碳傳感器、光敏電阻傳感器和土壤濕度傳感器。采集到的數(shù)據(jù)通過串口接口發(fā)送給控制模塊。
數(shù)據(jù)處理模塊:該模塊負(fù)責(zé)對采集到的傳感器數(shù)據(jù)進(jìn)行處理,判斷當(dāng)前環(huán)境因子是否超出設(shè)定范圍,如果超出,則觸發(fā)報警和控制執(zhí)行模塊的操作。同時,該模塊還要將處理后的數(shù)據(jù)發(fā)送給控制模塊進(jìn)行控制操作。
控制模塊:該模塊負(fù)責(zé)控制執(zhí)行模塊,根據(jù)數(shù)據(jù)處理模塊的指令,啟動通風(fēng)系統(tǒng)、LED補(bǔ)光系統(tǒng)、水泵系統(tǒng)等設(shè)備,以保證生長環(huán)境穩(wěn)定和水平。
遠(yuǎn)程控制模塊:該模塊實(shí)現(xiàn)通過手機(jī)APP和華為云(IOT)平臺遠(yuǎn)程管理系統(tǒng),對溫室大棚中的數(shù)據(jù)進(jìn)行修改和設(shè)定新的數(shù)據(jù)。用戶可以通過手機(jī)APP或者華為云IOT平臺,實(shí)時查看和修改溫室大棚的環(huán)境因子,實(shí)現(xiàn)遠(yuǎn)程控制和管理。
三、華為云IOT平臺開發(fā)
在華為云IOT平臺上,需要進(jìn)行設(shè)備接入、數(shù)據(jù)模型定義、規(guī)則引擎配置和應(yīng)用開發(fā)等四個核心模塊的開發(fā)。其中,設(shè)備接入模塊包括設(shè)備注冊、獲取設(shè)備證書、建立連接等步驟,以保障設(shè)備與云平臺之間的安全通信;數(shù)據(jù)模型定義模塊需要根據(jù)實(shí)際需求定義相應(yīng)的數(shù)據(jù)模型,包括上傳數(shù)據(jù)格式、設(shè)備屬性和服務(wù)等。規(guī)則引擎配置模塊需要完成實(shí)時消息推送、遠(yuǎn)程控制和告警等功能。應(yīng)用開發(fā)模塊則是將完整的智能井蓋系統(tǒng)進(jìn)行打包,為用戶提供統(tǒng)一的操作接口。
華為云官網(wǎng):/
打開官網(wǎng),搜索物聯(lián)網(wǎng),就能快速找到設(shè)備接入IoTDA。
3.1物聯(lián)網(wǎng)平臺介紹
華為云物聯(lián)網(wǎng)平臺(IoT設(shè)備接入云服務(wù))提供海量設(shè)備的接入和管理能力,將物理設(shè)備聯(lián)接到云,支撐設(shè)備數(shù)據(jù)采集上云和云端下發(fā)命令給設(shè)備進(jìn)行遠(yuǎn)程控制,配合華為云其他產(chǎn)品,幫助我們快速構(gòu)筑物聯(lián)網(wǎng)解決方案。
使用物聯(lián)網(wǎng)平臺構(gòu)建一個完整的物聯(lián)網(wǎng)解決方案主要包括3部分:物聯(lián)網(wǎng)平臺、業(yè)務(wù)應(yīng)用和設(shè)備。
物聯(lián)網(wǎng)平臺作為連接業(yè)務(wù)應(yīng)用和設(shè)備的中間層,屏蔽了各種復(fù)雜的設(shè)備接口,實(shí)現(xiàn)設(shè)備的快速接入;同時提供強(qiáng)大的開放能力,支撐行業(yè)用戶構(gòu)建各種物聯(lián)網(wǎng)解決方案。
設(shè)備可以通過固網(wǎng)、2G/3G/(4G)/(5G)、(NB-IoT)、Wifi等多種(網(wǎng)絡(luò))接入物聯(lián)網(wǎng)平臺,并使用LW(M2M)/CoAP、MQTT、HTTPS協(xié)議將業(yè)務(wù)數(shù)據(jù)上報到平臺,平臺也可以將控制命令下發(fā)給設(shè)備。
業(yè)務(wù)應(yīng)用通過調(diào)用物聯(lián)網(wǎng)平臺提供的A(PI),實(shí)現(xiàn)設(shè)備數(shù)據(jù)采集、命令下發(fā)、設(shè)備管理等業(yè)務(wù)場景。
3.2開通物聯(lián)網(wǎng)服務(wù)
地址:/product/iothub.html
開通標(biāo)準(zhǔn)版免費(fèi)單元。
開通之后,點(diǎn)擊總覽,查看接入信息。我們當(dāng)前設(shè)備準(zhǔn)備采用MQTT協(xié)議接入華為云平臺,這里可以看到MQTT協(xié)議的地址和端口號等信息。
總結(jié):
端口號:MQTT(1883)|MQTTS(8883)接入地址:根據(jù)域名地址得到IP地址信息:
MicrosoftWindows[版本10.0.19044.2846](c)MicrosoftCorporation。保留所有權(quán)利。?C:Use(rs)11266>ping?正在Ping[00]具有32字節(jié)的數(shù)據(jù):來自00的回復(fù):字節(jié)=32時間=37msTTL=31來自00的回復(fù):字節(jié)=32時間=37msTTL=31來自00的回復(fù):字節(jié)=32時間=36msTTL=31來自00的回復(fù):字節(jié)=32時間=37msTTL=31?00的Ping統(tǒng)計(jì)信息:數(shù)據(jù)包:已發(fā)送=4,已接收=4,丟失=0(0%丟失),往返行程的估計(jì)時間(以毫秒為單位):最短=36ms,最長=37ms,平均=36ms?C:Users11266>MQTT協(xié)議接入端口號有兩個,1883是非加密端口,8883是證書加密端口,單片機(jī)無法加載證書,所以使用1883端口比較合適。接下來的(ESP8266)就采用1883端口連接華為云物聯(lián)網(wǎng)平臺。
3.3創(chuàng)建產(chǎn)品
(1)創(chuàng)建產(chǎn)品
點(diǎn)擊右上角創(chuàng)建產(chǎn)品。
(2)填寫產(chǎn)品信息
根據(jù)自己產(chǎn)品名字填寫,設(shè)備類型選擇自定義類型。
(3)添加自定義模型
產(chǎn)品創(chuàng)建完成之后,點(diǎn)擊進(jìn)入產(chǎn)品詳情頁面,翻到最下面可以看到模型定義。
模型簡單來說:就是存放設(shè)備上傳到云平臺的數(shù)據(jù)。比如:環(huán)境溫度、環(huán)境濕度、環(huán)境煙霧濃度、火焰檢測狀態(tài)圖等等,這些我們都可以單獨(dú)創(chuàng)建一個模型保存。
3.4添加設(shè)備
產(chǎn)品是屬于上層的抽象模型,接下來在產(chǎn)品模型下添加實(shí)際的設(shè)備。添加的設(shè)備最終需要與真實(shí)的設(shè)備關(guān)聯(lián)在一起,完成數(shù)據(jù)交互。
(1)注冊設(shè)備
點(diǎn)擊右上角注冊設(shè)備。
(2)根據(jù)自己的設(shè)備填寫
在彈出的對話框里填寫自己設(shè)備的信息。根據(jù)自己設(shè)備詳細(xì)情況填寫。
(3)保存設(shè)備信息
創(chuàng)建完畢之后,點(diǎn)擊保存并關(guān)閉,得到創(chuàng)建的設(shè)備密匙信息。該信息在后續(xù)生成MQTT三元組的時候需要使用。
3.5MQTT協(xié)議主題訂閱與發(fā)布
(1)MQTT協(xié)議介紹
當(dāng)前的設(shè)備是采用MQTT協(xié)議與華為云平臺進(jìn)行通信。
MQTT是一個物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。MQTT是專門針對物聯(lián)網(wǎng)開發(fā)的輕量級傳輸協(xié)議。MQTT協(xié)議針對低帶寬網(wǎng)絡(luò),低計(jì)算能力的設(shè)備,做了特殊的優(yōu)化,使得其能適應(yīng)各種物聯(lián)網(wǎng)應(yīng)用場景。目前MQTT擁有各種平臺和設(shè)備上的客戶端,已經(jīng)形成了初步的生態(tài)系統(tǒng)。
MQTT是一種消息隊(duì)列協(xié)議,使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序(耦合),相對于其他協(xié)議,開發(fā)更簡單;MQTT協(xié)議是工作在TCP/IP協(xié)議上;由TCP/IP協(xié)議提供穩(wěn)定的網(wǎng)絡(luò)連接;所以,只要具備TCP協(xié)議棧的網(wǎng)絡(luò)設(shè)備都可以使用MQTT協(xié)議。本次設(shè)備采用的ESP8266就具備TCP協(xié)議棧,能夠建立TCP連接,所以,配合STM32代碼里封裝的MQTT協(xié)議,就可以與華為云平臺完成通信。
華為云的MQTT協(xié)議接入幫助文檔在這里:/devg-iothub/iot_02_2200.html
業(yè)務(wù)流程:
(2)華為云平臺MQTT協(xié)議使用限制
描述限制支持的MQTT協(xié)議版本3.1.1與標(biāo)準(zhǔn)MQTT協(xié)議的區(qū)別支持Qos0和Qos1支持Topic自定義不支持QoS2不支持will、ret(ai)nmsgMQTTS支持的安全等級采用TCP通道基礎(chǔ)+TLS協(xié)議(最高TLSv1.3版本)單帳號每秒最大MQTT連接請求數(shù)無限制單個設(shè)備每分鐘支持的最大MQTT連接數(shù)1單個MQTT連接每秒的吞吐量,即帶寬,包含直連設(shè)備和網(wǎng)關(guān)3KB/sMQTT單個發(fā)布消息最大長度,超過此大小的發(fā)布請求將被直接拒絕1MBMQTT連接心跳時間建議值心跳時間限定為30至1200秒,(推薦)設(shè)置為120秒產(chǎn)品是否支持自定義Topic支持消息發(fā)布與訂閱設(shè)備只能對自己的Topic進(jìn)行消息發(fā)布與訂閱每個訂閱請求的最大訂閱數(shù)無限制(3)主題訂閱格式
幫助文檔地址:/devg-iothub/iot_02_2200.html
對于設(shè)備而言,一般會訂閱平臺下發(fā)消息給設(shè)備這個主題。
設(shè)備想接收平臺下發(fā)的消息,就需要訂閱平臺下發(fā)消息給設(shè)備的主題,訂閱后,平臺下發(fā)消息給設(shè)備,設(shè)備就會收到消息。
(4)主題發(fā)布格式
對于設(shè)備來說,主題發(fā)布表示向云平臺上傳數(shù)據(jù),將(最新)的傳感器數(shù)據(jù),設(shè)備狀態(tài)上傳到云平臺。
這個操作稱為:屬性上報。
幫助文檔地址:/usermanual-iothub/iot_06_v5_3010.html
3.6MQTT三元組
MQTT協(xié)議登錄需要填用戶ID,設(shè)備ID,設(shè)備密碼等信息,就像我們平時登錄,微信一樣要輸入賬號密碼才能登錄。MQTT協(xié)議登錄的這3個參數(shù),一般稱為MQTT三元組。
接下來介紹,華為云平臺的MQTT三元組參數(shù)如何得到。
(1)MQTT服務(wù)器地址
要登錄MQTT服務(wù)器,首先記得先知道服務(wù)器的地址是多少,端口是多少。
幫助文檔地址:/iotdm/?region=cn-north-4#/dm-portal/home
MQTT協(xié)議的端口支持1883和8883,它們的區(qū)別是:8883是加密端口更加安全。但是單片機(jī)上使用比較困難,所以當(dāng)前的設(shè)備是采用1883端口進(jìn)連接的。
根據(jù)上面的域名和端口號,得到下面的IP地址和端口號信息:如果設(shè)備支持填寫域名可以直接填域名,不支持就直接填寫IP地址。(IP地址就是域名解析得到的)
華為云的MQTT服務(wù)器地址:00華為云的MQTT端口號:1883(2)生成MQTT三元組
華為云提供了一個在線工具,用來生成MQTT鑒權(quán)三元組:/
打開這個工具,填入設(shè)備的信息(也就是剛才創(chuàng)建完設(shè)備之后保存的信息),點(diǎn)擊生成,就可以得到MQTT的登錄信息了。
下面是打開的頁面:
3.7參考案例
華為云平臺部署開發(fā)也可以參考這里:
/blogs/381072
【基于華為云IOT平臺實(shí)現(xiàn)多節(jié)點(diǎn)溫度采集(STM32+NBIOT)】
四、設(shè)計(jì)代碼
【1】DHT11溫濕度數(shù)據(jù)讀取
以下是基于HAL庫的STM32F103ZET6讀取DHT11溫濕度傳感器的代碼:
#include"dht11.h"?#defineDHT11_GPIO_PORTGPIOA#defineDHT11_GPIO_PINGPIO_PIN_0?/*DHT11引腳初始化*/voidDHT11_Init(){GPIO_InitTypeDefGPIO_InitStruct={0};?/*打開GPIO(時鐘)*/__HAL_RCC_GPIOA_CLK_ENABLE();?/*配置GPIO為推挽輸出模式*/GPIO_InitStruct.Pin=DHT11_GPIO_PIN;GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_OD;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(DHT11_GPIO_PORT,}?/*從DHT11讀取一次溫濕度數(shù)據(jù)*/DHT11_Result_tDHT11_Re(ad)_Data(){uint8_tdata[5]={0};uint8_tcheck=0;uint8_ti=0;?/*向DHT11發(fā)送起始信號*/HAL_GPIO_Wri(te)Pin(DHT11_GPIO_PORT,DHT11_GPIO_PIN,GPIO_PIN_RESET);HAL_Delay(20);HAL_GPIO_WritePin(DHT11_GPIO_PORT,DHT11_GPIO_PIN,GPIO_PIN_SET);HAL_Delay(30);?/*切換到輸入模式等待DHT11的響應(yīng)*/GPIO_InitTypeDefGPIO_InitStruct={0};GPIO_InitStruct.Pin=DHT11_GPIO_PIN;GPIO_InitStruct.Mode=GPIO_MODE_INPUT;GPIO_InitStruct.Pull=GPIO_PULLUP;HAL_GPIO_Init(DHT11_GPIO_PORT,?/*等待DHT11響應(yīng)*/while(HAL_GPIO_ReadPin(DHT11_GPIO_PORT,DHT11_GPIO_PIN)==GPIO_PIN_SET);?/*等待DHT11發(fā)送完畢*/while(HAL_GPIO_ReadPin(DHT11_GPIO_PORT,DHT11_GPIO_PIN)==GPIO_PIN_RESET);?/*讀取DHT11發(fā)送的數(shù)據(jù)*/for(i=0;i100)break;}?/*根據(jù)時間計(jì)算數(shù)據(jù)位的值*/data[i]=50){data[i]|=0x01;}}}?/*切換回輸出模式*/GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_OD;HAL_GPIO_Init(DHT11_GPIO_PORT,?/*驗(yàn)證數(shù)據(jù)的正確性*/check=data[0]+data[1]+data[2]+data[3];if(check!=data[4]){returnDHT11_ERROR_CHECKSUM;}?/*讀取溫濕度數(shù)據(jù)結(jié)果*/DHT11_Result_tresult;result.humidity=data[0];result.temperature=data[2];returnresult;}該代碼基于HAL庫的STM32F103ZET6讀取DHT11溫濕度傳感器的代碼示例:
/*獲取溫濕度數(shù)據(jù)*/voidget_temperature_humidity(){DHT11_Result_tres=DHT11_Read_Data();if(res!=DHT11_ERROR_CHECKSUM){floathumidity=res.humidity;floattemperature=res.temperature;printf("溫度:%.1f°C濕度:%.1f%%RHrn",temperature,humidity);}else{printf("讀取失敗,請檢查連接和傳感器是否正常!rn");}}?intmain(){HAL_Init();?//初始化串口輸出(uart)_init();?printf("DHT11溫濕度傳感器讀取測試開始rn");?//初始化DHT11引腳DHT11_Init();?while(1){//讀取溫濕度傳感器數(shù)據(jù)get_temperature_humidity();HAL_Delay(2000);}}需要注意的是,在主函數(shù)中,我們先初始化了串口輸出和DHT11引腳,然后通過循環(huán)一直讀取溫濕度數(shù)據(jù)并打印輸出。其中,get_temperature_humidity()函數(shù)負(fù)責(zé)調(diào)用DHT11_Read_Data()函數(shù)讀取溫濕度數(shù)據(jù),并將結(jié)果打印出來。如果讀取失敗,get_temperature_humidity()函數(shù)也會將錯誤信息打印出來。
【2】讀取BH1750光敏傳感器的值
以下是基于HAL庫的STM32F103ZET6讀取BH1750光照強(qiáng)度傳感器的代碼:
#include"bh1750.h"?/*BH1750地址*/#defineBH1750_ADDR0x23?/*BH1750命令*/#defineBH1750_CMD_POWER_ON0x01#defineBH1750_CMD_POWER_DOWN0x00#defineBH1750_CMD_RESET0x07#defineBH1750_CMD_ONE_(TI)ME_H0x20#defineBH1750_CMD_ONE_TIME_L0x23?/*BH1750初始化配置*/voidBH1750_Init(){(I2C)_HandleTypeDefhi2c1={0};hi2c1.Instance=I2C1;hi2c1.Init.ClockSpeed=200000;hi2c1.Init.DutyCycle=I2C_DUTYCYCLE_2;hi2c1.Init.OwnAddress1=0;hi2c1.Init.AddressingMode=I2C_ADDRESSINGMODE_7BIT;hi2c1.Init.DualAddressMode=I2C_DUALADDRESS_DISABLE;hi2c1.Init.OwnAddress2=0;hi2c1.Init.GeneralCallMode=I2C_GENERALCALL_DISABLE;hi2c1.Init.NoStretchMode=I2C_NOSTRETCH_DISABLE;HAL_I2C_Init(?uint8_tinit_data=BH1750_CMD_POWER_ON;HAL_I2C_Master_Transmit(}?/*從BH1750讀取光照強(qiáng)度數(shù)據(jù)*/floatBH1750_Read_Lux(){I2C_HandleTypeDefhi2c1={0};hi2c1.Instance=I2C1;hi2c1.Init.ClockSpeed=200000;hi2c1.Init.DutyCycle=I2C_DUTYCYCLE_2;hi2c1.Init.OwnAddress1=0;hi2c1.Init.AddressingMode=I2C_ADDRESSINGMODE_7BIT;hi2c1.Init.DualAddressMode=I2C_DUALADDRESS_DISABLE;hi2c1.Init.OwnAddress2=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村房屋協(xié)議轉(zhuǎn)讓協(xié)議書
- 醫(yī)療事故賠償協(xié)議內(nèi)容
- 《電機(jī)技術(shù)應(yīng)用》課件 2.2.4 異步電動機(jī)的機(jī)械特性
- 中學(xué)課程實(shí)施方案(2024-2025學(xué)年)
- (2024)電子商務(wù)創(chuàng)業(yè)園項(xiàng)目可行性研究報告建議書(一)
- 2024年度個人年終工作總結(jié)范文三
- 【9上英RJ】亳州市利辛縣部分學(xué)校聯(lián)考2023-2024學(xué)年九年級上學(xué)期期末考試英語試題
- 2024秋新滬科版物理8年級上冊教學(xué)課件 第6章 熟悉而陌生的力 第2節(jié) 測量:用彈簧測力計(jì)測量力
- 2023年高收縮腈綸項(xiàng)目籌資方案
- 2023年柔印CTP項(xiàng)目籌資方案
- 醫(yī)院內(nèi)靜脈血栓栓塞癥防治質(zhì)量評價與管理指南(2022版)
- 新譯林版五年級英語上冊期末復(fù)習(xí)課件
- 建筑施工現(xiàn)場安全管理監(jiān)理檢查記錄表
- 我國港口碼頭腐蝕狀況調(diào)查及控制
- 畫法幾何與機(jī)械制圖全套PPT完整教學(xué)課件
- 人工智能在教師工作中的應(yīng)用
- 信用修復(fù)申請文書(當(dāng)事人適用)
- VDI云桌面技術(shù)及方案
- 小型水閘委托管理協(xié)議書
- 7S檢查整改通知
- (完整)小學(xué)語文考試專用作文方格紙
評論
0/150
提交評論