1.概述
在局域網內,基於flask搭建web服務,從而可以使用移動客戶端訪問該web服務。由於是flask新手,所以本次實現的web服務功能較為簡單,即控制LED燈的開/關及閃爍。
2.准備工作
2.1安裝GPIO(通用輸入輸出接口)
首先從命令行以root身份啟動python的交互式解釋器(raspberry-gpio-python需要root權限以操作GPIO,因此需要sudo命令啟動python的交互式解釋器)。

使用如下命令導入GPIO模塊:
import RPi.GPIO as GPIO
若導入GPIO時出錯,可以使用軟件包管理器apt-get命令安裝這個模塊。以下步驟假設系統中沒有安裝raspberry-gpio-python:
a)推出python解釋器(ctl+c)
b)更新apt-get軟件包列表,然后安裝raspberry-gpio-python包:
sudo apt-get update sudo apt-get install python-rbi.gpio
安裝完成后,再次執行下述命令導入GPIO模塊:
sudo python import RPi.GPIO as GPIO
2.2安裝flask
Flask是Python版的Web架構,通過它可以把Raspberry Pi變為一個Web服務器,相當於輕量級的IIS。安裝Flask前,需要先安裝pip。
sudo apt-get install python-pip
之后,就可以用它來安裝Flask和相關的依賴包。
sudo pip install flask
2.3連接LED與raspberry Pi
將LED燈與樹莓派板子上的GPIO 25號接口及代表地的接口相連。

注意:由於版本不同,並被所有樹莓派板子的GPIO接口都是這樣,請自行百度。
3編碼
1.新建app.py文件,輸入以下內容:

2.在同級目錄下新建templates目錄,目錄下新建mail.html,內容如下:
<!Document html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- 可選的Bootstrap主題文件(一般不用引入) -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<style>
a {
width:100%
}
</style>
<head>
<title>LED燈開關</title>
</head>
<body>
<div class="container-fluid">
<div class="row">
<a href="/on" class="btn btn-success btn-lg" role="butoon">開</a>
</div>
</br>
<div class="row">
<a href="/off" class="btn btn btn-info btn-lg" role="button">關</a>
</div>
</br>
<div class="row">
<a href="/shining" class="btn btn-danger btn-lg" role="button">閃爍</a>
</div>
</div>
<!-- jQuery文件。務必在bootstrap.min.js 之前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
現在 ,讓我們滿懷激動的在瀏覽器中輸入樹莓派的ip,查看下效果吧。

author: liuq<t
