hey
ik ben nieuw op dit forum ik zit namelijk met een probleem
ik heb een python script welke er voor zorg dat ik in/uitgangen kan schakelen via een app.
het probleem is alleen zodra ik het script start en verbinding maak werkt alles perfect,
wanneer ik de app. afsluit stopt het script ook!
en hij moet natuurlijk blijven werken
is er iemand die mij kan vertellen wat ik verkeert doe
ps: script is niet helemaal door mijn gemaakt, heb alleen wat dingen toegevoegd
#! /usr/bin/python
# Echo server program
import socket
import RPi.GPIO as GPIO
#####################################################################
#### SETUP IOs ######################################################
#####################################################################
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BCM)
# For LED1 we use pin 4 according BCM pin count
# (see
https://projects.drogon.net/raspberry-pi/wiringpi/pins/)
LED1 = 4
LED2 = 17
LED3 = 2
LED4 = 22
LED5 = 10
LED6 = 9
LED7 = 11
LED8 = 18
# For Switch input we use pin 17 according BCM pin count
SWITCH1 = 25
# set up GPIO output channel
GPIO.setup(LED1, GPIO.OUT)
GPIO.setup(LED2, GPIO.OUT)
GPIO.setup(LED3, GPIO.OUT)
GPIO.setup(LED4, GPIO.OUT)
GPIO.setup(LED5, GPIO.OUT)
GPIO.setup(LED6, GPIO.OUT)
GPIO.setup(LED7, GPIO.OUT)
GPIO.setup(LED8, GPIO.OUT)
# set up GPIO input with pull-up control
# (pull_up_down be PUD_OFF, PUD_UP or PUD_DOWN, default PUD_OFF)
GPIO.setup(SWITCH1, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#####################################################################
#### SETUP SOCKET INTERFASE #########################################
#####################################################################
HOST = '' # Symbolic name meaning the local host
PORT = 54321 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
#####################################################################
#### Continous loop, that waits for new data and acts depending ####
#### on data content on it ####
#####################################################################
while 1:
data = conn.recv(1024)
print 'New Receive', data
if not data: break
print 'Received Data:', data
if data == 'LED1 on\n':
conn.send('on')
GPIO.output(LED1, GPIO.HIGH)
print 'On empfangen'
if data == 'LED2 on\n':
conn.send('on')
GPIO.output(LED2, GPIO.HIGH)
print 'On empfangen'
if data == 'LED3 on\n':
conn.send('on')
GPIO.output(LED3, GPIO.HIGH)
print 'On empfangen'
if data == 'LED4 on\n':
conn.send('on')
GPIO.output(LED4, GPIO.HIGH)
print 'On empfangen'
if data == 'LED5 on\n':
conn.send('on')
GPIO.output(LED5, GPIO.HIGH)
print 'On empfangen'
if data == 'LED6 on\n':
conn.send('on')
GPIO.output(LED6, GPIO.HIGH)
print 'On empfangen'
if data == 'LED7 on\n':
conn.send('on')
GPIO.output(LED7, GPIO.HIGH)
print 'On empfangen'
if data == 'LED8 on\n':
conn.send('on')
GPIO.output(LED8, GPIO.HIGH)
print 'On empfangen'
elif data == 'LED1 off\n':
conn.send('off')
GPIO.output(LED1, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED2 off\n':
conn.send('off')
GPIO.output(LED2, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED3 off\n':
conn.send('off')
GPIO.output(LED3, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED4 off\n':
conn.send('off')
GPIO.output(LED4, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED5 off\n':
conn.send('off')
GPIO.output(LED5, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED6 off\n':
conn.send('off')
GPIO.output(LED6, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED7 off\n':
conn.send('off')
GPIO.output(LED7, GPIO.LOW)
print 'Off empfangen'
elif data == 'LED8 off\n':
conn.send('off')
GPIO.output(LED8, GPIO.LOW)
print 'Off empfangen'
elif data == 'get status\n':
print 'Input Status:', GPIO.input(SWITCH1)
if GPIO.input(SWITCH1):
conn.send('off') # inverted logic here: pullup force to true with open switch
print 'Read GIOP 0 result On'
else:
conn.send('on') # inverted logic here: Switch switchs to ground -> false
print 'Read GIOP 0 result Off'
# ende if
else:
conn.send('unknown command')
print 'Unknown command:', data
# continue with while 1
conn.close()