Beheren van Arduino met python gebaseerd web API (geen php) (3 / 6 stap)

Stap 3: De webserver maken met python


Ik ben geen expert in web programmeren of specifieke netwerkprotocollen maar ik erin geslaagd om mijn arduino controle over het web, dus ik heb vertrouwen dat jullie allemaal kan ook! We gonna een basaal website maken en hebben onze computer de host worden. Gebaseerde API voor het beheersen van onze arduino hiervoor die wij gaan het web framework kolf gebruiken om een webpagina te maken. Ik moedig u allen te lezen door enkele voorbeelden over het gebruik van kolf, zodat u van de basisprincipes begrijpen kunt van hoe het werkt en omdat ik misschien niet de beste leraar zeer.


Wat willen wij doen?

  1. Maak een webpagina met 2 knoppen

    1. LED-knop uitschakelen
    2. Inschakelen van de LED-knop
  2. Als we hiermee u de LED schakelt willen we de waarde op onze fotoweerstand lezen en weer te geven
  3. Maken van een specifieke URL voor het draaien van onze LED aan/uit - nodig voor web API

Het maken van een dynamische webpagina die met de waarde van onze fotoweerstand bijgewerkt wanneer we de pagina die we nodig laden voor het maken van een sjabloonpagina in de kolf. Kolf gebruikt de waarde die we krijgen van onze fotoweerstand en stuur het naar onze sjabloon weer te geven. Kolf volgt automatisch de indeling van een specifieke map wanneer onze sjabloon zoekt dus burgerwacht over waar u bepaalde bestanden plaatsen. In de map die u in werkt zal u wilt maken van een map genaamd sjablonen. Daar zullen we onze sjabloonpagina. Onze sjabloon HTML-pagina ziet er zeer vergelijkbaar met een normale HTML-pagina alleen met een toegevoegde optie om de plaats van een variabele ergens. Kopieer het HTML-codefragment op deze link: http://codepen.io/theown1/pen/RNeYMg in een nieuw bestand genaamd index.html en plaats dat bestand in de map Sjablonen.

Up die de onderstaande code naar een bestand met de naam hello_flask_world.py het stukje code hieronder is onze fundamentele kolf webpage. Zijn vrij eenvoudig te begrijpen, we hoeven alleen maar een webpagina op het '/'-adres dat de home page is. De URL voor deze webpagina zullen uw IP-adres op het netwerk of de 127.0.01:5000. Wanneer iemand verbinding met onze webpagina maakt maken we net onze sjabloon hadden we eerder met een waarde die we gaan naar de uitvoer van onze fotoweerstand om later te veranderen. Als onze webpagina krijgt een POST-aanvraag aka iemand drukt op een knop op onze pagina zal dan onze server de specifieke taak af te drukken op wat er is gebeurd en omleiden u terug naar de hoofdpagina. Zoals je zou een normale python programma, kunt u dit stukje code hieronder uitvoeren. ($ python hello_world.py)

 from flask import Flask, render_template,request, redirect, url_forapp = Flask(__name__) # we are able to make 2 different requests on our webpage # GET = we just type in the url # POST = some sort of form submission like a button methods = ['POST','GET']) def hello_world(): # variables for template page (templates/index.html) author = "Kyle" readval = 10 # if we make a post request on the webpage aka press button then do stuff if request.method == 'POST': # if we press the turn on button if request.form['submit'] == 'Turn On': print 'TURN ON' # if we press the turn off button elif request.form['submit'] == 'Turn Off': print 'TURN OFF' else: pass # the default page to display will be our template with our template variables return render_template('index.html', author=author, value=100*(readval/1023.)) if __name__ == "__main__": # lets launch our webpage! # do 0.0.0.0 so that we can log into this webpage # using another computer on the same network later app.run(host='0.0.0.0') 

Wanneer u dit programma uitvoert moet je een uitvoer die lijkt op de foto hierboven. Zorg ervoor dat u aansluit op de webpagina op uw browser http://127.0.0.1:5000 / na het uitvoeren van de python script (en vieren op lopende!) Dan spelen met de knoppen en controleer of dat je krijgt notities wilt afdrukken iets in de terminal.

De map die u in werkt nu moeten al de bestanden hieronder in de bijbehorende mappen.

 ARBITRARY_WORK_FOLDER/ |-- pyduino.py # pyduino library file |-- analog_read_test.py # pyduino code to check circuit |-- hello_flask_world.py # your first Flask webpage |-- templates/ # directory to store flask templates |-- index.html # our html template 

Daarna is het tijd om het integreren van de Arduino controles in de webserver!

Gerelateerde Artikelen

Pyduino, Interfacing Arduino met Python via seriële communicatie

Pyduino, Interfacing Arduino met Python via seriële communicatie

Leer hoe arduino via seriële communicatie interface met python met behulp van de pyduino-bibliotheek. Er zijn weinig andere tutorials die er op instructables over hoe arduino met python interface maar ze niet laten zien hoe je alles, waar hopelijk de
Beheersing van Edison met Python

