Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Sériové rozhraní a mobil (3. díl)
seriovy port
18. prosince 2001, 00.00 | Chcete komunikovat s mobilním telefonem přes sériové rozhraní? V tomto článku se dozvíte jak na to!
Výroba kabelu
Pokud již máte připravený datový kabel k propojení mobilu a počítače, tak můžete tento odstavec přeskočit. Ostatním nezbývá nic jiného než zaplatit 300 - 400 Kč nebo se pustit do světa elektroniky a "bastlení" - součástky asi za 150 Kč, pájka, základní znalosti z oblasti elektroniky. Já jsem si vyrobil kabel (s malými úpravami), jehož zapojení bylo uveřejněno v Praktické elektronice A Radiu v čísle 10/2001 na straně 23 a na http://www.mujweb.cz/www/bastl. V zapojení, které používám, jsem odstranil indikační diody s předřadnými odpory a přepínaní linky na MBUS.
Nejproblematičtější součáskou popisovaného kabelu je konektor mobilního telefonu. Každý výrobce používá jiný tvar a uspořádání konektoru - ke každému mobilnímu telefonu je potřeba zvláštní konktor. Ceny konektorů se pohybují kolem 100 Kč a dají se objednat přes internet (zkuste v některém vyhledávači zadat konektor+mobil; slušný výběr konektorů naleznete na http://www.volny.cz/siemensc35i).
Na co je ten kabel ?
Kabel slouží k propojení PC a mobilního telefonu a upravení hodnot napětí logické 0 a 1. Na straně PC se pracuje s hodnotami 5 až 15 V, kdežto většina mobilních telefonů používá 3,3 V.
Přístup k mobilnímu telefonu
Mobilní telefon obsahuje modem a ten se ovládá pomocí AT příkazů. AT příkaz je text, který začíná AT a končí znakem CR (#13). Následující příklad se vztahuje k mobilním telefonům Siemens C35i, SC35i, MC35i. Pokud máte jiný telefon, stačí stáhnout sadu AT příkazů, které používá Váš telefon (zkuste stránku o Nokii). Základní příkazy jsou totožné. Sadu AT příkazů pro uvedené telefony Siemens si můžete stáhnout zde.
K zadávání AT příkazů a příjmání odpovědí telefonu nám postačí chatovací program z minulého dílu - musíme správně nastavit přenosovou rychlost a ta je, dle údaje z manuálu, 19 200 B/s (platí pro Siemens, u jiných telefonů může být jiná) a upravit VaComm1.WriteText(edit1.text); na VaComm1.WriteText(edit1.text+#13);. Když nastavíte jinou rychlost mobilní telefon vám bude sice odpovídat, ale zmateně. Port je otevřen, mobil propojen s PC ve správném portu, vzhůru na zadávání příkazů !
AT příkazy
Základním pravidlem je, že nový příkaz můžeme poslat tehdy, až dostaneme odpověď na předchozí.
Začneme s příkazem, který mají společný všechny modemy už od nepaměti - příkaz ATD - vytočení čísla. Příklad použití příkazu ATD ve zdrojovém kódu:
VaComm1.WriteText('ATD'+Edit1.Text+';'+#13); //vytoč číslo zadané v editboxu
Pro vytočení naposledy volaného čísla použijte ATDL; a čísla ze seznamu ATD>[pořadové číslo v seznamu];.
VaComm1.WriteText('ATDL;'+#13); //vytoč poslední volané číslo
VaComm1.WriteText('ATD>2;'+#13); //vytoč číslo uložené pod 2
K příjmutí hovoru slouží ATA a zavěšení příkaz AT+CHUP:
VaComm1.WriteText('ATA'+#13); //beru to!
VaComm1.WriteText('AT+CHUP'+#13); //zavěs
Po vyzkoušení těchto příkladů jste si možná všimli, že zadané příkazy se "vrací" - po poslání telefonu se vypíše příkaz a odpověď na něj. Pokud nechcete, aby se příkaz "vrátil" pošlete tento příkaz: VaComm1.WriteText('ATE0'+#13); //zákaz echa
Zapnutí "vracení" (echa): VaComm1.WriteText('ATE1'+#13); //povolení echa
Užitečné může být opakování posledního příkazu: VaComm1.WriteText('A/'+#13); //repete
A není špatné, čas od času, mobilní telefon vypnout - příkaz AT^SMSO: VaComm1.WriteText('AT^SMSO'+#13); //končíme
Samozřejmě existuje víc příkazů jsem zde popsal - jen popis sady AT příkazů Siemensu má přes 50 stránek. Nastínil jsem jen ty základní pro inspiraci vaší tvořivosti, ostatní příkazy čekají až je vyzkoušíte právě vy !
Příklad použití AT příkazů, které jsem dnes použil, si můžete stáhnout jako projekt v Delphi.
Příště budeme vyhodnocovat odpovědi mobilního telefonu.
Obsah seriálu (více o seriálu):
- Sériové rozhraní v Delphi (1. díl)
- Sériové rozhraní v Delphi (2. díl)
- Sériové rozhraní a mobil (3. díl)
- Sériové rozhraní a mobil II (4. díl)
- Seriové rozhraní: Přenos souborů (5. díl)
- Sériové rozhraní: Vstupy a výstupy (6. díl)
- Ovládejte spotřebiče přes sériový port (7. díl)
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007