Řízení technologie pomocí SMS Karel Nový
2 Obsah prezentace Seznámení účastníků s různými verzemi zadání Návod k obsluze a ovládání zařízení Ukázka funkce zařízení Hardware Software Prameny
3 Původní verze zadání Pomocí SMS sepnout spínací kontakt Pomocí SMS rozepnout již sepnutý kontakt V aplikaci bude použit mobilní telefon Ericsson R520m Propojení řídící jednotky a telefonu bude realizováno originálním datovým kabelem Ericsson V řídící jednotce bude použit procesor Texas Instruments MSP 430
4 Finální verze řešení Základní funkce jednotky Po přijetí SMS s povelem „Zapni“ sepne relé a pošle zpětné potvrzení o provedené akci Po přijetí SMS s povelem „Vypni“ rozepne relé a následně pošle zpětné potvrzení o provedené akci Po přijetí SMS s povelem „Stav“ zjistí v jakém stavu je relé a následně odpoví, zda je sepnuto či rozepnuto Pokud je na zařízení zasláno cokoliv jiného, tak je na tuto SMS odpovězeno návodem k ovládání zařízení
5 Finální verze řešení Doplňkové funkce zařízení Zabezpečení je zajištěno takzvanými „oprávněnými uživateli“, což jsou lidé, jejichž telefonní čísla jsou uložena na SIM kartě na pozicích 1 – 8 Za číslo oprávněného uživatele se považuje takové číslo, které je v mezinárodním formátu užívaném například v Česku S těmito lidmi zařízení komunikuje, pokusy o komunikaci od ostatních uživatelů ignoruje, avšak pro kontrolu jejich zprávy zobrazuje na displeji Automatické dobíjení telefonu zajišťuje bezproblémový chod aplikace
6 Finální verze řešení Reset systému Dilema – má reset úplně resetovat systém nebo ne … ? Vzhledem k tomu, že seznam povolených uživatelů je uložen v procesoru, tak se dá očekávat, že se „reset“ bude používat především pro nové načtení uživatelů ze SIM karty Z tohoto důvodu „reset“ nenuluje stav bitu, který ovládá sepnutí kotle
7 Finální verze řešení Současná verze komunikuje s telefonem Ericsson R520m, výhledově se připravuje verze spolupracující s telefonem Ericsson A2618 a A1018 Jako jádro systému byl zvolen procesor Atmel 89C4051, protože disponuji kompletním vývojovým zázemím pro procesory této řady a dále mám s těmito procesory více než 8 leté zkušenosti
8 Finální verze řešení Aplikace musí být odolná proti rušení. Ani tento motor jí neohrozí
9 Finální verze řešení Design
10 Obsluha a ovládání
11 Obsluha a ovládání 1. Konektor pro připojení kotle. Kontakt je dimenzován zhruba na 50V a 1A. Limitujícím faktorem je zde použitý konektor a relé. 2. Indikátor sepnutého kotle. Pokud je kotel ( relé ) sepnuto, tak svítí i tato dioda. 3. Kontrolka zobrazující komunikaci s telefonem. Jestliže se po kabelu komunikuje s telefonem, tak tato dioda bliká v rytmu přenášených dat. 4. Napájení. Pokud tato dioda svítí, tak napájecí zdroj je připojen. 5. Napájecí konektor, napětí 12 V, proud alespoň 0,7 A, aby bylo zajištěno bezproblémové nabíjení. Přístroj je jištěn proti přepólování a přivedení střídavého napětí.
12 Obsluha a ovládání 6. Konektor pro připojení mobilního telefonu. Pozor, tento kabel zajišťuje současně i dobíjení telefonu. Vzhledem k tomu, že se zde komunikuje s napěťovými úrovněmi TTL, tak v žádném případě nepřipojujte pomocí tohoto kabelu telefon k počítači na sériovou linku Toto řešení bylo zvoleno ze tří důvodů Originální kabel stojí cca 1000 Kč, moje řešení vyšlo na 140 Kč Nutnost vyřešit napájení a dobíjení telefonu by vedla k zásahu do kabelu. Převed TTL úrovně na RS 232 a nazpět, na TTL úrověň je velice neefektivní postup
13 Obsluha a ovládání 7. Reset mikroprocesoru. Pokud budete například zadávat nového uživatele do SIM telefonu na patřičnou pozici, tak tímto způsobem donutíte procesor k opětovnému načtení nového seznamu uživatelů Pokud je stisknuto tlačítko, tak svítí kontrolní oranžová dioda nad tlačítkem. Tento reset nemění stav relé, které ovládá kotel Při stisku tohoto tlačítka se zmrazí dění na displeji Po uvolnění aplikace nabíhá znova
14 Obsluha a ovládání 8. Displej se informacemi o tom, co se děje. V horní části displeje se periodicky zobrazuje číslo, ze kterého přišla poslední SMS a datum s časem, kdy přišla Ve spodní části displeje je zobrazeno prvních 16 znaků příchozí SMS 9. Bypass – paralelně ke spínacímu relé je připojen tento spínač, který umožňuje testování, popřípadě je možné tímto spínačem vyřadit celý přístroj z možnosti ovlivňovat spínání
15 Praktická ukázka provozu Následující ukázka má za cíl ve zkratce zobrazit, jak daná aplikace funguje a jak se chová vůči uživateli Vzhledem k rozsahu aplikace jsem vybral pouze některé stěžejní body, ze kterých je na první pohled jasné, jak celé zařízení funguje Fotografie byly pořízeny při testovacím provozu na nepájivém kontaktním poli
16 Praktická ukázka provozu Úvodní hláška programu, zobrazuje název aplikace a jméno autora
17 Praktická ukázka provozu Číslo verze a datum jejího vzniku
18 Praktická ukázka provozu Program testuje periferie
19 Praktická ukázka provozu Bylo zjištěno, že mobilní telefon není připojen, následně je na displeji zobrazena výzva, aby tak bylo učiněno
20 Praktická ukázka provozu A nyní se zobrazuje seznam oprávněných uživatelů
21 Praktická ukázka provozu Šipky, které simulují otáčení hlavou znamenají, že program se rozhlíží po příchozí SMS
22 Praktická ukázka provozu Nyní se v horní řádce zobrazuje datum a čas, který je obsažen v příchozí SMS
23 Praktická ukázka provozu A na mobilní telefon autora příkazu přišla potvrzující zpráva
24 Praktická ukázka provozu Datum a čas, kdy dotaz přišel
25 Praktická ukázka provozu Odpovědí je informace o tom, že kotel je zapnut
26 Praktická ukázka provozu Nesmyslný příkaz
27 Praktická ukázka provozu Návod k ovládání ….
28 Praktická ukázka provozu Aplikace je stavěná tak, že je možno paralelně telefonovat a ovládat kotel pomocí SMS
29 Praktická ukázka provozu Příchozí hovor na telefon na který byla zapojena aplikace
30 Praktická ukázka provozu Zde je vidět, že ani uskutečněný hovor se nepodepsal na stabilitě programu
31 Napájení Jako stabilizátor napájecího napětí jsem zvolil integrovaný obvod 7805 s patřičně dimenzovaným chladičem, aby byla zajištěná bezpečná funkce zařízení i při dobíjení zcela vybitého telefonu Parametry IO Výstupní proud 1A Výstupní napětí 5V v toleranci vhodné pro TTL logiku
32 Zobrazovací jednotka Byl použit LCD displej MC 1602E – TGR Obsahuje standardní řadič HD od firmy Hitachi Zobrazuje 16 x 2 znaky Datová sběrnice může být 8 nebo 4 bitová Napájení a komunikace po sběrnicích je kompatibilní s TTL napěťovými úrovněmi Tento displej je vyroben technologií TN, lepší čitelnost zobrazených dat se dá dosáhnout s displeji na bázi STN, ty však nejsou momentálně dostupné
33 Zobrazovací jednotka Význam jednotlivých vývodů z displeje 1. GND, společná zem V, napájecí napětí 3. Kontrast displeje, napětí mezi 0 až 5 volty 4. R/S - Registr Select, určuje, zda na datové sběrnici jsou data pro zobrazení na displeji nebo řídící instrukce 5. R/W - Read/Write, zápis nebo čtení z displeje 6. E – Enable, povolení přenosu dat mezi displejem a okolím 7. – 14. – Datová sběrnice, komunikace s displejem může probíhat buď 8 bitově nebo 4 bitově. Výhoda 4 bitového připojení je úspora vodičů popřípadě portů procesoru.
34 Zobrazovací jednotka Displej
35 Srdce řídící jednotky Mikrokontrolér Atmel 89C4051 Harwardská architektura 8 bitová instrukční sada Oddělená paměť programu a paměť pro data 4 kB FLASH ROM 128 B RAM Taktovací kmitočet až 24 MHz, já používám 11,0592 MHz Snadné programování Integrované sériové rozhraní Dobrá dostupnost, přijatelná cena
36 Srdce řídící jednotky Programátor procesorů Atmel, připojuje se na sériové rozhraní
37 Ericsson R520m Li-Pol baterie HSCSD a GPRS Bluetooth HW modem Výborně zpracovaný manuál pro vývojáře aplikací na webu Ericssonu
38 Konektor Ericssonu R520m pin1: Audio vstup pin2: Audio výstup pin3: CTS pin4: Vstup dat pin5: Výstup dat pin6: Příslušenství pin7: Příslušenství pin8: Audio GND pin9: Servis pin10: Digitální GND pin11: Napájení telefonu i přísl. !
39 Ericsson R520m Parametry komunikace rychlost přenosu: 9600 bit/sec počet bitů (DATA): 8 počet STOP bitů:1 parita: N
40 Software Vzhledem k tomu, že procesor disponuje pouze 4 kB FLASH ROM a pouho pouhými 128 B RAM, tak jsem se rozhodl tuto aplikaci naprogramovat v jazyce symbolických adres ( nesprávně asembler ) Protože zdrojové texty mají přes 2000 řádek, tak jsem se rozhodl publikovat jen ty nejzajímavější pasáže
41 Software Úspora místa v procesoru Mobilní telefon posílá číselné hodnoty hexadecimální soustavy jako znaky …. Neefektivní Pokud provedu převod na hexadecimální soustavu, tak ušetřím polovinu místa v paměti
42 Komprimace dat Princip spočívá v tom, že od hex. hodnoty znaků „1“ až „9“ odečteme určitou hodnotu, čímž získáme jejich vyjádření v hex. Soustavě Od znaků „A“ až „F“ musíme odečítat jinou hodnotu … Následně se provádí rotace a podobně …
43 Komunikace s telefonem S telefonem se komunikuje pomocí AT příkazů, což znamená, že se telefonu pošle po sériové lince určitá sekvence znaků, která se nazývá AT příkaz Například na sekvenci znaků AT telefon odpoví OK, což znamená, že je v pořádku
44 SMS Submit Odesílání SMS
45 SMS deliver Pokud mobilní telefon vhodně naprogramujeme, tak příchozí SMS se automaticky objeví na jeho sériovém výstupu AT+CNMI=3,3,0,0 A následně ji můžeme zpracovávat
46
47 Dekódování PDU Klasická SMS používá přenos 7 bitů, takže 8 bit se automaticky považuje za nulový Výhodou je možnost odeslat 160 znaků místo 140 Nevýhodou je nemožnost používat znaky v horní polovině ASCI tabulky SMS s diakritikou používá kódování jednoho znaku do 2 oktetů Délka takovéto SMS je pouze 70 znaků Mobilní telefony Sagem tyto SMS neumí dekódovat …
48
49 Schéma zapojení
50 Hlavní plošný spoj
51 Zlepšení do budoucna Prvním zlepšením bude zavedení možnosti použití tohoto zařízení i v jiné GSM síti, než je Oskar V první fázi bylo vše vázáno pevně na síť Oskar protože Oskar hradil veškeré náklady spojené GPRS přenosy a s testováním SMS Dále plánuji přechod na procesor MSP 430 od firmy Texas Instruments, který má velmi nízkou spotřebu elektrického proudu
52 Prameny výborný vyhledávač, pomocí kterého si lze najít téměř všechny potřebné informace – zde jsou po registraci dostupné všechny normy, které se týkají GSM sítí – dokumentace k mobilním telefonům Ericsson – server zabývající se problematikou hardware – aplikace, která umí z PC odesílat SMS, pomocí ní jsem si ujasnil, jak nastavit některé parametry pro CZ GSM – stránky výrobce procesoru AT 89C A mnoho dalších ….