Remote-Pio Demo

樹莓派開關控制-2

本文示範 remote-Pio 藉由網頁介面遙控 Raspberry Pi® GPIO 腳位並驅動外部繼電器。在前一篇完成電路接線後,即可開機進入 Raspbian 系統進行軟體設定以及測試,首先自 Github 下載 remote-Pio 專案,remote-Pio 提供以下三項實做:

  1. gpio.py 可於 command line 下操作 GPIO pins
  2. 提供 Web API 存取 GPIO pins
  3. 提供 Web UI 供使用者控制 GPO pins

由於 remote-Pio 使用 Python Flask 設計 Web API/UI 須先安裝 Flask ,安裝完 Flask 後執行 gpioapi.py

$ pip install Flask

$ python gpioapi.py

此時會在 Raspberry pi 執行 web server 測試環境,可此用平板或手機以 WiFi 連線到 Raspberry pi 的 Port 5000 (http://raspberrypi-ip:5000/)即可操作 Web UI 介面,透過點選畫面中的按鈕即可控制 Raspberry Pi GPO 針腳輸出電壓,進而切換繼電器開關。

remote-Pio Demo

實際上 Web UI 透過 gpo.js 存取存取 API:

GET  /gpio/          - get data {pin: value}

POST /gpio/{pin} - post data {cmd: on|off}

當按鈕被點擊時觸發 click 事件並執行對應的處理函數 set_gpio(),該函數判別按鈕所對應的 pin number 以及狀態,接著以 ajax 方法存取 API,Flask 提供 app.route() decorator 對應 request 與處理函數,因此對於  /gpio/{pin} 的 GET 或是 POST 請求都會對應到 gpio(pin),gpio(pin) 收到 request 後透過 sudo 以 root 權限呼叫 gpio.py 調用 RPi.GPIO 執行開關切換動作,因此可實現遠端遙控 Raspberry Pi 以及繼電器。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Scroll to top