Styra Arduino med python based web API (ingen php) (4 / 6 steg)
Steg 4: Integrera Pyduino med kolv
Nu när vi kontrollerat att vår krets är korrekt inställd och att vår första hemsida fungerar, det är dags att lägga till pyduino kommandon som styr vårt Arduino i kolven webbsida! Vi kommer att lägga till några python kommandon till våra tidigare hello_flask_world.py. Gå vidare och kopiera ditt hello_flask_world.py program till en ny fil som heter pyduino_website.py
från kolven importera kolv, render_template, begäran, redirect, url_for
från pyduino import *
Importera tid
app = Flask(__name__)
# initiera anslutningen till Arduino
# om din arduino kördes på en seriell port annat än ' / dev/ttyACM0 / "
# förklara: en = Arduino(serial_port='/dev/ttyXXXX')
en = Arduino()
Time.Sleep(3)
# förklara de stift vi använder
LED_PIN = 3
ANALOG_PIN = 0
# initiera digital PIN-koden som utdata
a.set_pin_mode(LED_PIN,'O')
skriva ut "Arduino initieras"
# Vi kan göra 2 olika förfrågningar på vår webbsida
# FÅ = vi bara skriva in URL:
# INLÄGGET = någon form av överföringen som en knapp
metoder = ["POST", "Få"])
def hello_world():
# variabler för mallsida (templates/index.html)
författare = "Kyle"
# om vi gör en post-begäran på webbsidan aka tryck knappen sedan göra saker
om request.method == "POST":
# om vi trycker på turn på knappen
om request.form['submit "] =="Vända på":
skriva ut "TURN ON"
# slå på LED på arduino
a.digital_write(LED_PIN,1)
# om vi trycker på Stäng av knappen
Elif request.form['submit'] == "Stänga av":
skriva ut "TURN OFF"
# Inaktivera LED på arduino
a.digital_write(LED_PIN,0)
annat:
passera
# Läs i analoga värde från fotomotstånd
readval = a.analog_read(ANALOG_PIN)
# standardsidan för att Visa kommer att vara vår mall med vår mallvariabler
återgå render_template ("index.html", författare = författare, value=100*(readval/1023.))
om __name__ == "__main__":
# kan lansera vår hemsida!
# gör 0.0.0.0 så att vi kan logga in på denna hemsida
# med en annan dator i samma nätverk senare
app.Run(Host='0.0.0.0')
Låt oss köra programmet och se vad vi får! Kolla in videon ovan för vad du förhoppningsvis ska få!