Koppla ett flipperspel till Swish

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Koppla ett flipperspel till Swish

Inlägg av Micke_s »

Skulle gärna, men min anställning tillåter inte sidoverksamhet...
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Koppla ett flipperspel till Swish

Inlägg av Nerre »

IceBear skrev:
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.)
Något du skulle kunna bygga åt någon annan ?
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.

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
Skriv svar