Styra Arduino med python based web API (ingen php) (3 / 6 steg)

Steg 3: Skapa webbservern med python



Jag är ingen expert i webbprogrammering eller särskilda nätverksprotokoll men jag lyckades styra min arduino över nätet så jag tror att ni alla kan också! Vi kommer att skapa en mycket grundläggande webbplats och har vår dator vara värd. För att göra detta vi kommer att använda webbramverk kolven för att skapa en webb baserad API för att styra våra arduino. Jag rekommenderar varmt att ni alla att läsa igenom några exempel på att använda kolven så att du förstår grunderna i hur det fungerar och eftersom jag inte kan vara den bästa läraren.


Vad vill vi göra?

  1. Skapa en webbsida med 2 knappar
    1. Stänga av LED-knappen
    2. Slå på LED-knappen
  2. När vi slår på/av LED vill vi läsa värdet på våra fotomotstånd och Visa den
  3. Skapa en specifik URL för att förvandla våra LED på/av - nödvändigt för web API

Om du vill skapa en dynamisk webbsida som uppdaterar med våra fotomotstånd värde när vi ladda sidan måste vi skapa en mallsida i kolven. Kolven kommer att använda det värde som vi får från våra fotomotstånd och skicka den till vår mall ska visas. Kolven följer automatiskt en viss katalog format när du söker efter vår mall så att medborgargarden om där du placera vissa filer. I katalogen du arbetar i kommer du vill skapa en katalog som heter mallar. Vi kommer att lägga vår mallsida där. Vår mallen HTML-sidan kommer att se mycket lik en vanlig HTML-sida bara med en extra möjlighet att placera en variabel någonstans. Kopiera kodsträng html på denna länk: http://codepen.io/theown1/pen/RNeYMg i en ny fil heter index.html och plats som filen i katalogen mallar.

Kopiera koden nedan till en fil som heter hello_flask_world.py lappa av koden nedan är vår grundläggande kolven webbsida. Dess ganska enkelt att förstå, vi har bara en webbsida på adressen '/' som är startsidan. URL för denna webbsida kommer att vara din IP-adress i nätverket eller 127.0.01:5000. När någon ansluter till vår hemsida göra vi bara vår mall som vi hade tidigare med vissa värde som vi ska ändra till våra fotomotstånd utgång senare. Om vår hemsida blir en POST-begäran aka någon trycker på en knapp på vår sida då vår server utför den specifika uppgiften att skriva ut vad som hände och skickar dig tillbaka till huvudsidan. Som du skulle en normal python program kan du köra denna del av koden nedan. ($ python hello_world.py)

från kolven importera kolv, render_template, begäran, redirect, url_for
app = Flask(__name__)
# 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"
readval = 10
# 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"

# om vi trycker på Stäng av knappen
Elif request.form['submit'] == "Stänga av":
skriva ut "TURN OFF"
annat:
passera

# 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')

När du kör programmet bör du få en effekt som liknar bilden ovan. Se till att du ansluter till webbsidan i webbläsaren på http://127.0.0.1:5000 / när du kör python skript (och hålla den igång!) Sedan spela med knapparna och kontrollera att du får dem att skriva ut något i terminalen.

Den mapp du arbetar i bör nu ha alla filer nedan i motsvarande kataloger.

ARBITRARY_WORK_FOLDER /
|--pyduino.py # pyduino fil
|--analog_read_test.py # pyduino kod för att kontrollera krets
|--hello_flask_world.py # din första kolven webbsida
|--mallar / # katalog att lagra kolven mallar
|--index.html # vår HTML-mall

Därefter är det dags att integrera våra Arduino kontroller i webbservern!

Se Steg
Relaterade Ämnen

Pyduino, gränssnitt Arduino med Python via seriell kommunikation

Lär dig hur gränssnittet arduino via seriell kommunikation med python med hjälp av pyduino biblioteket. Det finns några andra tutorials ute på instructables om hur gränssnittet arduino med python men de Visa inte dig hur man gör allt, där förhoppning...

Styra Arduino med Android-telefon via Bluetooth

Hej gott folk, här kan du lära dig hur man styr Arduino med Android-telefon via Bluetooth. Du kan använda din smartphone som en fjärrkontroll för dig hem belysningssystem eller du kan använda som en drone remote etc.För att göra anslutningen mellan A...

Styra Arduino med Blynk [USB] [nybörjare] trådlöst var som helst i världen

här är hur du styr arduino med blynk via USB från var som helst i världen!Steg 1: Här är hur du styr arduino med blynk via USB från var som helst i världen!titta och njut!...

Hur man styr arduino med ett mail

Det finns många lösningar för att styra en Arduino ombord: web lösningar, desktopen applicering lösningar, lösningar. Men hur mail? Ja, du kan hitta något på nätet men de behöver ethernet sköldar och ofta är Arduino som skickar e-post. Jag kontroll A...