Beheersing van Edison met Python

Dit is een project om bekend zijn de Edison Intel en Intel Arduino expansiekaart.In de tussentijd ik eindelijk geleerd wat Python code.Het een tijdje geweest aangezien ik Linux gebruikt heb en nu had ik om het te doen zonder een Gui venster front-end
Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Arduino is fantastisch als tussenpersoon tussen uw computer en een ruwe elektronische schakeling. Via de seriële interface, kunt u informatie ophalen uit sensoren bevestigd aan je Arduino. (U kunt ook informatie verzenden via de seriële interface te
Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

het hart van dit project is een) aansluiten van een sensor op de analoge ingang van de arduino en b) programmeren met de if... else-statement.dit specifieke project toont een computer koelsysteem te handhaven bepaalde temperatuur binnen een computer
Rotatie input van Arduino met behulp van LDR (light-dependent resistor) eenheid

Rotatie input van Arduino met behulp van LDR (light-dependent resistor) eenheid

vanuit mijn ervaring, is veel van roterende invoerapparaten in Arduino afhangen van een potentiometer die een variabele weerstand biedt. in dit instructable, zullen we proberen om het zelfde effect met behulp van een LDR, LED en een strook papier die
Afspelen van Video met Python en GPIO

Afspelen van Video met Python en GPIO

Hallo weer. Vandaag ga ik om te laten zien van een lopend project dat ik bezig ben. Mijn bedrijf heeft me schonk het genoegen om te bouwen van een demo-kit voor een van onze productlijnen. Ik werk in de industrie voor laagspanning waarin brandalarm,
28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

ICStation Team u kennismaken met deze stappenmotor -controlesysteem op basis van ICStation UNO compatibel met Arduino. Het gebruikt ULN2003-chip om te rijden. De spanning van de werken is DC5V. Het wordt op grote schaal gebruikt op de ATM-machine, in
Menselijk lichaam inductie Alarm op basis van Arduino met een Arduino UNO, infrarode Sensormodule, Buzzer Module

Menselijk lichaam inductie Alarm op basis van Arduino met een Arduino UNO, infrarode Sensormodule, Buzzer Module

ICStation team van de afdeling onderzoek en ontwikkeling hebben gemaakt dit project over het menselijk lichaam inductie alarm. DC5V spanning wordt gebruikt om te werken. Wanneer iemand wordt weergegeven op het inducerend gebied van infrarode sensor e
Triggering IFTTT van Arduino met behulp van Lithouse

Triggering IFTTT van Arduino met behulp van Lithouse

In dit instructable, zullen we bouwen een beweging detector en trigger IFTTT gebeurtenissen van dat apparaat.U kunt het maken van IFTTT recepten voor het ontvangen van e-mail, als iemand in het huis of het schakelen van een Belkin WeMo wanneer je in
Hack-A-Lamp of over het bepalen van de Arduino met uw smartphone

Hack-A-Lamp of over het bepalen van de Arduino met uw smartphone

Ik heb een ikea lamp in mijn condo, het werkt goed, draait op, bochten af.. die alles wat het doet. Het is nodig saai, nietwaar? Ik zat te denken, wat als ik het kappen? RGB LED's kom dan naar mijn hoofd en ideeën begon te stromen.Op het werk wist ik
Super Spooky Evil LED ogen van Doom met behulp van atTiny85 en Arduino IDE

Super Spooky Evil LED ogen van Doom met behulp van atTiny85 en Arduino IDE

er zijn een paar spooky ogen instructables daar. Bijvoorbeeld, is er een op basis van een 555 timer, op basis van een aan/uit-schakelaar, een op basis van Arduino, en een gebaseerd op tape.Ik wilde een aantal spookachtige kwade ogen die voldoet aan d
Hoe te meten van de massa van de aarde met behulp van arduino.

Hoe te meten van de massa van de aarde met behulp van arduino.

Een mooie dag, was ik mijn zelf wegen op een weegschaal. Plotseling een gedachte kwam naar mijn mening, 'hoeveel zou de massa van de aarde?'. Laat dat apart 'Hoe kunnen we zelfs meten het?'. Er is geen dergelijke wegen schaal waarop, aarde kan worden
Sluit je Arduino met verwerking

Sluit je Arduino met verwerking

Heb je ooit nagedacht over...? Met behulp van Arduino met verwerking? In dit Instructable tonen ik u de snelle en gemakkelijkste manier om dit te doen. Gewoon blijven lezen!Cover photo by jeanbaptisteparis: https://www.flickr.com/photos/jeanbaptistep
Bijhouden van torentje met PIC en C IR

Bijhouden van torentje met PIC en C IR

Dit is een goede leren-project dat is leuk om te bouwen - ik veel gelopen waardoor het. Ik denk dat dit vrij een beetje al gebeurd, maar ik vond niet dat een eenvoudige manier om dit te doen met foto's. Toen ik eindelijk het werkt, ik dacht dat ik zo