Stap 5: RFID-gebaseerde speler
In de vorige stap, werd MFRC522-python gekloond. Dit resulteerde in een nieuwe map met de naam MFRC522-python. Zet het rfidmp3player.py bestand in deze map. Zorg ervoor dat het bestand uitvoerbaar is:
chmod +x rfidmp3player.py
Een van mijn tags maakt de robot vertellen het IP-adres (of de tijd, of wat ooit u zin). Ik gebruik hiervoor, festival, een zeer eenvoudig te gebruiken van tekst naar spraak programma. U kunt het installeren op de Raspberry Pi, met behulp van:
sudo apt-get install festival
Dit is een goed moment om te proberen of het rfidmp3player script werkt. Hiervoor moet de mplayer in slave-modus. En om te kunnen bepalen van mplayer, een named pipe is vereist. Wat het rfidmp3player-programma doet, is het schrijven van commando's naar de named pipe. Om te testen het script, is dit wat u zult moeten doen:
sudo mkfifo /tmp/mplayer-controlsudo mplayer -slave -input file=/tmp/mplayer-control -idlesudo ./rfidmp3player.py
Nu, wanneer u houdt (een Mifare) RFID-tag aan de lezer, de Python script zal tonen het kaart-ID. Deze ID is een array van 5 gehele getallen. In de screenshot, zult u merken dat de tag die ik gebruikte voor mijn test, leverde een audio stream. Wat een RFID-tag triggers wordt gedefinieerd in de rfidconfig.txt, die zal worden toegelicht in de volgende stap.
-In mijn setup - geen scherm of toetsenbord is aangesloten op de Raspberry Pi, is het belangrijk dat rfidmp3player.py wordt gestart uit de map opstarten. Bewerken van /etc/rc.local (Vergeet niet sudo hiervoor) en voeg de volgende vóór de instructie exit 0:
# Create named pipe for mplayermkfifo /tmp/mplayer-control # Start mplayer in slave modemplayer -slave -input file=/tmp/mplayer-control -idle & # Tell host IPhostname -I | festival --tts # Start Python RFID-reader-mplayer-control script/home/pi/MFRC522-python/rfidmp3player.py &
De ' hostname-ik | Festival--tts verklaring leest hardop de huidige IP-adres. Dit helpt u op twee manieren, eerst, u weet het IP-adres om te verbinden en tweede, u weet dat de Raspberry Pi is nu up-en-running!