0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【開源樣例】Py4OH:自制開源鴻蒙空氣質(zhì)量監(jiān)控系統(tǒng)(上)

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-06-27 08:15 ? 次閱讀

今天為大家隆重介紹一位 Py4OH 家族的新成員 – 小凌派開發(fā)板,目前已經(jīng)進(jìn)入 Py4OH 主線,基于 OpenHarmoy 3.0 LTS 并完整支持 Py4OH 所有特性。



小凌派開發(fā)板是一款由福州市凌睿智捷電子有限公司基于OpenHarmony打造的L0級(jí)物聯(lián)網(wǎng)開發(fā)板,采用E53接口標(biāo)準(zhǔn),可接入所有的E53案例擴(kuò)展板:

  • 主控為瑞芯微RK2206芯片,200MHz主頻

  • RAM:256KB、ROM:16KB、PSRAM:8M、FLASH:8M

  • 板載NFCForum Type 2 Tag芯片及天線,可實(shí)現(xiàn)HarmonyOS“碰一碰”功能

  • 支持 IEEE 802.11b/g/n 制式,AP 模式

  • 豐富的外設(shè)接口,包含 GPIO、UART、 I2C、ADC、DAC、PWM 等

  • 兩個(gè)TypeC USB接口,一個(gè)用于供電下載,一個(gè)用于串口調(diào)試


小凌派提供了多個(gè)好玩的擴(kuò)展板,比如:智慧手勢(shì)擴(kuò)展板,智慧農(nóng)業(yè)擴(kuò)展板,有了這些擴(kuò)展板,我們可以來做點(diǎn)有意思的東西。


做點(diǎn)什么呢?嗯,空氣質(zhì)量監(jiān)控系統(tǒng)?。?!



智慧農(nóng)業(yè)擴(kuò)展板上集成了溫濕度傳感器SHT30,LED燈,直流電機(jī),而溫濕度傳感器SHT30可以說是為我們的空氣質(zhì)量監(jiān)控系統(tǒng)量身打造:當(dāng)環(huán)境溫度在體感舒適度(大約18-25攝氏度)之外,則LED警報(bào)指示燈開始閃爍;否則關(guān)閉LED警報(bào)指示燈。


實(shí)現(xiàn)思路:開發(fā)板上電后,先進(jìn)行必要的初始化,然后每隔1秒通過SHT30獲取當(dāng)前環(huán)境的溫度和濕度;當(dāng)溫度處于體感舒適度時(shí)關(guān)閉LED燈,否則改變LED燈的狀態(tài)(閃爍)。


有了實(shí)現(xiàn)思路就可以很輕松的畫出設(shè)計(jì)圖。


首先就是交互圖。交互圖可以幫助我們理清楚開發(fā)板與擴(kuò)展板之間的關(guān)系,這是至關(guān)重要的,只有理清楚關(guān)系才可能從代碼層面出發(fā),想明白先做什么再做什么。



從上面的交互圖可以看出,在開發(fā)板一側(cè)需要一個(gè)程序變量代表擴(kuò)展板上的SHT30傳感器,同時(shí)也需要一個(gè)程序變量代表擴(kuò)展板上的LED燈。有了這兩個(gè)變量,就可以直接獲取溫度數(shù)據(jù)和濕度數(shù)據(jù),并且可以輕松愉快的控制LED燈狀態(tài)了?。?!


嗯,這是什么?同學(xué)們??!這是面向?qū)ο?a target="_blank">編程啊。


Py4OH使用的是Python語(yǔ)言進(jìn)行設(shè)備開發(fā),而Python語(yǔ)言完美支持面向?qū)ο缶幊贪。?/p>


這又能怎樣?這就可以簡(jiǎn)化編程了??!


不信??來,看看下面的流程圖!



整個(gè)流程圖描述的邏輯是非常簡(jiǎn)單的,僅僅是表達(dá)了我們想做的東西。相信大家也看出來了,“簡(jiǎn)單”是依賴于 th 和 light 所具備的能力,這兩個(gè)變量(對(duì)象)所對(duì)應(yīng)的類型將SHT30與LED的復(fù)雜性及控制邏輯全部隱藏,使得它們變成了黑盒,我們只需要知道如何使用即可!


OK!鋪墊已經(jīng)足夠,是時(shí)候展示真正的技術(shù)了!

