Raspberry Pi baserade RFID Music Robot (5 / 7 steg)
Steg 5: RFID-aktiverade spelare
I det föregående steget, har MFRC522-python klonats. Detta resulterade i en ny mapp med namnet MFRC522-python. Lägga rfidmp3player.py filen i denna mapp. Kontrollera att filen är körbar:
chmod + x rfidmp3player.py
En av mina Taggar gör roboten berätta det är IP-adress (eller tid eller vad någonsin meningen du gillar). Till detta använder jag festival, en mycket enkel att använda text till tal-program. Du kan installera det på Raspberry Pi med hjälp:
sudo lämplig-få installera festival
Detta är ett bra tillfälle att prova om den rfidmp3player skriften fungerar. För detta bör mplayer i slav-läge. Och för att kunna styra mplayer, en namngiven pipe krävs. Vad rfidmp3player programmet gör, skriva kommandon till den namngivna pipen. För att testa skriptet, är detta vad du behöver göra:
sudo mkfifo /tmp/mplayer-control
sudo mplayer-slav - input fil = / tmp/mplayer-kontroll-inaktiv
sudo./rfidmp3player.py
Nu, när du håller (Mifare) RFID-tagg för läsaren, Python skript kommer att visa det är kort-ID. Detta ID är en matris av 5 heltal. I skärmdumpen märker du att etiketten jag använt för min provkörning, utlöses en ljudström. Vad en RFID-tagg som utlöser definieras i rfidconfig.txt, som förklaras i nästa steg.
Som - i min setup - ingen skärmen eller tangentbordet är ansluten till Raspberry Pi, är det viktigt att rfidmp3player.py startas från start. Redigera /etc/rc.local (Glöm inte sudo för detta) och Lägg till följande innan utgång 0 uttalande:
# Skapa namngiven pipe för mplayer
mkfifo /tmp/mplayer-control
# Starta mplayer i slav-läge
mplayer-slav - input fil = / tmp/mplayer-kontroll-inaktiv &
# Berätta värd IP
hostname-jag | Festival--tts
# Starta Python RFID-läsare-mplayer-control skript
/Home/PI/MFRC522-python/rfidmp3player.py &
Den "hostname-jag | Festival--TTS-uttalande kommer att läsa den aktuella IP-adressen högt. Detta hjälper dig på två sätt, först, du vet den IP-adressen att ansluta till och andra, du vet att Raspberry Pi nu upp-och-kör!