Raspberry Pi internetradio med kolven (4 / 9 steg)

Steg 4: Python Code



Därefter kommer python koden. Lägg den i en fil med namnet radio.py

från kolven importera kolv
importera render_template från kolven
från kolven importera begäran
importera underprocess

app = Flask(__name__)

metoder = ["få", "POST"])

def hello_world (namn = "Kolven FM"):
om request.method == "POST":
om request.form['submit "] =="aktivera radion":
CMD = ["mpc', 'spela']
p = underprocess. Popen (cmd, stdout = underprocess. Pipa, stderr = underprocess. Pipa, stdin = underprocess. PIPE)
Elif request.form['submit'] == "inaktivera radio":
CMD = ["mpc', 'stopp']
p = underprocess. Popen (cmd, stdout = underprocess. Pipa, stderr = underprocess. Pipa, stdin = underprocess. PIPE)

återgå render_template ('interface.html ', namn = namn)

om __name__ == "__main__":
app.Run (host = "0.0.0.0", port = 1234, debug = True)

Först göra den nödvändiga importen för processer behövs. Sedan definiera vi en funktion med en parameter som kallas namn. Vi initiera denna variabel med strängen "Kolv FM". I mallen Jinja2 HTML-kommer variabeln {{name}} att fyllas med denna sträng. Detta är bara att använda som ett exempel för senare. Funktionen hello_world() anropas när denna python kod körs. Om en POST-begäran görs, måste vi skicka ett kommando till CLI.

Kom ihåg att Python indrag känsliga, så när kopiera och klistra in ovanstående kod, se till att få flikarna rätt.

< form roll = "form" metod = "POST" action = '/' >
< input type = "Skicka" namn = "Skicka" värde = "Aktivera radio" / >

I Jinja2 begär mall vi definierat att formuläret bör göra inlägg. Den knappen namn "lämna in" motsvarar den request.form['submit "] i vår python kod. Knappen som är också dess knapptext, värdet värdet kontrollerar vi för.

om request.form['submit "] =="aktivera radion":

Om knappen trycks, kommer att genomföras en underprocess.

CMD = ["mpc', 'spela']
p = underprocess. Popen (cmd, stdout = underprocess. Pipa, stderr = underprocess. Pipa, stdin = underprocess. PIPE)

Som kommer att spela vår musik ström.

Tillbaka till CLI, kör python fil.

sudo python radio.py

Och navigera till din Raspberry Pi på port 1234 IP eller domän namn.

Du bör se din Jinja2 mall med variabeln namn och 2 knappar som kommer att förvandla din radio på och av.

Se Steg
Relaterade Ämnen

Raspberry Pi babyvakt med Splunk

Här lär du dig att samla de komponenter som krävs för att göra en Raspberry Pi babyvakt och samla data i Splunk, log läsare och analytiskt verktyg, förinställda data på ett meningsfullt sätt. I slutet kommer du att kunna använda Instrumentpanelen kur...

Arduino / Raspberry Pi internetradio

Detta är ett projekt för Arduino och Raspberry Pi att göra en Internet Radio, syftar till att mellanliggande skicklighetsnivå. Viss erfarenhet med Linux användning kommer att vara till nytta (eller tillgång till någon som kan hjälpa till om det behöv...

Arduino / Raspberry Pi fallet med OpenCase

OpenCase kan du enkelt dimension och generera DXF filer för elektronik kapslingar. Du sätter i materialtjockleken, invändiga mått, och berätta det där att skära hål och utskärningar, och det gör resten. OpenSCAD används för alla beräkningar och gener...

IoT: Raspberry Pi Robot med Video Streamer och Pan/Tilt kamera fjärrkontroll över internet

(Om du gillar detta Instructable, glöm inte att rösta på den - ovan: högra hörnet flaggan. Det tävlar om SAKERNAS INTERNET och AUTOMATION tävlingar. Tack så mycket! ;-)Detta är en andra del av min föregående Intructable: IoT - kontrollera en Raspberr...

Komma igång med Raspberry Pi B + med NOOBS OS Installation

Denna information vägleder dig om hur du installerar NOOBS verksamma system(OS) från grunden. Det finns tredjeparts OS också avaliabble som UBUNTU MATE, SNÄRTIGA UBUNTU CORE etc för dessa installationen kan vara något annorlunda och inte täckt här. I...

Raspberry Pi aktiesymbol med överskott butik LCD

i detta Instructable jag skapa en rullning börsinformation med Raspberry Pi.Jag hittade en LCD i överskott store som inte har mycket information, men efter något forskande och spela runt, såg att den var baserad på den populära HD44780U. Detta är en...

Raspberry Pi, internetradio

Vi har syftar till att göra en mini hacka ett tag att få lite nytt liv till en gammal radio och låt oss radio är favorit radiostationer på internet.Steg 1: Du behöver...Beroende på radion du ska installera ditt Raspberry Pi in, din design kommer att...

Hur man gör en Raspberry Pi Arcade med ingen programmering

Inrätta en Raspberry Pi arcade är faktiskt riktigt lätt, tack vare en Linux-distribution som kallas RetroPie.Du behöver inte göra någon programmering eller setup, bara installera den på ett SD-kort. Detta gör att du kan använda arkaden med ett tangen...

Gränsyta för Digital kompass (HMC5883L) med Raspberry Pi 2 med Python3

Inledningsvis var jag arbetar på en labyrint lösa robot. Istället för att använda ultraljud och IR på Arduino Mega för vägg efter som mina vänner gjorde, försöker jag göra något annorlunda med hjälp av digital kompass och Raspberry Pi 2. Denna erfare...

Kryptera kommunikationen för LDAP autentisering mellan Raspberry Pi enheter med Transport Layer Security (TLS)

IntroduktionLDAP-verifiering kan göras säker genom att kryptera kommunikationen mellan LDAP-servern och klienten. Kryptera meddelandet kan låta onödigt om dina två enheter är i ett privat nätverk till exempel ett hemnätverk. Din son, dotter, syster,...

Förbättra Raspberry Pi mediacenter med Bluetooth A2DP (OSMC)

Med Bluetooth-anslutning och att aktivera Raspberry Pi bete sig som A2DP källa är inget nytt (se en allmän handledning på Instructables), men det problemet jag hade hittills var att göra som fungerar på min media center Pi som var igång Raspbmc. Så j...

Hur du styr din (GUI-läge) Raspberry Pi 2 med Ethernet från Windows PC

Hej killarJag är Pushkar Jog från Goa, Indien och jag ska visa er hur man styr lite kreditkort storlek kraftfulla datorn, Raspberry Pi utan att använda extra bildskärm, tangentbord och mus men bara med EthernetOM U har någon DOUGHTS när det gäller de...

RPi DI001: Få din Raspberry Pi redo med operativsystemet Raspbian "wheezy"

kära alla, jag är XCopter, från Hong Kong (inte Kina). Det är ett nöje att dela min 1st Instructable: "RPi DI001"Mina framtida utveckling instruktioner kommer att omfatta hårdvara gränssnitt med olika sensorer och kommunikationsmoduler använder...

Raspberry Pi spektrumanalysator med RGB LED Strip och Python

söker ett första projekt att prova på en Raspberry Pi, jag men vad bättre än en spektrumanalysator? (Denna display är felaktigt kallas som en grafisk equalizer--låt oss ändra ljudet, inte Visa det)Jag kunde få det gör 2048pt FFTs och avkodning mp3s i...

Raspberry Pi drivs med batterier

I detta instructable jag visar dig hur man korrekt leverera ström till en Raspberry Pi eller Pi 2 med ett batteri eller någon spänning mellan 2,9-32 volt DC. Jag kommer att använda en effektiv steg-upp/steg-nedskrivet spänningsregulator och en Vippbr...

Raspberry fjärrkontroll med Telegram

Telegram är en mycket mångsidig snabbmeddelandeprogram som kan användas med samma telefonnummer på olika enheter samtidigt.I denna tutorial såg vi hur man installerar det, och vi har försökt att skicka meddelanden text och media.Vi har också sett att...

Att inrätta en aktiv DNS för att peka på en Raspberry Pi 2 med en webbserver på den

Denna bild beskriver trafikflödet med att använda en aktiv DNS-tjänst! Aktiva DNS-tjänster är också refereed till som hanterar DNS-tjänster samtSteg 1: Välj en aktiv DNS-tjänst att användaDenna länk kommer att ge en lista över aktiva DNS-leverantörer...

Lägga till Internet-kontroll i Raspberry Pi Robot med Runmyrobot.com

Hur dela din Robot med världen och låta andra människor spela med den med runmyrobot.com. Denna webbplats beta-testning men det bör fungera. Om du har några frågor, låt oss veta genom att publicera på webbplatsen Disqus sida.BTW, måste du ansluta din...

Montera USB drivar på Wheezy (Raspberry Pi 2 med emulering Station)

låt oss säga att du använder Wheezy Linux (gäller alla kör emulering Station på en Pi-2), och du behöver kopiera filer över från ett USB-minne.Wheezy, till skillnad från de flesta varianter av Linux, inte automatiskt montera USB-enheter. Det vet det...