Ibland vill man inte, eller kan man inte ha tangentbord/bildskärm eller internetanslutning,  i denna artikel beskrivs hur man med ett gammalt 3G modem eller en gammal mobil kan kommunicera med maskinen genom att både ta emot och skicka SMS.

Vad som behövs är

  • Ett modem eller telefon som stöds av programbiblioteket gammu
  • ett aktivt SIM-kort
  • En usb kabel som passar till modemet eller telefonen

Jag hade ett gammalt Huawei E220 modem och ett aktivt SIM-kort liggande, för att använda den för SMS-styrning kräver ingen Surf på kortet.

Huawei E220

För att styra enheten kan man kommunicera direkt med enheten med AT kommandon. AT kommandon är en sätt att kommunicera med ett seriellt modem som överlevt från de först modemen, ursprungligen skapat av ett företag som hette Hayes (här är en länk till deras historia om ni är för unga för att varit med då, Hayes historia.)

Men det finns ett färdigt program som gör detta och har färdiga inställningar för en massa olika telefoner  och modem så man behöver inte leta fram värdena. Programmet är gratis och heter Gammu (wammu är skalet, vi kommer att använda Gammu som är biblioteket), i skrivande stund finns c:a 7200 enheter i listan och c:a 2800 enheter som stöds och lista ökar hela tiden. Det ni måste titta efter är att SMS stöds av enheten annars fungerar det inte, lista hittar ni här (Gammu Phone Database).

Slår man upp Huawei E220, kan man bli lite osäker vad som gäller

E220-val

 

Kontrollera vilka som är godkända och vilka som inte är det, det är öppet att lägga in information men sedan ska den godkännas så informationen kan vara felaktig. Men jag tolkar det som om enhetet kan SMS men hastigheten kan vara 19200 eller 115200 Baud. Det enda man behöver (förutom att enheten fungerar med gammu och stöder sms) är med vilken hastighet som man kommunicerar med enheten.

Först laddar man ner de program som behövs med

Nu kan man ansluta mobilen/modemet och kontrollera att enheten uppäckts av operativsystemet.

Här kan man se att den hittat mitt E220 modem, nu måste man se vilken seriell port som den skapat

Enligt denna information från dd-wrt verkar de flesta modem (inkl E220) använda första porten som modem.

För att sedan konfigurera gammu kör man kommandot

Detta är vad man får upp

gammu-config

när alla inställning ( P/C/M ) var gjorda så det ut såhär

gammu-config2

Avsluta med att välja S Save, som sparar en fil i hemmabiblioteket som heter .gammurc, det som finns i filen förutom en massa kommentarer om vad varje parameter betyder är

Man kan skapa filen direkt utan att köra gammu-config, kommandot är bara ett sätt att göra det mer användarvänligt.

Nu kan man kontrollera att gammu kan prata med mobilen/modemet med följande kommando

Om den inte kan kommunicera får du gå tillbaka och kontrollera att inställningarna översstämmer med den enhet som du kopplat in.

Kontrollera sedan om man behöver pin eller ej

I deta fall, krävs PIN för att använda, om du prövat för många gånger kan det stå att PUK koden behövs, använd följande kommando för att låsa upp mobilen/modemet

“Nothing to enter.” menar att man kan använda modemet.

Nu kan vi pröva att skicka ett SMS till en mobil. Mobiltelefoner använder alltid den internationella versionen av telefonnummret, dvs som om man ringde nummret från utlandet. För att ringa till t.ex 070-123456 tar man bort första nollan och lägger till +46 först så telefonnummret blir +4670123456, inga mellanslag eller bindestreck får finnas.

OK, betyder att meddelandet gick iväg, om du däremot ser error 500

kan de vara en av följande fel

  • Felaktig telefonnummer (som det var i detta fall, inget + i början)
  • Ingen kontakt med operatörern (ingen täckning)
  • Slut pengar på kortet
  • Problem med SMS-tjänsten hos operatören

Nu kan man lista alla inkomman SMS

Nu kan man ta emot och skicka SMS via kommandon, i en senare artikel kommer jag att visa hur man kopplar ihop SMS med styrning av en tellstick med hjälp av SMS kommandon.