精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用Raspberry Pi構建一個智能車庫開門器

科技觀察員 ? 來源:circuitdigest ? 作者:Rishabh Jain ? 2022-09-07 15:54 ? 次閱讀

在本教程中,我們將使用 Raspberry Pi 構建一個智能車庫開門器。這里將創建一個Raspberry Pi Web 服務器,以使用您的智能手機打開和關閉車庫門。

所需組件

安裝了 Raspbian 的樹莓派

繼電器模塊

連接電線

假設您的 Raspberry Pi 已刷入操作系統并能夠連接到 Internet。如果沒有,請 在繼續之前遵循Raspberry Pi 入門教程。這里我們使用 Rasbian Jessie 安裝 Raspberry Pi 3。

在這里,使用 HDMI 電纜的外部顯示器用作與 Raspberry Pi 連接的顯示器。如果您沒有顯示器,您可以使用 SSH 客戶端(Putty)或 VNC 服務器使用筆記本電腦或計算機連接到樹莓派。在此處了解有關無頭設置 Raspberry Pi 的更多信息

電路原理

pYYBAGMYTfiAN0QyAAD9ws9nxmk903.png

將車庫門開啟機構連接到繼電器的輸出端。在這里,為了演示目的,我們剛剛連接了一個帶繼電器的 LED

pYYBAGMYTfOAWMGLAASHt1Fi9Fo986.png

Raspberry Pi 中用于控制車庫門的 Flask 設置

在這里,我們使用 Flask創建了一個 Web 服務器,它提供了一種 將命令從網頁發送到 Raspberry Pi 以通過網絡控制機器人的方法。Flask 允許我們通過網頁運行我們的 python 腳本,我們可以從 Raspberry Pi 向網絡瀏覽器發送和接收數據,反之亦然。 Flask 是 Python 的微框架。這個工具是基于 Unicode 的,具有內置的開發服務器和調試器、集成的單元測試支持、對安全 cookie 的支持及其易于使用,這些東西使它對業余愛好者很有用。

運行以下命令在您的 Raspberry Pi 中安裝燒瓶:

sudo apt-get 更新

sudo apt-get install python-pip python-flask

現在,運行 pip 命令來安裝 Flask 及其依賴項:

sudo pip 安裝燒瓶

poYBAGMYTfCAEWoAAAG2CxYxbDo157.png

您可以在此處了解有關 使用 Flask 編程的更多信息,還可以查看我們之前的項目,其中我們使用 Flask通過 webserver 控制機器人, 將消息從網頁發送到 Raspberry Pi , 并將重量值發送到 Smart Container 中的 Raspberry Pi。

現在,我們將為我們的車庫門 Web 服務器編寫一個 Python 腳本。

為智能車庫門開啟器創建 Python 腳本

該腳本將與我們的 Raspberry Pi GPIO 交互并設置 Web 服務器。所以,這是我們應用程序的核心腳本。最后給出了完整的開門器Python腳本,這里我們解釋了它的幾個部分。

首先,制作一個文件夾。所有其他必需的文件夾應僅在此文件夾中。運行以下命令以創建文件夾并在此文件夾內創建名為app.py的 python 文件。

mkdirgarage_door 
cdgarage_door 
nano app.py

這將打開 Nano 編輯器,我們必須在其中編寫腳本。

首先包括重要的庫。

從燒瓶導入 RPi.GPIO 作為 GPIO
導入 Flask, render_template, request 
app = Flask(__name__, static_url_path='/static')

現在,創建一個字典作為引腳來存儲引腳編號、名稱和引腳狀態。您可以根據需要使用多個引腳。

pin = { 
   14 : {'name' : '車庫門', 'state' : GPIO.LOW} 
   }

然后,將引腳設置為輸出并最初將其設為低電平。

?對于引??腳中的引腳:
   GPIO.setup(引腳,GPIO.OUT)
   GPIO.輸出(引腳,GPIO.LOW)

現在,創建一個 main 函數來讀取引腳狀態并將此狀態存儲在一個變量中。

@app.route("/") 
def main(): 
   for pin in pin: 
      pins[pin]['state'] = GPIO.input(pin) 
..

我們必須將此數據傳遞給我們的 html 頁面,以便我們可以控制輸入按鈕的狀態。

   return render_template('main.html', **templateData)

