Linux und Nokiagnokiivon Andreas Bohne |
Wer eines der folgenden Nokia Handys: 3810, 3110, 8110, 5110, 6110 besitzt, kann in dem folgenden Artikel erfahren, wie man das Handy an einen Rechner anschließt und welche Sofware benötigt wird, um die Funktionen des Handys zu verwalten.
Ende 1998 wurde das Projekt Gnokki (für Gnu Nokia) ins Leben gerufen. Das Projekt soll ein Pendant zu der Nokia Netsuite darstellen, die bekanntlich nur für Windows verfügbar ist und nicht gerade zu der günstigsten Software gehört. Die Entwicklung von gnokii ist noch voll im Gange, und bis all die Funktionen, welche Netsuite bietet, realisiert sind, wird es noch eine Weile dauern. Dennoch sind inzwischen die wichtigsten Funktionen, wie die Telephonbuchverwaltung und das Senden und Empfangen von SMS (Short Message Mails) umgesetzt.
Das Projekt wird koordiniert von drei Entwicklen, welche selber tatkräftig
programmieren, aber auch Patches von aktiven Benutzern in das Projekt
einbinden.
Diese federführenden Entwickler sind Staffan Ulfberg aus
Norwegen, Hugh Blemings aus Australien und Pavel Janík aus der
Tschechischen Republik. Staffan ist Dozent an der Universität in Stockholm
im Bereich Numerical Analysis and Computing Science (NADA).
Er verwaltet auch die Web-Seiten des Projektes. Hugh arbeitet in Australien
bei der Firma Linuxcare und betreibt das gnokii-Projekt nebenher. Pavel
studiert Mathematik und Ökonomie an der Masaryk-Universität in Brno
und arbeitet nebenher noch als Entwickler im Bereich Systeme und Sicherheit.
Allen dreien gemeinsam ist die Ansicht, daß es auch unter Linux eine
Software (ähnlich der Netsuite von Nokia) zum Ansprechen des Handys geben
sollte und wenn es sie nicht gibt, dann sucht man sich Gleichgesinnte und
entwickelt sie halt.
| Abb. 1: Die Entwickler | ||
![]() |
![]() |
![]() |
| Staffan Ulfberg | Hugh Blemings | Pavel Janík ml. |
Aber bevor wir in die Tiefen der Software gehen, bedarf es noch einer
zusätzlichen Hardware - einem speziellen Kabel, welches den Rechner
mit dem Handy verbindet. Bezitzer eines IR-fähigen Handys und eines Notebook mit IR-Schnittstelle
benötigen dieses nicht.
Abbildung 2 zeigt die Anschlußleiste des Nokia-Handys. Die für
die Kommunikation wichtigen Kontakte sind Pin 7 = Rx (Daten empfangen),
Pin 8 = Tx (Daten senden) und Pin 9 (Logische Masse). Die andere Seite
des Kabels wird mit der seriellen Schnittstelle des Rechners (Laptops)
verbunden.
| Abb. 2: Anschlußsleiste am Handy | |
![]() |
Kabel
Der Vorteil, den das Nokia-Handy bietet, ist, daß es keine Modemkarte
benötigt, sondern von Haus aus über eine serielle Schnittstelle
verfügt. Es muß lediglich eine Pegelwandlung durchgeführt
werden, welche die +-12V Pegelspannung der RS232-Schnittstelle auf 5V
ändert. Dieses wird durch einen MAX233-Baustein realisiert. Die Abbildung
3 zeigt, wie man sich selber ein solches Kabel herstellen kann. Das teuerste
Element ist dabei der Spezialstecker, um an das Handy anzudocken. Diesen
muß man sich von einer Freisprecheinrichtung "klauen".
| Abb. 3: Schaltplan für die Pegelwandlung | |
![]() |
Von einem Selbstbau ist jedoch abzuraten, da es inzwischen diese Kabel
kaufen kann. Nokia hat sich lange Zeit dagegen gewehrt, ein Kabel einzeln
abzugeben. Man bekam das Kabel nur, wenn man auch die Netsuite für
Windows gekauft hat. Wer aus irgendwelchen Gründen mal ein Kabel nachhaben
wollte, stieß auf taube Ohren und mußte das ganze Paket (Software
+ Kabel) neu kaufen.
Bei Wolfgang Busch aus Hamburg war der Grund ein kleiner junger Hund,
der seine neuen Zähne an dem Kabel ausprobiert hat. Aber als Student
der Elektrotechnik wußte er sich zu helfen und hat sich kurzerhand
ein solches Kabel nachgebaut. Im Netz findet man inzwischen auch noch andere
Anbieter solcher Nachbauten. Mein Kabel stammt aus Hamburger Quelle und
die Qualität ist hervorragend. Zwar muß man das Kabel im Voraus
bezahlen, da einige Leute meinten, sie könnten sich mal schnell eines
bestellen und haben dann die Annahme verweigert, so daß Wolfgang
auf den Portokosten sitzen geblieben ist. Da der Preis mit 80 DM (incl.
Versandkosten) wirklich knapp kalkuliert ist, hatte er wenig Verständnis
für solcherlei Kapriolen. Die Bezugadresse ist unten angegeben.
| Abb. 4: Das Datenkabel | |
![]() |
![]() |
Software
Die Software Gnokii kann über die Adresse http://gnokii.org heruntergeladen
werden.
Der Quellcode unterteilt sich in 3 logische Einheiten: Erstens das
Programm gnokii, ein shell-orientiertes Programm, mit dem man das Handy
ansprechen kann. Zweitens gnokiid, welches als Dämon läuft und
gedacht ist, einkommende SMS-Mails automatisch abzufragen (polling). Ferner soll das Programm über
das Device /dev/gnokii einen Datacall und Faxcall führen könne. Das Device stellt im Prinzip ein
virtuelles Hayes-At kompatibles Modem dar.
Drittens gibt es das xgnokii-Programm, ein graphisches, gt-basiertes
Frontend zu gnokii. Die Tendenz geht in dem Projekt dahin, die
Funktionaliät in Zukunft komplett im gnokiid zu verstauen und das gnokii-
und xgnokii-Programm nur noch als Eingabemodul zu verwenden, welches dann die
Daten via Port an den gnokiid-Dämon übermittelt, wonach dieser
dann die Aktionen ausführt.
Die Installation gliedert sich in mehrere Schritte.
1) Entpacken mit tar xvfz gnokii-0.3.1.tar.gz
2) Makefile editieren und das Handy-Modell eintragen
2) make
3) Als root unter /etc in der Datei group die neue Gruppe gnokki anlegen:
4) Als root den Befehl <chown -R root:gnokii *> in dem Verzeichnis ausführen,
in dem auch die Sourcen von gnokii übersetzt wurden.
5) Als root den Dateien gnokii, gnokkid und xgnokii mit chmod 6755
Superuser-Rechte verleihen. In der Anleitung wird zwar empfohlen, 6754 zu
setzen, aber für die ersten Schritte ist die andere Alternative eher zu
empfehlen.
6) Mit <mgnokiidev 1> einen symbolichen Link vom pseudo ttyp1 zu /dev/gnokii erzeugen.
7) Wenn man die Binaries noch installiert haben möchte: make install
8) Die Datei sample.gnokiirc nach $HOME/.gnokiirc kopieren und editieren (Model eintragen).
gnokii
Die nachfolgende Tabelle soll einen Eindruck vermitteln, welche Funktionen
von gnokii zur Verfügung gestellt werden. Es kann schon einmal sein,
daß es bei der einen oder anderen Funktion noch Schwierigkeiten gibt,
aber es ist nur eine Frage der Zeit, bis dies mit der nächsten
Version behoben ist.
Das zeichenbasierte gnokii-Programm bietet dem Benutzer folgende Funktionen
an:
| --monitor | Handy-Status auf stderr ausgeben | |||||||||||||||||||||||||||
| --version | Zeigt Version und Copyright an | |||||||||||||||||||||||||||
| --enterpin | Übermittelt die eingegebene PIN an das Handy | |||||||||||||||||||||||||||
| --getmemory | Liest den angegebenen Speicherbereich aus: Gültige
Speicherbereiche sind: ME, SM, FD, ON, EN, DC, RC, MC, LD
|
|||||||||||||||||||||||||||
| --writephonebook | Liest die Daten via stdin und schreibt sie ins interne Telephonbuch. Die Daten müssen in dem Format sein, das --getmemory beim Auslesen des Telephonbuches benutzt. | |||||||||||||||||||||||||||
| --getsms | Liest eine oder mehrere SMS-Mail(s) aus dem Speicher und gibt sie nach stdout aus. | |||||||||||||||||||||||||||
| --deletesms | Löscht eine oder mehrere SMS-Mail(s). | |||||||||||||||||||||||||||
| --sendsms | Sendet eine SMS-Mail | |||||||||||||||||||||||||||
| --getsmsc | Zeigt die SMSC (message_center_number) an | |||||||||||||||||||||||||||
| --setdatetime | Setzt Zeit und Datum des Handys. | |||||||||||||||||||||||||||
| --getdatetime | Liest die aktuelle Zeit und das aktuelle Datum aus. | |||||||||||||||||||||||||||
| --setalarm | Stellt den Wecker . | |||||||||||||||||||||||||||
| --getalarm | Zeigt die eingestellte Weckzeit an. | |||||||||||||||||||||||||||
| --dialvoice | Bereitet ein 'voice call' vor. (Noch nicht realisiert) | |||||||||||||||||||||||||||
| --dialdata | Bereitet ein 'data call' vor. (Noch nicht realisiert) | |||||||||||||||||||||||||||
| --sendoplogo | Senden eines Operator-Logos. | |||||||||||||||||||||||||||
| --sendclicon | Senden eines CL-Icons. | |||||||||||||||||||||||||||
| --getspeeddial | Liest die Wählgeschwindigkeit | |||||||||||||||||||||||||||
| --setspeeddial | Setzt die Wählgeschwindigkeit | |||||||||||||||||||||||||||
| --sendoplogoviasms | Sendet ein Logo als Operator-Logo | |||||||||||||||||||||||||||
| --getcalendarnote | Liest einen Kalendereintrag aus. | |||||||||||||||||||||||||||
| --writecalendarnote | Schreibt einen Kalendereintrag. | |||||||||||||||||||||||||||
| --deletecalendarnote | Löscht einen Kalendereintrag | |||||||||||||||||||||||||||
| --getdisplaystatus | Zeigt das Bild vom Display an | |||||||||||||||||||||||||||
| --netmonitor | Setzt und fragt den Netzmonitor-Modus ab. | |||||||||||||||||||||||||||
| --identify | Zeigt IMEI, Model und Revision an | |||||||||||||||||||||||||||
| --senddtmf | Überträgt eine DTMF-Sequenz | |||||||||||||||||||||||||||
| --reset | Telephon-zurücksetzen | |||||||||||||||||||||||||||
| --setlogo logofile | Logo festlegen | |||||||||||||||||||||||||||
| --setlogo text | Begrüßungstext festlegen | |||||||||||||||||||||||||||
| --getlogo logofile | Logo auslesen. |
Beispiel
Wie sendet man nun konkret auf Kommandozeilenbasis eine
SMS-Mail an jemanden?
helios> echo "Dieses ist irgendeine SMS-Mail" | gnokii --sendsms
<Telephonnummer>
Und wenn man die SMS-Mail, die im zweiten Slot steht, aus dem Handy auf
den Rechner übertragen möchte, so geschieht das Auslesen mit:
helios> gnokii --getsms ME 2 2
xgnokii
Aber die eigentliche Intention des Projektes war, ein graphisches Frontend
für die Handy-Funktionen bereitzustellen. Dieses ist mit dem Programm
xgnokii realisiert. Die Graphik basiert auf Funktionen aus dem freien gt-Graphik-Paket.
Dabei ist es ratsam, die aktuelle Version 1.2.6 zu verwenden, um die Quellen
fehlerfrei zu compilieren. Bei früheren Versionen treten Fehler auf, die
vermutlich darauf zurückzuführen sind, daß bestimmte
Funktionen noch nicht realisiert waren, deren Code deswegen vergeblich gesucht
wird.
| Abb. 5: Xgnokii - Control Center |
![]() |
Nach dem Start von xgnokii landet man in einer Art Übersicht, von
der aus man auf die einzelnen Unterpunkte verzweigen kann.
Diese bisher realisierten Unterpunkte sind Telephonbuch (Contacts),
Lesen und Schreiben von SMS-Mails sowie Optionen für
das Einstellen des Handys. Auf der linken Seite bekommt man den
Batteriestatus und die Feldstärke angezeigt.
| Abb. 6: Telephonbuchverwaltung |
![]() |
Verzweigt man in die Rubrik Telephonbuch, so kann man als erstes das
Telephonbuch aus dem Handy auslesen. Dabei können die Telephonnummern
an zwei Stellen im Handy gespeichert werden. Die eine Möglichkeit ist
die Speicherung in der SIM-Karte des Handys, die andere Möglichkeit
ist das Ablegen der Nummer im Speicher des Handys. Es werden beide
Speicherbereiche ausgelesen und durch ein Flag in der Liste gekennzeichnet. In
der Abbildung X wurden nur Nummern in der SIM-Karte gefunden. Die Namen und
Nummern kann man mit den Standardfunktionen bearbeiten. Neben Name und Nummer
kann noch die Teilnehmer-Gruppenzuordnung festgelegt werden.
| Abb. 7: SMS | |
![]() |
![]() |
Der zweite Unterpunkt der Übersicht ist der SMS-Service-Bereich, der das Versenden und Enpfangen von SMS-Mails realisiert. Verzweigt man in diesen Unterpunkt, kann man sich anschauen, welche SMS-Mails auf dem Handy vorhanden sind. Dabei werden die SMS-Mails in der Inbox und der Outbox berücksichtigt. Es stehen nun vier Funktionen zur Verfügung, um die SMS-Mails zu bearbeiten. Neben dem Weiterleiten, dem Antworten und dem Löschen kann man auch neue SMS-Mails eingeben und versenden. Das Angenehme daran ist, daß man sich nicht mehr die Finger wund tippen muß. Die Adresse kann wie beim Handy-Direktbetrieb aus dem Telephonbuch extrahiert werden.
| Abb. 8: Optinen |
![]() |
In dem Bereich Optionen kann der Benutzer Einstellungen an den Parametern
für xgnokii vornehmen. Dabei werden die Rubriken Verbindung zum Handy,
Alarm, SMS, Benutzer, Gruppe und Hilfefunktion zur Verfügung gestellt.
| Abb. 9: Konsole |
![]() |
Nach dem Starten von xgnokii wird auf der Konsole einiges an Zusatzfunktionen ausgegeben. Wahrscheinlich können nur Experten mit den ausgegebenen Daten wirklich was anfangen.
Zusammenfassend kann man dieses Projekt uneingeschränkt loben, denn es schließt durch seine hervorragende Umsetzung wieder eine Lücke in dem Fundus der Linuxsoftware. Das Detailwissen, das bisher in gnokii eingeflossen ist, ist gewaltig - auch wenn solche Funktionen wie Datacall und Logoverwaltung noch nicht realisiert bzw. eingebaut worden sind. Dieses liegt zum einen am chronischen Zeitmangel der Entwickler und zum anderen an der Politik des Stillschweigens von Nokia, was alle Beteidigten sehr beklagen und wo sich die Entwickler eine bessere Zusammenarbeit wüschen würden.
Ein anderes Softwarepaket, welches an dieser Stelle noch erwähnt werden soll, ist sms_client, welches sich auf die Fahnen geschrieben hat, einen SMS-Client für Unix zu entwickeln.
Ganz zum Schluß möchte ich noch einen Dank von Hugh an die
deutschen gnokii-Benutzer weiterleiten. Er ist sehr erfreut über die
rege Teilname an dem gnokii-Projekt. Man kann sich unverbindlich in einer
Datenbank im Netz eintragen und somit sein Interesse an dem Projekt offiziell
kundtun. Hierbei stellen die Benutzer aus Deutschland die größte
Fraktion.
| Adressen | |
| gnokii Homepage: | http://gnokii.org/ |
| Verbindungskabel | http://www.datacable.de/ |
| SMS-Client: | http://www.styx.demon.co.uk/ |
| Gute Handy Seiten: | http://gsm-cables.com/topsites/topsites.html |
| gnokii Mailingliste: | gnokii-request@net.lut.ac.uk |
| Der Autor |
| Andreas Bohne ist Diplominformatiker mit Schwerpunkt Medizin und Technische Informatik. Seit September 99 ist sein Notebook überall zu erreichen :-) |