2017-03-21 21 views
0

私は起動時にバックグラウンドで私のpythonスクリプトを実行しようとしています。これは私のコードを実行したいときに私のためにすべての時間を使用するが、今は動作していないようです。私はNO NOBSを実行していると思う。スタートアップ時にラズベリーパイのpython

sudo nano /etc/rc.local 

#!/bin/sh -e 

sudo python /home/pi/Firebase.py & 


exit 0 

Firebase.py

from firebase import firebase 
import RPi.GPIO as GPIO 
import time 

firebase = firebase.FirebaseApplication('https://raspberrypi-5c0ce.firebaseio.com/', authentication = None) 


#result = firebase.put('/light_switch','state', 'off') 

#currentState = firebase.get('/light_switch', 'state') 
#print(currentState) 



#Initialize gpio settings 
GPIO.setmode(GPIO.BCM) 
GPIO.setwarnings(False) 

#Initialize gpio board 
input1 = 26 
input2 = 19 


#setup led color with gpio setup 
GPIO.setup(input1, GPIO.OUT) 
GPIO.setup(input2, GPIO.OUT) 
#GPIO.setup(yellowLed, GPIO.OUT) 

#output actual color of led based on variableColor and 1 for tru 
while True: 
    currentState = firebase.get('/light_switch', 'state') 
#print(currentState) 
    if currentState == "on": 
     GPIO.output(input1, 1) 
     GPIO.output(input2, 1) 
    #print("on") 
    else: 
     GPIO.output(input1, 0) 
     GPIO.output(input1, 0) 
    #print("off") 
+0

NOOBSはOSではありません。それはRasbianだ。しかし、 'Firebase.py'には何が含まれているのか(なぜ' sudo'が必要なのか)は分かりません。 –

+0

私はコードを追加しましたが、コードを実行すると完全に機能します。ブート時にrc.local – codechicksrock

+0

あなたのアプリケーションの名前で、あなたがFireBaseを使用していることに気付きました。このサービスはインターネットにアクセスする必要がありますが、アクセスが遅れる可能性があるため、おそらく例外が発生し、正しく処理しなければ、その例外によって閉鎖される。 – eyllanesc

答えて

0

それが無線LANに接続することができるようにするために必要な問題ではなく、睡眠を修正しました。

#!/bin/sh -e 
# Print the IP address 
# Sleep introduced to see if Wifi acquired and IP assigned 
date >> /tmp/rc_local_b4_sleep 
sleep 15 
date >> /tmp/rc_local_after_sleep 

_IP=$(hostname -I) || true 
if [ "$_IP" ]; then 
    printf "My IP address is %s\n" "$_IP" 
fi 

/sbin/ifconfig > /tmp/network_at_boot 

python /home/pi/Firebase.py & 


exit 0 
関連する問題