現在,創建一個函數來處理來自 URL 的請求,其中包含 pin 號和操作。

@app.route("http://", methods=['GET', 'POST']) 
def action(changePin, action):

將來自 URL 的 pin 轉換為整數。

   changePin = int(changePin)

如果 URL 的操作部分是“打開”,則執行以下操作。

   if action == "open": 
      GPIO.output(changePin, GPIO.HIGH) 
   if action == "close": 
      GPIO.output(changePin, GPIO.LOW)

您可以從本教程的末尾復制完整的腳本并使用 ctrl+x 保存它,然后按 Enter。我們已經完成了 python 腳本。現在,我們必須制作一個 HTML 頁面來與 python 腳本交互。

為 Raspberry Pi Webserver 創建 HTML 頁面

在同一個garage_door文件夾中,創建另一個名為templates的文件夾,并在該文件夾中使用以下命令創建一個.html 文件。

pYYBAGMYTemAY8sSAAAmGqAS9WA150.png

在nano文本編輯器中,編寫 html 代碼。您可以編輯頁面的

部分并根據您的選擇設置樣式。我剛剛使用了使用鏈接標簽的第三方 css 方案。完整的 HTML 代碼如下:
poYBAGMYUCSAFDSRAACNFBWxHMM937.png

這里重要的部分是創建一個按鈕來打開和關閉門,并為打開和關閉按鈕分配一個狀態。該按鈕將從 python 腳本發送和獲取 GPIO 狀態。

您可以在編輯器中使用上面給出的 HTML 代碼并保存它。現在 Web 服務器已準備好啟動。

打開終端并導航到garage_door文件夾并運行以下命令

須藤蟒蛇app.py
poYBAGMYTeOAHXbcAAFP5FZ-epg436.png

打開瀏覽器并輸入您的樹莓派 IP 地址并回車。要查找您的 IP 地址,您可以在終端中運行以下命令。

主機名 -I

你會看到這樣的頁面。

poYBAGMYTeCAOj0wAABi9Exhqd8256.png

確保繼電器模塊連接到樹莓派。按打開按鈕打開繼電器或打開車庫門。您還可以查看繼電器的狀態。一旦您打開繼電器,按鈕文本將更改為關閉以關閉繼電器。現在,當您再次單擊按鈕時,繼電器將關閉,按鈕文本將再次更改為打開。

要停止服務器,請按 ctrl+c 。

因此,只需將此繼電器連接到市場上現成的一些開門器機構,然后開始使用智能手機控制車庫門。
從燒瓶導入 RPi.GPIO 作為 GPIO

導入 Flask,render_template,請求

app = Flask(__name__, static_url_path='/static')

GPIO.setmode(GPIO.BCM)

引腳 = {

14 : {'name' : '車庫門', 'state' : GPIO.LOW}

}

用于引腳中的引腳:

GPIO.setup(pin, GPIO.OUT)

GPIO.output(pin, GPIO.LOW)


@app.route("/")

def main():

for pin in pins:

pins[pin]['state'] = GPIO.input(pin)

templateData = {

'pins' : pins

}

return render_template('main. html', **templateData)

@app.route("http://", methods=['GET', 'POST'])

def action(changePin, action):

changePin = int(changePin)

deviceName = pin[changePin]['name']

if action == "open":

GPIO.output(changePin, GPIO.HIGH)

if action == "close":

GPIO.output(changePin, GPIO.LOW)

for pin in pins :

引腳[pin]['state'] = GPIO。輸入(引腳)

模板數據 = {

“引腳”:引腳

}

return render_template('main.html', **templateData)

if __name__ == "__main__":

app.run(host='0.0.0.0', port=80, debug=True)

