Raspberry Pi internetradio met kolf (4 / 9 stap)

Stap 4: Python Code


Daarna komt de python-code. Zet het in een bestand met de naam radio.py

 from flask import Flask from flask import render_template from flask import request import subprocess app = Flask(__name__) methods=['GET', 'POST']) def hello_world(name='Flask FM'): if request.method == 'POST': if request.form['submit'] == 'turn radio on': cmd=['mpc', 'play'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) elif request.form['submit'] == 'turn radio off': cmd=['mpc', 'stop'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) return render_template('interface.html', name=name) if __name__ == '__main__': app.run(host='0.0.0.0', port=1234, debug=True) 

Maak eerst de nodige invoer voor de processen die hebben we nodig. Toen definiëren we een functie met een parameter met de naam naam. We instantiëren deze variabele met de tekenreeks 'Kolf FM'. In de Jinja2 HTML-sjabloon, zal de variabele {{naam}} worden gevuld met deze tekenreeks. Dit is gewoon te gebruiken als voorbeeld voor later. De hello_world() -functie zal worden opgeroepen zodra deze python code wordt uitgevoerd. Als een POST-aanvraag wordt gebracht, moeten we voor het verzenden van een opdracht aan de CLI.

Vergeet niet dat Python inspringing gevoelig, dus wanneer kopiëren en plakken boven code, zorg ervoor dat de tabbladen naar rechts te krijgen.

 <form role="form" method='POST' action='/'> <input type="submit" name="submit" value="turn radio on" /> 

In de Jinja2 vraagt sjabloon die we gedefinieerd dat het formulier POST moet. De knop naam "verzenden" komt overeen met de request.form['submit'] in onze python code. De waarde van de knop, die ook de tekst van de knop, is de waarde die we controleren.

 if request.form['submit'] == 'turn radio on': 

Als deze knop is ingedrukt, zal een subproces worden uitgevoerd.

 cmd=['mpc', 'play'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) 

Die zal het spelen van onze muziek stream.

Terug op de CLI, run de python bestand.

 sudo python radio.py 

En ga naar de naam van de IP- of domein van uw Raspberry Pi op poort 1234.

U ziet uw Jinja2 sjabloon met de naam variabele en 2 knoppen die uw radio in- en uitschakelen veranderen zal.

Gerelateerde Artikelen

1979 bang & Olufsen Raspberry Pi internetradio

1979 bang & Olufsen Raspberry Pi internetradio

dit is een 1979 Bang & Olufsen Beocord 1500 cassette-recorder die ik in een standalone Raspberry Pi internetradio omgezet heb. De analoge VU-meters worden gedreven door de Pi via een DAC (digitaal naar Analoog Converter) circuit, met de huidige tijd,
Aan de slag met een Raspberry Pi B + met NOOBS OS installatie

Aan de slag met een Raspberry Pi B + met NOOBS OS installatie

Deze informatie zal u begeleiden over hoe te installeren van de NOOBS operationele system(OS) van kras. Er zijn derde OS ook avaliabble zoals UBUNTU STUURMAN, SNAPPY UBUNTU CORE enz hiervoor de installatie mogelijk iets anders en worden niet gedekt h
Raspberry Pi babyfoon met Splunk

Raspberry Pi babyfoon met Splunk

Deze stappen leert u hoe te monteren van de onderdelen die nodig zijn om een babyfoon van Raspberry Pi, en verzamelen van die gegevens in Splunklog lezer en een analytisch hulpmiddel, vooraf ingesteld dat gegevens op een zinvolle manier. Aan het eind
Volledige DIY Raspberry Pi weerstation met Software

Volledige DIY Raspberry Pi weerstation met Software

Terug in eind februari zag ik deze post op de site van de Raspberry Pi.http://www.raspberrypi.org/school-Weather-station-...Ze had Raspberry Pi weerstations voor scholen gemaakt. Ik wilde een volledig! Maar op dat moment (en ik geloof nog steeds vana
Draagbare Raspberry Pi geigerteller met Display

Draagbare Raspberry Pi geigerteller met Display

