首页 > 解决方案 > 如何修复树莓派中的 IOError?

问题描述

Traceback (most recent call last):
  File "RoomCheck.py", line 4, in <module>
    from grove_rgb_lcd import *
  File "build/bdist.linux-armv7l/egg/grove_rgb_lcd.py", line 33, in <module>
...skip

会生成这些错误。

我还附上了错误捕获:

产生的错误

代码:

from flask import Flask
from flask import render_template
from grovepi import *
from grove_rgb_lcd import *
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

app = Flask(__name__)

@app.route("/read/<port>")
def readGpio(port):
    try:
        GPIO.setup(int(port), GPIO.IN)  

        if GPIO.input(int(port)) == True:
            AHour = 0
            AMin = 0
            BHour =0
            BMin = 0
            A_Check = 0  
            B_Check = 0

            if port == 4:
                if A_Check == 0:
                    A_Check = 1
                    setRGB(0,128,64) 
                    setRGB(0,255,0)
                    setText("A goes out")
                    res = "A_Check is" + A_Check +"\n" + "B_Check is" + 
                    B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
                else:
                    A_Check = 0
                    setRGB(0,128,64) 
                    setRGB(0,255,0)
                    setText("A cames in")
                    AHour = 0
                    AMin = 0
                    res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
            elif port ==17:
                AHour += 1
                if AHour > 24:
                    AHour = 0
                setRGB(0,128,64) 
                setRGB(0,255,0)
                setText("A : " + AHour + "H" + AMin + "M")
                res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
            elif port ==27:
                AMin += 5
                if AMin>60:
                    AMin = 0
                setRGB(0,128,64) 
                setRGB(0,255,0)
                setText("A : " + AHour + "H" + AMin + "M")
                res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
            elif port ==23:  
                if B_Check == 0:
                    B_Check = 1
                    setRGB(0,128,64) 
                    setRGB(0,255,0)
                    setText("B goes out")
                    res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
                else:
                    B_Check = 0
                    setRGB(0,128,64) 
                    setRGB(0,255,0)
                    setText("B cames in")
                    BHour = 0
                    BMin = 0
                    res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 
            elif port ==24:
                BHour += 1
                if BHour > 24:
                    BHour = 0
                setRGB(0,128,64) 
                setRGB(0,255,0)
                setText("B : " + BHour + "H" + BMin + "M")
                res = "A_Check is" + A_Check +"\n" + "B_Check is" +                         B_Check +"\n" + "A : " + AHour + "H" + AMin + "M"                       +"\n" + "B : " + BHour + "H" + BMin + "M" 
            elif port ==25:
                BMin += 5
                if BMin>60:
                    BMin = 0
                setRGB(0,128,64) 
                setRGB(0,255,0)
                setText("B : " + BHour + "H" + BMin + "M")
                res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M" 

    except:
        res = "Read error from GPIO " + port + "."

    templateData = {
        
        'title' : 'Check our RoomMate',
        'res' : res
    }
    return render_template('gpio.html', **templateData)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8888, debug=True)

标签: pythonraspberry-pi

解决方案


推荐阅读