Styra Arduino med Gamepad

Nyligen har jag varit nyfiken på bli vän Arduino eller några andra microcontroller med en gamepad för att få fysisk interaktion med sakerna jag gör, men det verkade vara någon snabbt eller billigt sätt att göra så.De flesta lösningar deltar:Helt demo...

Styra arduino med joystick

efter ungefär en månad av har min arduino fick jag uttråkad så jag surfade på nätet och fann detta cool sätt att kontrollera arduinoOm du gör någon sak olaglig är jag inte hållas ansvarigaSteg 1: saker som behövs 1. arduino (duh)2. dator (om du läser...

Styra arduino med Blynk över usb

Detta är min andra instructable. I detta instructable jag visar hur man styr LED med Blynk.Blynk är program som ger oss instrumentpanel samt connectivity. som du kan hämta den från google spela store (för Android). & app store (för apple) .using blyn...

Styra arduino med Blynk via usb

Detta är min andra instructable. I detta instructable jag visar hur man styr LED med Blynk.Blynk är program som ger oss instrumentpanel samt connectivity. som du kan hämta den från google spela store (för Android). & app store (för apple) .using blyn...

Styra Arduino med Facebook - det enkla sättet

Hej vänner idag jag ska visa dig hur du ansluter din Arduino till FACEBOOK och fjärrstyra din Arduino från var som helst i världen genom ditt Facebook-konto. OK det här är hur det fungerar, det finns en Facebook-konto som är ansluten till Arduino via...

Plottning realtidsdata från Arduino med Python (matplotlib)

Arduino är fantastisk som en mellanhand mellan din dator och en rå elektronisk krets. Seriella gränssnitt kan du hämta information från sensorer kopplade till din Arduino. (Du kan också skicka information via det seriella gränssnittet ansätta kretsar...

Styra Arduino med PHP

Jag har nyligen sett en hel del problem när det gäller PHP och Arduino. Många människor vet inte om fakta som en arduino behöver en 2 sekunders fördröjning för (!) innan den kan ta emot meddelanden genom följetong. Det finns några andra fakta du behö...

Styra Arduino med Bluetooth (tvåspråkig Lesson)(Arabic/English)

يتيح لك هذا الدرس التحكم بتشغيل ضوء الليد عن طريق الجوال بنظام الاندرويد و يشرح كيفية عمل لوح التحكم الاردوينو مع قطعة البلوتوثDenna lektion gör att du kan styra en LED använder en Android-telefon samt förklara hur Arduino interagerar med Bluetooth-m...

Styra Edison med Python

Detta är ett projekt att bli förtrogen Intel Edison och Intel Arduino expansionskort.Under tiden jag äntligen lärt mig några Python kod.Det har varit ett tag sedan jag har använt Linux och nu var jag tvungen att göra det utan en Gui fönster fronten o...

Styra arduino med visual studio via bluetooth

Hej alla,Här kommer att vi kontrollera en ledde via bluetooth med din dator av en progam wirtten med visual studiovad du behöver är:1) Arduino (en)2) Bluetooth-modul (hc05 eller hc 06)3) ledde4) 2 motstånd (10ko och 15ko)och du kan göra det ;)alla ko...

Styra Arduino med visual basic 6.0

Detta instructable är en del av min bok Arduino + visual basic 6.0 (gör din egen mjukvara till kontroll arduino Robot.Visual basic 6.0 är en mycket gammal version som vissa människor kan fråga varför vi vill använda visual basic 6.0. Visual basic 6.0...

Hack-A-lampan eller hur man kontrollerar Arduino med din smartphone

Jag fick en ikea-lampa i min lägenhet, det fungerar bra, vänd om, vänd bort... som allt det gör. Det är kindy tråkig, inte sant? Jag tänkte, Tänk om jag hacka den? Sedan kommer RGB-lysdioder till mitt huvud och idéer började flöda.På jobbet visste ja...

Styra en Arduino med ett armbandsur (TI eZ430 Chronos)

klockanTexas Instruments eZ430 Chronos är en cool gadget. Det har dubbelriktad radiokommunikation och en hel massa sensorer: temperatur, tryck, acceleration.I själva verket är det ett development kit för MSP 430 (en lågenergi-mikrokontroller), som TI...

Styra Arduino trådlöst med MATLAB

varit att se några DIYs på hur du upprättar en kommunikation mellan MATLAB ansökan och Arduino som är hårdkodade till PC. Men har inte jag stött på något som styr Arduino via MATLAB trådlöst via ENC28J60 kompatibel Ethernet shield. I denna kompatibel...

Styra Arduino RoverBot med TV-fjärrkontrollen

jag är en dålig 15 år gammal Arduino hacka, som har liten tillgång på delar och material för att bygga en högteknologisk robot. Jag är säker på att det finns många andra där ute som är i min situation. Detta lilla Instructable kommer förklara och vis...