做过一些物联网的作品;因为不想一直做APP来控制,因为不能每个人都去下载你自己做的APP,浏览器大家都是有的;那么每个人通过浏览器WEB来访问我们服务器,岂不是很简单和方便,采用flask+python。
Flask是一个使用 Python 编写的轻量级 Web 应用框架,操作简单,上手容易。
安装FLask:
sudo apt-get install python-pip
sudo pip install flask

然后一个简单的服务器就安装好了,都存在我们的树莓派下,估计大家要写几个程序,那么:
mkdir flask && cd flask
mkdir read_gpio && cd read_gpio

sudo nano hello-gpio.py

from flask import Flask, render_template
import datetime#导入系统时间
import RPi.GPIO as GPIO #导入GPIO
app = Flask(__name__) GPIO.setmode(GPIO.BCM)#设置GPIO模式为BCM @app.route("/")
def readPin():
now = datetime.datetime.now()#抓取时间
timeString = now.strftime("%Y-%m-%d %H:%M:%S")#抓取系统时间函数到timeString
try:
GPIO.setup(20, GPIO.IN)#读取BCM_gpio_20
if GPIO.input(20) == True:
response = "BCM_gpio_20 is high!"
else:
response = "BCM_gpio_20 is low!"
except:
response = "There was an error reading pin" templateData = {
'time': timeString
'title' : 'Status of Pin' + pin,
'response' : response
} return render_template('read_pin.html', **templateData)#把templates送到read_pin.html if __name__ == "__main__":
app.run(host='0.0.0.0', port=80, debug=True)

sudo nano read_pin.html

<!DOCTYPE html>
<head>
<title>{{ title }}</title>
</head> <body>
<h1>Pin Status</h1>
<h2>{{ response }}</h2>
<h2>{{ time }}</h2>
</body>
</html>

注意:html文件要在.py同行目录下新建子目录文件夹templates,不然找不到template会报错;
格式如下:
 read_gpio(文件夹)--
          ---hello-gpio.py
          ---templates(文件夹)
             ---read_pin.html
  
然后一个读取GPIO状态的就建好了,我们读的是BCM_gpio_20,可以修改;
然后在浏览器访问你树莓派的IP地址 ifconfig
在你的不管手机还是Pc只要和你的树莓派在同一局域网下都可以访问你的网页;读取树莓派系统时间和GPIO状态。game_over,看一下状态。


最后再说一点吧:可能大家也想不能实时观看我们的网页,只是一个网页状态;可以不停点刷新网页去get数据,不太人性化,那么就设置网页刷新时间就好了;根据浏览器来选择,博主用的火狐。在树莓派上名字是iceweasel
安装方式是sudo apt-get install iceweasel;
安装好后;然后选择插件 Reladevery 安装; 重启浏览器;在你想要的网页右击 relad_every 自定时间,最短一秒,看到读取效果还可以。科科

下篇介绍网页控制GPIO

树莓派安装FLASK服务;并在端网页读取 GPIO状态和系统时间的更多相关文章

  1. 树莓派安装DNSMASQ服务

    功能: DNSMASQ是一款高性能的.小型的DNS服务器软件. * 缓存域名.IP地址,本地缓存解析的地址. * DHCP服务 1.安装 sudo apt-get update sudo apt-ge ...

  2. 树莓派安装samba服务

    1.安装 sudo apt-get update sudo apt-get install samba sudo apt-get install samba-common-bin 2.配置 sudo ...

  3. 树莓派进阶之路 (016) - 通过595驱动4位LED显示系统时间

    模块图片,4位共阳极数码管. 我们使用树莓派wiringPi的库来通过74HC595驱动4位数码管: C 代码如下: #include <wiringPi.h> #include < ...

  4. Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  5. Centos安装vncserver服务

    vnc是一款Windows远程桌面软件,其优点是支持跨操作系统的远程图形化控制.下面开始记录第一次安装vnc服务的过程. 1.先检查系统是否有安装VNC服务 [root@localhost ~]# [ ...

  6. RedHat下安装Telnet服务端及客户端远程连接配置

    Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力. 配置之前请确保网络连通,如防火墙影响连接,请先关 ...

  7. 编译安装rabbitmq服务端

    有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装   总括: 需要以下步骤:   1.安装erlange.因为 ...

  8. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  9. centos 7安装vnc服务端&vnc客户端连接

    前言 工作需求,需要用到vnc,介绍一下相关内容. 安装vnc服务端 在执行其他相关的之前,需要先安装一下vnc的服务端,命令如下: yum install tigervnc-server 配置vnc ...

随机推荐

  1. H5学习第四周

    本周.我们结束了HTML标签和css样式部分,开始了JS的学习.JS是的内容和css,html基本上没有什么联系而且它比较需要逻辑思考能力,所以要从新开始学习. 使用js的三种方式: 1.html标签 ...

  2. 对MySQL数据量日益增长产生的一点小想法

    最近一直在想一个问题 MySQL数据量日益庞大,目前单表总记录数有 300W+,导致sql语句执行的速度变慢,如果一直这样增长下去,总有一天会爆炸的.怎么办??怎么办?? 第一:想到的必然是 添加索引 ...

  3. 概率检索模型及BM25

    概率排序原理 以往的向量空间模型是将query和文档使用向量表示然后计算其内容相似性来进行相关性估计的,而概率检索模型是一种直接对用户需求进行相关性的建模方法,一个query进来,将所有的文档分为两类 ...

  4. iOS WebView你需要的问题答案

    一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFr ...

  5. 【转载】stm32的GPIO八种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...

  6. Linux密码保护

    在之前写了Linux密码破解的方法,虽然这样对于忘记密码时很方便,但同时别人也可以很轻易的破解你的Liunx虚拟机,安全问题存在隐患. 下面给出一些Liunx密码的安全防护操作: 1.防止破解root ...

  7. 热爱H5

    我不去想是否能够功成名就既然选择了前端便只顾埋头于无声 我不去想能否赢得掌声既然钟情于IT就勇敢得踏步前行 我不去想前行的路上会不会日暮穷途既然目标是未来留给现在的只能是汗水 我不去想所谓的成功是不是 ...

  8. linux基础 作业篇

    1.自动部署反向代理 web nfs #!/usr/bin/python #-*- coding:utf-8 -*- #开发脚本自动部署及监控 #1.编写脚本自动部署反向代理.web.nfs: #!/ ...

  9. js基本语法汇总

    1.分类 ECMAScript js基本语法与标准 DOM Document Object Model文档对象模型 BOM Browser Object Model浏览器对象模型 tips:DOM和B ...

  10. poj2104 Kth-Number

    Description You are working for Macrohard company in data structures department. After failing your ...