zoukankan      html  css  js  c++  java
  • 【Raspberry Pi】webpy+mysql+GPIO 实现手机控制

    1、mysql

    http://dev.mysql.com/doc/refman/5.5/en/index.html

    安装

    sudo apt-get install update

    sudo apt-get install mysql-server-5.5 mysql-client-5.5

    2、安装web.py

    sudo apt-get install python-pip

    sudo pip install web.py

    html模板

    $def with(todos)
        $if todos=='me':
            <html>
            <body>
            <h1>My test</h1>
            <p>Hello World</p>
            <hr />
            <form name='input' action="www.baidu.com" method="get">
            <input type="text" name="user">
            <input type="submit" value="sub_mit">
            </form>
            </body>
            </html>
        $else:
            <html>
            <body>
            <ul heigh="">
            $for word in todos:
                <li id="$word.id">$word.title</li>
            </ul>
            <hr />
            <form method="post" action="add">
            <input type="text" name="title"/>
            <input type="submit" value="Add" />
            </form>
            <hr />
            <h1>control LED</h1>
            <form method="post" action="led">
            <input type="radio" name='open_close' value="1" /> OPEN LED
            <br />
            <br />
            <br />
            <input type="radio" name='open_close' value="0" /> CLOSE LED
            <br />
            <br />
            <br />
            <input type="submit" value="submit" />
            </form>
            </body>
            </html>

    主程序

    # -*- coding: utf-8 -*-
    """
    Created on Sat Jan 25 03:08:25 2014
    
    @author: pi
    """
    
    import web
    import RPi.GPIO as gpio
    
    gpio.setwarnings(False)
    gpio.setmode(gpio.BOARD)
    gpio.setup(7,gpio.OUT)
    gpio.setup(11,gpio.OUT)
    
    gpio.output(7,gpio.HIGH)
    gpio.output(11,gpio.HIGH)
    
    render=web.template.render('templates/')
    
    urls = (
    '/','index',
    '/add','add',
    '/led','led'
    )
    
    app = web.application(urls,globals())
    
    db=web.database(dbn='mysql',user='root',pw='******',db='myweb')
    
    class index:
        def GET(self):
            todos=db.select('todo')
            return render.index(todos)
            
    class add:
        def POST(self):
            i=web.input()
            if i.title=='open':
                gpio.output(7,gpio.LOW)
            elif i.title=="close":
                gpio.output(7,gpio.HIGH)
    
            db.insert('todo',title=i.title)
            raise web.seeother('/')
    
    class led:
        def POST(self):
            i=web.input()
            if i.open_close=="1":
                gpio.output(11,gpio.LOW)
            if i.open_close=="0":
                gpio.output(11,gpio.HIGH)
            raise web.seeother("/")    
            
    if __name__=="__main__":
        app.run()
        
  • 相关阅读:
    【GO】GO开发环境安装及VS Code配置
    【计算机组成原理】第一章 计算机系统概论
    oracle 12.2新特性:sqlplus history
    取消交互式创建linux用户密码
    undo表空间收缩
    如何对undo表空间大小进行设置
    查看数据库实际使用多大内存
    Oracle 12.2Cgrid脚本安装失败软件完全删除
    有关rman备份ora-27192和ora-19511错误
    数据库altert日志中的GTX提示
  • 原文地址:https://www.cnblogs.com/colipso/p/3533412.html
Copyright © 2011-2022 走看看