Mighty Ohm Geiger Counter is een zelfstandige do-it-yourself kit. Wanneer de MightyOhm een deeltje detecteert piept het. Dit is een integratieproject. Diverse deelprojecten zijn nodig om dit project te voltooien. Het eindresultaat is een machtige Ohm
Hoe een Raspberry Pi verbinden met een Wi-Fi-netwerk

Hoe een Raspberry Pi verbinden met een Wi-Fi-netwerk

Dus je wilt een Raspberry Pi verbinden met internet, maar uw computer een ethernet-verbinding, of het ontbreekt u gebrek aan een ethernet-kabel. Wat te doen?Wat je nodig hebt:Raspberry PimicroSD-kaartHDMI-kabelUSB-lichtnetadapter (dat kan bieden ten
Suikervrije zelfgemaakte organische Raspberry Jelly gezoet met honing!

Suikervrije zelfgemaakte organische Raspberry Jelly gezoet met honing!

Ja suikervrije zelfgemaakte organische Raspberry Jelly gezoet met honing!Deze gelei bevat geen additieven conserveringsmiddelen suiker en werd benoemd tot formulier thuis geteelde bessen en honing.Stap 1: Wat u nodig hebt voor dit instructable 4 kopj
Geheugenkaart met HypriotOS voorbereiden op Datarhei/Restreamer op Raspberry Pi1 & Pi2 met Microsoft Windows

Geheugenkaart met HypriotOS voorbereiden op Datarhei/Restreamer op Raspberry Pi1 & Pi2 met Microsoft Windows

Voordat je kan beginnen streaming met de Datarhei/Restreamer moet u een geheugenkaart en aan de slag met Docker op je Raspberry Pi voorbereiden. Is het raadzaam de HypriotOS Raspberry Pi om afbeelding te gebruiken met ondersteuning voor Docker.Er zij
Arduino / Raspberry Pi internetradio

Arduino / Raspberry Pi internetradio

Dit is een project voor de Arduino en Raspberry Pi te maken van een Internet Radio, gericht op tussentijdse vaardigheidsniveau. Enige vertrouwdheid met Linux gebruik zal nuttig zijn (of toegang tot iemand die helpen kan indien nodig).Raspberry Pi loo
Raspberry Pi muziekserver met ingebouwde Crossover en DSP

Raspberry Pi muziekserver met ingebouwde Crossover en DSP

Hallo ' iblers ik wil dit project met u delen: uw raspberry pi draaien in een krachtige muziekserver die hoge resolutie audiobestanden kunt afspelen, scheiden van de audio-signalen door frequentie (crossover), en bieden spreker en kamer DSP corrigere
Arduino / Raspberry Pi geval met OpenCase

Arduino / Raspberry Pi geval met OpenCase

OpenCase kunt u gemakkelijk dimensie en DXF-bestanden voor elektronica behuizingen te genereren. U plaatst in de materiaaldikte, Binnenafmetingen, en het vertellen waar te snijden gaten en uitsparingen, en het doet de rest. OpenSCAD wordt gebruikt vo
Controle van de Raspberry pi GPIO met behulp van een app

Controle van de Raspberry pi GPIO met behulp van een app

Veel mensen hebben gevraagd voor een zelfstudie over het beheren van de Raspberry pi GPIO pinnen met behulp van een app (je zelf gemaakt).Dus is hier een snelle tutorial over hoe om dit te doen. Het zal grotendeels worden gebaseerd op de vorige tutor
Raspberry Pi, internetradio

Raspberry Pi, internetradio

We hebben willen doen een mini hack voor een tijdje om sommige nieuwe leven aan een oude radio en laten radio zijn favoriete internetradiostations.Stap 1: Je moet...Uw ontwerp zal variëren afhankelijk van de radio die u gaat installeren van uw Raspbe
Digitaal kompas (HMC5883L) met de Raspberry Pi 2 met behulp van Python3 interfacing

Digitaal kompas (HMC5883L) met de Raspberry Pi 2 met behulp van Python3 interfacing

Aanvankelijk was ik bezig met een doolhof robot op te lossen. In plaats van met behulp van ultrasone en infrarood op Arduino Mega voor muur na, zoals mijn vrienden deed, probeer ik te doen iets anders met behulp van het kompas en de Raspberry Pi 2. D