我刚吃了一片覆盆子,一直很享受。我正在尝试开始使用一些简单的教程并遇到问题。教程是这样的:
http://www.rpiblog.com/2012/09/using-gpio-of-raspberry-pi-to-blink-led.html。但是,当我尝试运行代码时,我得到了错误
Traceback(最近一次调用最后一次):文件 “/home/pi/Desktop/BlinkgLed.py”,第13行,in GPIO.setup(11,GPIO.OUT)RuntimeError:无法访问/ dev / mem。尝试以root身份运行!
我正在运行的代码是
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
GPIO.output(pin,GPIO.HIGH)
time.sleep(1)
GPIO.output(pin,GPIO.LOW)
time.sleep(1)
return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
blink(11)
GPIO.cleanup()
我试过这个
sudo python
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
GPIO.output(pin,GPIO.HIGH)
time.sleep(1)
GPIO.output(pin,GPIO.LOW)
time.sleep(1)
return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
blink(11)
GPIO.cleanup()
现在我收到了错误
Invalid Syntax
我也试过这个
sudo idle3
我得到了这个
客户端无权连接到ServerTraceback(最新版本 最后调用):文件“/ usr / bin / idle3”,第5行,in main()文件“/usr/lib/python3.2/idlelib/PyShell.py”,第1405行,主要 root = Tk(className =“Idle”)文件“/usr/lib/python3.2/tkinter/init.py”,第1701行, init self.tk = _tkinter.create(screenName,baseName,className,interactive,wantobjects,useTk,sync,use)_tkinter.TclError: 无法连接显示“:1.0”
关于如何解决这些问题的任何想法?
BTW我通过本教程安装了GPIO:
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
并且能够通过代码打开和关闭led的tp。所以我认为不是问题所在。
答案 0 :(得分:1)
如果您的python代码位于test.py
中名为/home/user
的文件中,请尝试运行:
$ sudo python /home/user/test.py
(根据您的环境进行调整)。
答案 1 :(得分:0)
您需要打开终端窗口并输入...
sudo idle [Then press return]
之后,您可以返回Python窗口并编写所需的代码。
希望有所帮助。
答案 2 :(得分:0)
以下bash脚本是关于通过使用三个输入变量分别表示小时,分钟和秒的量来根据用户定义的时间闪烁GPIO2。
#!/bin/bash
cd /sys/class/gpio
echo 2 > export
cd gpio2
echo out > direction
echo 0 > value
echo -n "enter hour : "
read hour
echo -n "enter minute : "
read min
echo 1 > value
for ((i=0;i<$min;i++))
do
sleep 1m
done
for ((i=0;i<$hour;i++))
do
sleep 1h
done
cd /sys/class/gpio
cd gpio2
echo 0 > value