import pin
import sht30
import gpio
import os
i2cx = 0 # SHT30是一種i2c設(shè)備,位于0號(hào)i2c上
freq = 400000 # i2c通信頻率
sda = gpio.make_id([0, 'A', 0]) # 計(jì)算sda所對(duì)應(yīng)的引腳號(hào)
scl = gpio.make_id([0, 'A', 1]) # 計(jì)算scl所對(duì)應(yīng)的引腳號(hào)
th = sht30.SHT30(i2cx, sda, scl, freq) # 創(chuàng)建名為th的SHT30對(duì)象
th.open() # 通過th對(duì)象打開SHT30設(shè)備
lpin = gpio.make_id([0, 'A', 2]) # 計(jì)算接入LED燈的引腳號(hào)
light = pin.Pin(lpin) # 創(chuàng)建LED燈對(duì)象
while True :
t = th.temperature() # 獲取溫度數(shù)據(jù)
h = th.humidity() # 獲取濕度數(shù)據(jù)

if t != None :
print('temperature = ' + str(t))

if h != None :
print('humidity = ' + str(h))

if (18 <= t) and (t <= 25) :
light.low() # 若當(dāng)前溫度在體感舒適度范圍內(nèi),則關(guān)閉LED燈
else :
light.change() # 若當(dāng)前溫度不在體感舒適度范圍內(nèi),則改變LED燈的狀態(tài),即:閃爍

os.sleep(1)

(左右移動(dòng)查看全部?jī)?nèi)容)


很明顯,LED燈不是第一次出現(xiàn)我的文章中,SHT30也不是!如果有同學(xué)對(duì)它們的驅(qū)動(dòng)方式還不熟悉,可以參考我之前的兩篇帖子《使用Python開發(fā)鴻蒙設(shè)備程序(1-GPIO外設(shè)控制)》和《使用Python開發(fā)鴻蒙設(shè)備程序(2-I2C應(yīng)用實(shí)例)》,在這里重點(diǎn)強(qiáng)調(diào)的是使用面向?qū)ο蠹夹g(shù)對(duì)它們進(jìn)行封裝,增加代碼復(fù)用性。


要面向?qū)ο蠓庋b,必須的,先定義接口!

'''
This is just a demo for interface definition.
'''
class Pin:
is_high = False
def __init__(self, pin_num):
pass

def high(self):
# output 1
self.is_high = True

def low(self):
# output 0
self.is_high = False

def status(self):
return 1 if self.is_high else 0

def change(self):
if self.is_high:
self.low()
else:
self.high()

def __del__(self):
pass
class SHT30:
sht30_addr = 0x44
write_cmd = (sht30_addr << 1) | 0x00
read_cmd = (sht30_addr << 1) | 0x01
def __init__(self, i2cx, sda, scl, freq):
pass
def open(self):
pass

def close(self):
pass
def temperature(self):
return None
def humidity(self):
return None

def __del__(self):
pass

(左右移動(dòng)查看全部?jī)?nèi)容)


由于實(shí)現(xiàn)細(xì)節(jié)太多,大家可以在附件中直接下載完整代碼自行參考學(xué)習(xí)。


看到這,是不是覺得我有炒冷飯的嫌疑?!


又拿LED燈和SHT30溫濕度傳感器來寫水文??!


哈哈!如果你這么想,那么請(qǐng)看看標(biāo)題,,,這只是《上》,還有《下》呢??!


下一篇文章,我會(huì)帶著大家將其它設(shè)備接入小凌派開發(fā)板,然后編程獲取當(dāng)前環(huán)境的PM2.5和PM10數(shù)據(jù),并在數(shù)據(jù)不理想時(shí)啟動(dòng)直流電機(jī)(風(fēng)扇)對(duì)空氣質(zhì)量進(jìn)行調(diào)整。


最后,給大家展示一下Py4OH命令行的輸出。



To be continued...





聲明本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


更多熱點(diǎn)文章閱讀

  • 基于Cortex-M3內(nèi)核的32位微控制器,STM32項(xiàng)目實(shí)戰(zhàn)分享!

  • 基于32位RISC-V設(shè)計(jì)的互聯(lián)型微控制器,沁恒微CH32V307開發(fā)樣例

  • RK3568!四核64位ARMv8.2A架構(gòu),匯聚編譯源碼及實(shí)戰(zhàn)樣例

  • 尺寸僅有21mm*51mm,板邊采用郵票孔設(shè)計(jì),合宙 Air105 核心板開發(fā)總結(jié)

  • 嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例


原文標(biāo)題:【開源樣例】Py4OH:自制開源鴻蒙空氣質(zhì)量監(jiān)控系統(tǒng)(上)

文章出處:【微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【開源樣例】Py4OH:自制開源鴻蒙空氣質(zhì)量監(jiān)控系統(tǒng)(上)

