Koppla ett flipperspel till Swish
Re: Koppla ett flipperspel till Swish
Skulle gärna, men min anställning tillåter inte sidoverksamhet...
Re: Koppla ett flipperspel till Swish
Bygga och bygga, jag stoppade in ett 3G USB-modem i en Linux-dator och installerade gnokii (perl var redan installerat). Borde väl vara enkelt att bygga med t.ex. en Raspberry Pi och ett lämpligt USB-modem (det måste då vara ett som fungerar som modem med AT-kommandon, inte ett som emulerar nätverkskort). Gnokii finns som färdigt paket i Raspbian.IceBear skrev:Något du skulle kunna bygga åt någon annan ?Nerre skrev:Jag labbade lite förut med ett USB-modem under linux, det finns en programvara som heter Gnokii (ursprungligen framtagen för Nokia-mobiler tror jag, men idag är den rätt generell).
Jag körde perl-script som läste ut SMS från modemet och agerade på dem. (Det jag började med var att använda det för att skicka larm från Nagios med SMS, men byggde alltså ut till en SMS till e-post-gateway.)
Det perlscript som jag körde var relativt enkelt (men jag tror inte jag har kvar det nånstans).
Det var en loop med en delay på en sekund som frågade modemet om status (tror kommandot blir gnokii --monitor once). Från output från det kommandot kan man se om det finns olästa SMS, så man får parsa det och trigga läsning om siffran är högre än noll.
Sen använder man kommandot gnokii --getsms för att läsa ut SMS:et och parsa det som står.
Så till 90% handlar det om att kunna skriva regexp i perl för att plocka ut rätt delar från SMS:et.
Mer om gnokii kan man läsa på man-sidan, t.ex. https://linux.die.net/man/1/gnokii
Edit: Jag hittade scriptet, det körs tydligen från crontab (i alla fall enligt textfilen jag har skrivit det i). Notera de utkommenterade "debug-raderna". Och jag kom tydligen ihåg lite fel, jag parsar inte SMS:et utan skickar det bara som mail till admin. Men perl är ju i princip designat för att parsa text så det är inte så svårt tror jag (jag är ingen klippa på perl, får ofta prova mig fram och läsa man-sidor).
Kod: Markera allt
#!/bin/bash
[ -e /dev/gsmmodem ] || exit 99
UNREAD=$(gnokii --monitor once 2> /dev/null | egrep -o "Nummer [0-9]+" | awk '{print $2}')
##echo "Antal olästa: $UNREAD"
if [ "$UNREAD" != "0" ]
then
## echo "Det finns $UNREAD olästa SMS"
gnokii --getsms SM 0 $(($UNREAD-1)) -d 2> /dev/null | mail -s "SMS received" admin
fi