GPIO.cleanup()

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2903

    文章

    44262

    瀏覽量

    371213
  • 智能車庫
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7345
收藏 人收藏

    評論

    相關推薦

    如何使用Raspberry Pi3和藍牙構建遙控汽車

    今天我們將使用Raspberry Pi 3和藍牙構建遙控汽車,在這里我們將使用智能手機作為遙控來控制汽車。
    的頭像 發表于 11-21 17:14 ?2462次閱讀
    如何使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>3和藍牙<b class='flag-5'>構建</b>遙控汽車

    【創想未來】智能車庫

    項目名稱: 智能車庫團隊名稱:創想未來團隊成員:王飛林 黃猛 侯奇作品演示作品介紹當今社會的快速發展,汽車的需求量快速增加,隨之而來的是智能車庫的誕生與發展,但是人們只局限于對大型公共車庫和地下
    發表于 01-07 12:12

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】智能車庫

    項目名稱:智能車庫門試用計劃:智能車庫門主要功能如下:1、驅動24V電機實現快速開關車庫門,并且在此過程中使用多圈絕對值編碼定位車庫門當前
    發表于 09-25 10:04

    怎樣去設計種基于HC-SR04模塊的智能車庫控制系統

    如何利用超聲波測距來實現智能車報警的功能呢?怎樣去設計種基于HC-SR04模塊的智能車庫控制系統?
    發表于 10-18 09:31

    Raspberry Pi擴展板

    描述clumsyMIDI - 樹莓派擴展板 Raspberry Pi 擴展板,包含 MI
    發表于 07-29 06:12

    微雪電子 Raspberry Pi Zero WH智能車介紹

    樹莓派Zero WH 二代智能車 人工智能機器人 套件 專為Raspberry Pi Zero WH設計的智能車可以實現避障、超聲波測距、
    的頭像 發表于 11-19 15:22 ?1877次閱讀
    微雪電子 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Zero WH<b class='flag-5'>智能車</b>介紹

    構建Raspberry Pi電機驅動HAT的教程分享

    本教程中,我們將構建Raspberry Pi 電機驅動 HAT來驅動直流和步進電機。此電機
    發表于 08-05 16:20 ?1415次閱讀
    <b class='flag-5'>構建</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>電機驅動<b class='flag-5'>器</b>HAT的教程分享

    使用Raspberry Pi構建OpenCV人群計數裝置

    在本教程中,我們將使用 Raspberry Pi 和 ThingSpeak 構建 OpenCV 人群計數。
    的頭像 發表于 08-12 17:24 ?2919次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>OpenCV人群計數裝置

    構建基于Raspberry Pi的藍牙揚聲

     在這篇文章中,我們將通過融合 A2DP、Linux 和音頻編解碼的強大功能來構建基于 Raspberry Pi 的藍牙揚聲,以將數據包
    發表于 08-31 16:22 ?1982次閱讀
    <b class='flag-5'>構建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的藍牙揚聲<b class='flag-5'>器</b>

    使用Raspberry Pi構建水位傳感

    電子發燒友網站提供《使用Raspberry Pi構建水位傳感.zip》資料免費下載
    發表于 10-28 16:08 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b>水位傳感<b class='flag-5'>器</b>

    構建自己的Raspberry Pi ALPR停車系統

    電子發燒友網站提供《構建自己的Raspberry Pi ALPR停車系統.zip》資料免費下載
    發表于 11-08 11:14 ?0次下載
    <b class='flag-5'>構建</b>自己的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> ALPR停車系統

    Raspberry Pi Zero便攜終端的構建

    電子發燒友網站提供《Raspberry Pi Zero便攜終端的構建.zip》資料免費下載
    發表于 01-05 10:43 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Zero便攜終端的<b class='flag-5'>構建</b>

    尋找實用的Raspberry Pi項目? 制作智能傘架!

    本教程將分步指導您如何制作智能傘架。這是我最喜歡的Raspberry Pi 項目之
    的頭像 發表于 02-24 17:22 ?949次閱讀
    尋找實用的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>項目? 制作<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>智能</b>傘架!

    我的第一個智能車庫構建

    電子發燒友網站提供《我的第一個智能車庫構建.zip》資料免費下載
    發表于 07-12 10:03 ?0次下載
    我的第<b class='flag-5'>一個</b><b class='flag-5'>智能車庫</b><b class='flag-5'>構建</b>

    ESP32-C3+智能車庫門應用方案 小尺寸低功耗

    以前的車庫門Opener只能通過墻壁開關或者遙控來控制開啟或關閉,超過定距離的話無法通過遙控來操控車庫門,也無法隨時查看
    的頭像 發表于 03-27 08:03 ?566次閱讀
    ESP32-C3+<b class='flag-5'>智能車庫</b>門應用方案  小尺寸低功耗