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.