Bygga en distans aktiverat sprinkler med hjälp av PiFace och Ubidots (12 / 13 steg)
Steg 12: Kodning din Raspberry Pi
Antar vi du ha en fungerande Raspberry Pi som i ansluten till Internet. Om inte, kontrollera detta blogginlägg om hur du konfigurerar WiFi i Raspberry Pi. Sedan logga in genom en terminal i din Raspberry Pi och ställa upp modulen SPI att kommunicera med PiFace Digital:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Lägga till ett "#" tecken före raden spi-bcm2708 och tryck på CTRL-X, skriv Y och retur. Detta gör att SPI från boot. Nu låt oss installera och setup PiFace digitala biblioteket:
sudo apt-get updatesudo lämplig-få installera python3-pifacedigitalio python-pifacedigitalio
Starta om din Pi:
sudo omstart
Stor! Vi är redo att börja kodifiera vårt projekt. Skapa en ny fil som heter "valve.py" (genom att skriva "nano valve.py") och klistra in följande kod i den:
import pifacedigitalio #Library för pifacedigitalio från ubidots import ApiClient #Library för Ubidots
pifacedigital = pifacedigitalio. PiFaceDigital() #Declare piface objekt
försök:
API: t = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") # Glöm inte att sätta din egen Apikey
ventil = api.get_variable('53cd4cb07625425b70f5c21e') #Put här din ventil ID
valveState = api.get_variable("53ce95547625420403d81468") #Put här din verklig stat ID
utom:
skriva ut ("kan inte ansluta") #Check din Apikey, variabelns ID och internet connectionwhile(True):
lastValue = valve.get_values(1) #Get det sista värdet av ventilen från Ubidots
relevanta = pifacedigital.relays[0].value #Save relä staten
valveState.save_value ({"värde": rele}) #Send relä staten till Ubidots
för en i lastValue:
skriva ut en ["värde"]
IF(a['value']): #Turn på eller av stafett
pifacedigital.output_pins[0].turn_on()
annat:
pifacedigital.output_pins[0].turn_off()