文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    空氣質(zhì)量傳感器的功能特點(diǎn)

    空氣質(zhì)量傳感器作為一款高效、便捷的監(jiān)測(cè)設(shè)備,在我國(guó)環(huán)境保護(hù)事業(yè)中發(fā)揮著越來越重要作用,空氣質(zhì)量傳感器能夠幫助我們實(shí)時(shí)監(jiān)測(cè)和改善空氣質(zhì)量,保護(hù)我們的呼吸健康和生活品質(zhì)。
    的頭像 發(fā)表于 08-29 16:05 ?117次閱讀

    空氣質(zhì)量傳感器解決方案

    空氣質(zhì)量傳感器解決方案
    發(fā)表于 08-08 12:59 ?0次下載

    城市空氣質(zhì)量監(jiān)測(cè)解決方案

    隨著城市化進(jìn)程的加快,空氣質(zhì)量問題逐漸成為人們關(guān)注的焦點(diǎn)。空氣污染不僅影響人們的健康,也對(duì)環(huán)境造成了不可逆的損害。因此,制定并實(shí)施有效的城市空氣質(zhì)量監(jiān)測(cè)解決方案,對(duì)于保障公眾健康、促進(jìn)生態(tài)文明具有
    的頭像 發(fā)表于 07-02 16:28 ?217次閱讀

    如何使用空氣質(zhì)量傳感器檢測(cè)新房室內(nèi)空氣質(zhì)量

    隨著人們對(duì)健康居住環(huán)境的日益關(guān)注,新房室內(nèi)空氣質(zhì)量成為了一個(gè)不可忽視的問題。室內(nèi)空氣質(zhì)量不僅關(guān)乎居住者的舒適度,更直接關(guān)系到人們的身體健康。因此,使用空氣質(zhì)量傳感器來檢測(cè)新房室內(nèi)空氣質(zhì)量
    的頭像 發(fā)表于 05-29 15:00 ?274次閱讀
    如何使用<b class='flag-5'>空氣質(zhì)量</b>傳感器檢測(cè)新房室內(nèi)<b class='flag-5'>空氣質(zhì)量</b>

    一款基于 LoRaWAN 標(biāo)準(zhǔn)協(xié)議、遠(yuǎn)距離通信的空氣質(zhì)量傳感器

    一款基于 LoRaWAN 標(biāo)準(zhǔn)協(xié)議、遠(yuǎn)距離通信的空氣質(zhì)量傳感器。主要用于檢測(cè)室內(nèi)環(huán)境中的 PM2.5/10 濃度、甲醛、二氧化碳、TVOC 等數(shù)據(jù),待檢測(cè)出空氣質(zhì)量數(shù)據(jù)后,通過 LoRa 無(wú)線技術(shù)上
    的頭像 發(fā)表于 05-13 09:32 ?218次閱讀
    一款基于 LoRaWAN 標(biāo)準(zhǔn)協(xié)議、遠(yuǎn)距離通信的<b class='flag-5'>空氣質(zhì)量</b>傳感器

    城市空氣質(zhì)量監(jiān)測(cè)系統(tǒng)功能特點(diǎn)

    隨著社會(huì)的發(fā)展,車輛的日漸增多,氣象監(jiān)測(cè)站已經(jīng)越來越廣泛地運(yùn)用到了橋梁及高速中,以配合交通監(jiān)管部門解決交通安全面臨的氣象環(huán)境因素的影響。 城市空氣質(zhì)量監(jiān)測(cè)系統(tǒng)解決方案,采用無(wú)線傳感器網(wǎng)絡(luò)來監(jiān)測(cè)
    的頭像 發(fā)表于 03-04 16:12 ?591次閱讀

    RRH46410:用于室內(nèi)空氣質(zhì)量應(yīng)用的數(shù)字氣體傳感器模塊

    電子發(fā)燒友網(wǎng)站提供《RRH46410:用于室內(nèi)空氣質(zhì)量應(yīng)用的數(shù)字氣體傳感器模塊.pdf》資料免費(fèi)下載
    發(fā)表于 02-20 10:08 ?0次下載
    RRH46410:用于室內(nèi)<b class='flag-5'>空氣質(zhì)量</b>應(yīng)用的數(shù)字氣體傳感器模塊

    如何使用智能型空氣質(zhì)量傳感器監(jiān)測(cè)環(huán)境

    儲(chǔ)能系統(tǒng) (BESS)。在智能家居、建筑和城市中,空氣質(zhì)量傳感器可以通過監(jiān)測(cè)導(dǎo)致空氣質(zhì)量差的大氣灰塵和氣體,以及用于早期火災(zāi)預(yù)警的煙霧檢測(cè),來幫助我們確保健康和安全。在汽車中,這些傳感器可識(shí)別會(huì)引發(fā)健康問題的揮發(fā)性有機(jī)化合物 (
    的頭像 發(fā)表于 02-13 18:14 ?911次閱讀
    如何使用智能型<b class='flag-5'>空氣質(zhì)量</b>傳感器監(jiān)測(cè)環(huán)境

    構(gòu)建一個(gè)基于Arduino的空氣質(zhì)量監(jiān)測(cè)系統(tǒng)

    呼吸清潔、健康的空氣對(duì)我們的健康至關(guān)重要,但在許多環(huán)境中,空氣質(zhì)量仍然是一個(gè)問題。在本文中,我們將深入探討如何創(chuàng)建一個(gè)基于Arduino的空氣質(zhì)量監(jiān)測(cè)系統(tǒng)。我們將從討論各種組件開始,然
    的頭像 發(fā)表于 02-11 12:03 ?3646次閱讀
    構(gòu)建一個(gè)基于Arduino的<b class='flag-5'>空氣質(zhì)量</b>監(jiān)測(cè)<b class='flag-5'>系統(tǒng)</b>

    DH系列工業(yè)級(jí)連接器讓空氣質(zhì)量檢測(cè)儀電源連接超穩(wěn)

    空氣質(zhì)量檢測(cè)儀,主要是用于對(duì)空氣中有害物質(zhì)檢測(cè)及濃度檢測(cè),以此評(píng)估空氣質(zhì)量與受污染程度。空氣質(zhì)量檢測(cè)儀多處于戶外的特性,需要安全與長(zhǎng)期可靠的電源連接來為之提供源源不斷的電力供應(yīng)。DH系
    的頭像 發(fā)表于 01-10 08:13 ?353次閱讀
    DH系列工業(yè)級(jí)連接器讓<b class='flag-5'>空氣質(zhì)量</b>檢測(cè)儀電源連接超穩(wěn)

    空氣質(zhì)量在線監(jiān)測(cè)儀AirQ上線

    的兒童深受其害。AirQAirQ是一款一體化低功耗空氣質(zhì)量監(jiān)測(cè)裝置,旨在為用戶提供全面的空氣質(zhì)量監(jiān)測(cè)解決方案。它內(nèi)置多功能的空氣質(zhì)量傳感器SEN55和二氧化碳傳感器
    的頭像 發(fā)表于 01-06 08:29 ?522次閱讀
    <b class='flag-5'>空氣質(zhì)量</b>在線監(jiān)測(cè)儀AirQ上線

    帶有RS485信號(hào)輸出的熱式空氣質(zhì)量流量計(jì)有什么特別的功能?

    帶有RS485信號(hào)輸出的熱式空氣質(zhì)量流量計(jì)有什么特別的功能? 帶有RS485信號(hào)輸出的熱式空氣質(zhì)量流量計(jì)在空氣測(cè)量和流量監(jiān)控方面具有許多特別的功能。RS485信號(hào)輸出使得流量計(jì)可以與其
    的頭像 發(fā)表于 12-19 09:49 ?550次閱讀

    熱式空氣質(zhì)量流量計(jì)的輸出信號(hào)解析與應(yīng)用

    熱式空氣質(zhì)量流量計(jì)的輸出信號(hào)解析與應(yīng)用 熱式空氣質(zhì)量流量計(jì)是一種常見的流量計(jì),廣泛應(yīng)用于工業(yè)與實(shí)驗(yàn)室測(cè)量中。它基于傳熱機(jī)制,通過測(cè)量流體中的熱傳導(dǎo)來計(jì)算流量。本文將詳細(xì)介紹熱式空氣質(zhì)量
    的頭像 發(fā)表于 12-19 09:38 ?824次閱讀

    Orange Pi OS(OH)發(fā)布,開源鴻蒙PC端來了!

    了Orange Pi OS(OH)對(duì)PC的初步適配,這是國(guó)內(nèi)首次將開源鴻蒙操作系統(tǒng)運(yùn)行在PC設(shè)備,意味著迅龍軟件將領(lǐng)先于華為、深開鴻等,在
    發(fā)表于 10-26 11:32

    Sensirion和AirTeq合作推出新型室內(nèi)空氣質(zhì)量監(jiān)測(cè)儀AirCheq Pro

    Sensirion和AirTeq自豪地宣布合作推出室內(nèi)空氣質(zhì)量監(jiān)測(cè)儀AirCheq Pro系列。此次合作將Sensirion環(huán)境傳感器的精度和質(zhì)量與AirTeq為商業(yè)和住宅環(huán)境提供卓越室內(nèi)空氣質(zhì)量解決方案的承諾相結(jié)合。
    的頭像 發(fā)表于 10-09 17:46 ?847次閱讀