7.10. Oheisrautaa. sms Kooste vanhoista, kaipaa vielä fixsaamista,se tulee seuraavaan painokseen.



Samankaltaiset tiedostot
6.3. AVR_rauta. EEPROM-muisti pva

5.6. C-kielen perusteet, osa 6/8, Taulukko , pva, kuvat jma

KILPAILIJAN TEHTÄVÄT ARVIOINTIOSA 5

PROBYTE GSM ALARM #6d

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

AALTO-VALVONTALAITE TST5102

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen

/ * PROSESSORIN C-KIELINEN OHJELMA */

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen

Jani Koivula MURTOHÄLYTIN

GSM-MODUULI SULAUTETUSSA JÄRJESTELMÄSSÄ

Mikro-ohjain µc harjoitukset - yleisohje

7.3. Oheisrautaa. DS

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

PROBYTE GSM ALARM 9. PROBYTE GSM ALARM#9 toimii SMS-hälyttimenä ja SMS-kauko-ohjaimena. Soitto- tai SMShälytysviestien

Taitaja2007/Elektroniikka

PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite

GSRELE ohjeet. Yleistä

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

KÄYTTÖOHJE CELOTRON GSM LÄMPÖPUMPPUOHJAIN

Arduino ohjelmistokehitys

Tehtävä 5. ECIO dataloggeri lämpötila-anturilla

PIKAOPAS MODEM SETUP

Motorola Phone Tools. Pikaopas

Tek mediakaukosäätimen ja lähettimen ohjelmointiohje. Kuulotekniikka Oy Kauppalantie Helsinki Puh

PIKAOPAS MODEM SETUP FOR NOKIA Copyright Nokia Oyj Kaikki oikeudet pidätetään.

ERICSSON HM410DP ASENNUSOHJE

Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet pva

Elotec Ajax. Aloitus

PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

KREATEL IPTV-STB 1510 ASENNUSOHJE

Sulautettujen järjestelmien kilpailutehtävä

Käyttöohje V1.0 DCS771. USB-RS-485-muunnin

CEM DT-3353 Pihtimittari

Apple iphone 4 puhelimen käyttöönotto:

MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma

VIANMÄÄRITYSMENETTELY SD-NAVI (versio 1.00)

Asennus GOLDen GATE Lonworks FTT-10,

LevelOne PLI Asennusohje. 200Mbps HomePlug AV Ethernet-silta. Versio ish

NOOX xperio herätyskello valvontakamera

GSM robottimodeemi GSM-4S KÄYTTÖOHJE

Käyttöohje Laitteisto V1.1 DCS771B. USB-RS-485-muunnin

KÄYTTÖOHJE PEL / PEL-M

iloq P10S.10/20 -ohjelmointilaite Käyttöohje

E-RESULTS LITE -OHJEET

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

TeleWell GPRS-modeemin ohjekirja

Asentaminen Android-laitteeseen

TeleWell TW-3G+ USB / EXPRESS. HSDPA / 3G (UMTS) / EDGE / GPRS -modeemi ASENNUSOHJE

Helsinki Street Map. Nokia Communicator -versio (Series 80 versio) Asennus ja käyttöohje. Maaliskuu 2005 Versions 1.9x

PROBYTE GSM ALARM8. PROBYTE GSM ALARM#8 toimii hälyttimenä ja kauko-ohjaimena usealle käyttäjälle. Soitto- tai SMShälytysviestien

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

Versio 1.0. BLUETOOTH DONGLE, GS-301 GPS JA NAVICORE PERSONAL Asennusohje Windows 2000/XP ja Nokia Series 60 älypuhelimille

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

Opus SMS tekstiviestipalvelu

Yleistä. Probyte GSM-PLUG PROBYTE OY

GSMRELE PG-30 v

TIDOMAT smartone versio 2.1. GSM-modeemin asennus smartone keskusyksikköön

KÄYTTÖOHJE PEL 2500 / PEL 2500-M

VIANMÄÄRITYSMENETTELY SSD-NAVI (versio 3.00)

Liitäntäkaapelin CA-42 pika-asennusohje

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje

Useimmin kysytyt kysymykset

Nokia autosarja CK /1

TKT224 KOODIN KOON OPTIMOINTI

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

1 KÄYNNISTÄ MD-3100 USB ADSL MODEM. Tuotetiedot

SYDÄN-HÄMEEN RASTIT 2017 TULOSPALVELUN OHJEET LAITTEISTO 2. LAITTEISTON VALMISTELU 3. VALMISTELUT ENNEN TAPAHTUMAA

mobile PhoneTools Käyttöopas

Puhelinnumeroiden lataaminen laitteesta tietokoneelle

Asennusohje. EasyLine GSM

GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03

Sääasema Probyte JUNIOR

MASSER Loader V2.00. käyttö- ja asennusohje

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Fortum Fiksu Etäohjattava roiskeveden kestävä sähkökytkin (IP44) Käyttöohjeet

PIKAOHJE MODEM OPTIONS for Nokia 7650

Linux. Alkutarkistukset

Käyttöohje, terminaali. Boliden Harjavalta Copyright Lahti Precision Oy

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

VIP Softphone. Opas asennukseen ja tärkeimpien toimintojen käyttöön

Ohjelmoitava magneettivastuksellinen kuntopyörä. LCD-Näyttö BC-81295

ROSSI-AVR Versio 1.1, päivitetty

TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikan suuntautumisvaihtoehto. Insinöörityö. Toni Palosaari GPS-NOPEUSMITTARI

GPRS-lisäpalvelu INTERNET-ASETUKSET

Mittalaite ja puhelin on laitettu toimimaan automaattisesti yhdessä, sinun tulee seurata puhelimen antamia ohjeita mittauksen suorittamiseen.

Nimettömien tietojen lähettäminen Lenovolle

Suomenkielinen versio. Johdanto. Laitteiston asennus. PU013 Sweex 1-portin rinnakkainen & 2 -portin sarja PCI-kortti

TW- LTE 4G/3G. USB- sovitin (USB 2.0)

Pika-asennusohjeet Suomeksi

5.2. Sulautetun järjestelmän C-kielen perusteet 2/8, käsitteet pva

CipherLab CPT-8001L -tiedonkeruupäätteen käyttö Ecomin kanssa

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

NÄIN TEET VIDEO-MAILIN (v-mail)

Transkriptio:

7.10. Oheisrautaa. sms Kooste vanhoista, kaipaa vielä fixsaamista,se tulee seuraavaan painokseen. I m not lucky. I just persevere longer than other people. - Benny van Mable Yleistä Tässä rakennetaan pieni mikro-ohjain projekti. Laitteisto hankitaan valmiina, mutta ohjelma kehitetään aivan puhtaalta pöydältä. Tämä on eräänlainen yhteenveto ja samalla myös opitun tarkistus. Bonuksena syntyy mielenkiintoinen sovellus, josta voit itse kehittää myöhemmin vaikka mitä. Pienenkin sulautetun järjestelmän tekeminen alusta loppuun on suuri haaste. Mutta samalla se on erittäin opettavainen. Idea tähän projektiin tuli elävän elämän tarpeista, piti ohjata taukotilassa oleva kahvinkeitin päälle kauko-ohjatusti. Jatkokehittelymahdollisuuksia on. Lisäominaisuuksia varten pitää vain olla sellainen mikro-ohjain, jossa on hieman suurempi ohjelma- ja datamuisti. kuva 7.10.1. Nokian Communicator ja PK-2313i-mikro-ohjainkortti. 1

Suunnitteluprosessi Palautetaanpa mieleen, miten sulautetun järjestelmän laitteen suunnitteluprosessi etenee. piirroskuva projektista - määrittely - suunnittelu, speksit (ominaisuudet) - proton teko - ohjelman koodaus - testaus, virheiden korjaus, raudasta ja ohjelmasta - dokumentointi Projektin kuvaus Tehdään laitteisto- ja ohjelmakokonaisuus, jossa matkapuhelimen tekstiviestillä ohjataan PV-EMOkortille liitettyä summeria, relettä, moottoria, tms. Aluksi on viisainta määritellä spesifikaatiot, ominaisuudet, jotka valmiilta laitteistolta vaaditaan, kuten - mikä on käyttötarkoitus - välttämättömät ominaisuudet - toivottavat lisäominaisuudet - ympäristön vaatimukset - sähköturvallisuus - hinta A. Laitteisto Perusperiaate on se, että käytämme (tässä tapauksessa) mahdollisimman valmiita, toimivia laitekokonaisuuksia. Ohjelma tehdään itse. Tarvitaan: A.1. Matkapuhelin Puhelimelle on pari vaatimusta. Sen on tunnettava modeemeissa käytettävät - ns.hayesin AT-komennot - ja siinä on oltava RS-232-sarjaliitäntä (tai mahdollisuus sen tekemiseen) Valitaan puhelimeksi vanha Nokian Communicator. Kahdesta syystä. Niitä saa halvalla ja niissä on valmiina RS-232-liitäntä ja sarjakaapeli siihen tulee mukana. Jos puhelimen akku on loppu, ei se haittaa. Käytetään puhelinta laturin kanssa. Mikro-ohjainkortilla on RS-232-sarjaportti, joten laitteiden yhteen liittäminen on helppoa. Myöhemmin, taitojen ja vaatimusten kasvaessa, voidaan liittää joku muu kännykkä ja tehdä siihen itse liitäntäkaapeli. (netti on täynnä ohjeita). 2

A.2. Mikro-ohjainkortti. Tehdäänkö itse uusi kortti, vai käytetäänkö valmista? Aika ja raha ratkaisee tässäkin. Jos löytyy valmis edullisesti, niin miksi tehdä uutta korttia? Valitaan PV-EMO ja PV-M32, koska se on jo meillä käytössä. Muistia on vähän, mutta taitava koodaaja tekee siihen mahtuvan koodin. Esimerkkilaitteistossa ohjattavaa relettä simuloi, matkii, pietsosummeri. Sen tilalle voit, omiin voimiin luottaen, rakentaa vaikka moottorin ohjaussysteemin, tai jonkun muun tarpeellisen It s up to you. Summerin on oltava +5 Voltin käyttöjännitteellä toimiva. A.3. Kaapelit Puhelimen mukana tulee RS-232-kaapeli. Se liitetään suoraan PV-EMOn RS-232-liitäntään. Jos liitetään uudempi Communicator, tyyppi 9110, tai väri Communicator, ne vaativat sarjakaapelin D- liittimen pinniin 8 +5 V kättelyjännitteen. Se kytketään kortilta, selvitys edempänä.. B. Ohjelma Tehdään ohjelma, joka hoitaa puhelimen asetukset ja kerää tekstiviestin talteen ja sms:n tultua, laittaa summerin soimaan. C. Budjetti Koska ohjelman tekeminen vie vain aikaa, se ei maksa harrastajalle mitään. Vanha Communicator maksaa noin 100 euroa, tosivanhan saa muutamalla kympillä. Mikro-ohjainkortti meillä jo on. Siihen pitää hankkia pietsosummeri, kustantaa muutaman euron, tai tarvittaessa sen tilalle voi laittaa vaikka LED-diodin + etuvastuksen, niin pääset kaikkein edullisemmin tutustumaan ohjelmaan. Sarjakaapelin tekemiseen menee muuta euro, ellei sopivia liittimiä ja kaapelinpätkää löydy miljoonalaatikosta. D. Aikataulu Jos tekisimme kaupallisen tuotteen, sen hinta ja aikataulu olisi määriteltävä tarkkaan ja pyrittävä pysymään siinä. Mutta nyt kun tarkoitus on vain oppia, niin aikataulu riippuu pelkästään omasta halusta. sms-ohjelman alustava suunnittelu Puhelimen manuaalista tässä yhteydessä ei ole paljoa hyötyä. Tarvitaan nimittäin tietoa modeeminvalmistaja Hayesin AT-komennoista, AT niin kuin Attension. Noilla AT-komennoilla, jotka alun perin on tarkoitettu modeemien ohjaukseen, ohjataan matkapuhelinta. AT-komentoja ymmärtävä puhelin asetetaan tilaan, jossa tuleva tekstiviesti ei jää itse puhelimeen, vaan se siirretään saman tien sarjajohtoa pitkin mikro-kortille. 3

Nokian puhelimien käyttöohjekirjoista löytyy teksti, joka kertoo, osaako puhelin käyttää Hayesin ATkomentoja. Etsi vanhat modeemikirjat esiin ja netistä google-hakukoneella hakemaan lisäinfoa. Sitä löytyy todella runsaasti. Seuraavat sivut ovat tämän tekstin (ja koodin) tekemisessä olleet hyödyllisimpiä: www.cellular.co.za/at_etsi.htm www.option.com/support/hayesat.htm Olen tehnyt tärkeimmistä ohjauskomennoista pienen yhteenvedon, helpottamaan ensiaskeleita. Puhelimen asennus ja asetukset Tietokoneen tehtävähän on korvata ihmistyötä, sillä se tekee työn nopeammin, väsymättä ja virheettömästi. Ohjelma on ohje tietokoneelle siitä, mitä sen tulee tehdä. Jotta tiedämme, miten tietokoneohjelman pitäisi tässä yhteydessä toimia, tehdään kaikki tarvittava ensin manuaalisesti käsipelillä ja sen perusteella kirjoitetaan algoritmi, joka edelleen käännetään C-kieliseksi lähdekoodiksi. Tavoite Konfiguroidaan Communicator siten, että sen vastaanottama tekstiviesti siirtyy automaattisesti sarjaporttiin ja edelleen tietokoneeseen. Toimi näin Liitä puhelimen mukana tullut sarjakaapeli PC:n sarjaporttiin. Se on turvallisinta tehdä virrattomana. Käynnistä koneet ja käyttämämme Tera Term Pro terminaaliohjelma. Aseta se sarjaporttitoimintatilaan. Valitse oikea COM-portti ja seuraavat asetukset: 9600, 8 data, 1 stop, ei vuonohjausta. Tera Term Pro terminaaliohjelman sarjaporttiasetukset. 4

Puhelimien asetukset: 1. Nokia Communicator 9110 Datakaapeli: DLR-2 Aseta Communicator FAX-mode-tilaan painamalla System -> Faksimoodeemi -> Valitse -> Asetukset, tarkista, että ne ovat: kaapeli, 9600, vuonohjaus ei, databitit 8, stop-bitit 1. Aktivoi toiminto ->Käynnistä. 2. Nokia Communicator 9000 (Nokian ensimmäinen Communicator-malli) Datakaapeli: DAU-9P Valitse: System, -> Fax modem, -> Select Settings, -> Cable, -> baud rate 9600, -> flow control off, -> data bits 8, -> stop bits 1. -> Close, -> Activate 3. Nokia 6210 Datakaapeli: DLR-3 Kun kytket datakaapelin puhelimen ja tietokoneen välille, yhteys on valmis automaattisesti, ja puhelimen ruudulle tulee siitä ilmoitus. AVR ja sms-ohjaus, alkutoimet 1. Käynnistä PC-kone ja (Tera Term Pro) terminaaliohjelma. Aseta se sarjaportti-toimintatilaan. Valitse oikea COM-portti ja seuraavat asetukset: 9600, 8 data, 1 stop, ei vuonohjausta. Nokia 6210 + Datakaapeli: DLR-3 Kytke datakaapeli puhelimeen ja toinen pää tietokoneen RS-232-liitäntään (COM1). 2. Asetusten testaus 2.1. Puhelimen sarjanumeron kysely. Kirjoita PC:n näppäimistöllä: ati1 teksti pitää näkyä PC:n ruudulla terminaali-ohjelmassa ja sitten paina enter. Puhelin palauttaa sarjanumeronsa ruutuun, minulla se oli 490543704878137 OK Jos puhelin palautti sarjanumeronsa, niin kaikki on hyvin. Ellei, sitten seuraa vikojen etsintä. 2.2. Puhelin asetetaan tekstimode-toimintatilaan Se tapahtuu näin, kirjoita: at+cmgf=1 ja taas enter Puhelin vastaa: OK 2.3. Tekstiviestikeskuksen kysely Edellisen kaavan mukaan: at+csca? ja sitten enter, puhelin vastaa; +CSCA: "+358508771010",145 OK. Numero riippuu operaattorista. 5

2.4. Tekstiviesti, sms, sarjaporttiin Puhelin tulee asettaa toimintatilaan, jossa tekstiviesti ei jää puhelimeen, vaan se ohjautuu suoraan sarjaportin kautta terminaaliohjelmaan (tai kortille). Kirjoita at+cnmi=1,2,0,0,0 Enterin painalluksen jälkeen tulee vastaus, OK 2.5. Sitten asetetaan tekstiparametrit (Set text parametres) at+csmp=17,167,0,0 Vastaus: OK 2.6. Lähetä tekstiviesti PC:n terminaaliohjelmasta numeroon 0400745xxx Tarvitaan toinen puhelin, johon sms lähetetään. Komento on: at+cmgs="0400745xxx" Lainausmerkkien väliin kirjoitetaan sen puhelimen numero, johon sms lähetetään. Enterin jälkeen ruutuun tulee kulmamerkki (nuoli oikealle). Kirjoita sen jälkeen viesti, esim; > sms-testi Jos painat uudelleen enter, tulee uusi kulma. Lopetuskomento on ctrl ja z, paina niitä yht aikaa. Sitten viesti lähtee. +CMGS: 21 OK 2.7. Tekstiviestin vastaanotto Siihen tarvitaan toinen puhelin, jolla lähetetään PC:n kytkettyyn puhelimeen tekstiviesti. Lähetä vaikka viesti: Onnittelut! Terminaaliohjelmaan ilmestyy hetken kuluttua, tekstiviestin ehdittyä perille. +CMT: "+358400745xxx",,"02/10/28,22:54:52+08" Onnittelut! Ohjelman suunnittelu ja tekeminen Kaksi lähtökohtaa. 1. Tehdään ohjelma koostuvaksi useasta funktioista. * Aina kun funktiota kutsutaan, ohjelma tuhoaa työmuistista (SRAM) edellisen pinomuistin ja rakentaa uuden uutta funktiota, sen muuttujia yms. varten. Varo pitkiä sisäkkäisten funktiokutsujen jonoja, jolloin taas pinomuistin tarve kasvaa! 2. Käytetään mahdollisimman vähän globaaleja muuttujia. * Ne varaavat muistia koko ohjelman ajan. 6

Lähdekoodin kirjoittaminen Ohjelmakoodin kirjoittaminen on perusidealtaan algoritmin kääntämistä, manuaalisesti, ohjelmointikielelle. Tässä valmis malli /********************************************************** Project : sms_simple_m32_uusi.c, Hardware: PV-mega32 + PV-RS232 + Nokia 6210 + DLR-3P-kaapeli Muista myös +5V kättelypiuha_7. Kättelyt COM1:n pinnit 8-6-1-4 yhteen ja pin 7 +5 V. - nuo rivit turhia, jos käytössä on PV-RS232-moduuli=OK Software: WinAVR 20070122 Date : 15.5.2007 Author : pva Comments: initialisoi ensin Nokia 6210 tilaan, jossa tuleva sms siirtyy sarjaporttiin ja edelleen PV-mega32:n muistiin. Odottaa SMS-viestiä vilkuttelemalla PORTB:n ledejä. Kun sms tulee, PORTB = 0x Tätä koodia saa käyttää vapaasti, omalla vastuulla. Jos käytät koodia, tarjonnet tuopillisen tavatessamme. Jos parantelet sitä, niin kerro minullekin. Tarjoan takaisin. pentti.vahtera@microsalo.com **********************************************************/ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define XTAL 4000000 // MCU:n kellotaajuus #define BAUD 9600 // nopeus oltava 9600 bps #define viive_rs 4 // apuviive volatile uint16_t i = 0; // taulukon indeksi volatile uint8_t loota[60]; // tänne kerätään sms-merkit // uint8_t (ANSI-C) on unsigned char // uint16_t (ANSI-C) on unsigned int // volatile estää c-kääntimen optimoinnin vaikutuksen // ** funktioiden prototyypit **************************** void USART_Transmit(uint8_t data); void Sms_init(void); void Text_modeen(void); void Rx_termis(void); void Rx_ready(void); void wait(uint16_t time); // sarja_vastaanotto_keskeytys_funktio ******************** ISR(USART_RXC_vect) uint8_t merkki; merkki = UDR; // USARTiin tullut merkki muuttujaan 7

// tällä ohitetaan sms-alun "turhat" merkit if(i > 39) // ryhdytään keräämään talteen 39. merkin jälkeen loota[i-40] = merkki; // siirrä merkki taulukkoon i++; // taulukon indeksin päivitys if(i >= 60) sei(); // kielletään keskeytykset, eli uudet merkit void USART_Transmit(uint8_t data) // Wait for empty transmit buffer while (!( UCSRA & (1<<UDRE))); // odota kunnes UDRE == 1 // UDRE on 1, jos puskuri on tyhjä, // eli ed. merkki on lähetetty UDR = data; // lähtevä merkki USARTin datarekisteriin // *** USART asetukset, 8 data, 1 stop bit, 8N1 ********** void USART_Init(void) // Set baud rate, lasketaan bittien siirtonopeus UBRRH = 0x00; // write high register first UBRRL = ((XTAL/16)/BAUD)-1; UCSRB = (1<<RXEN) (1<<TXEN); // 0001 1000 // Bit 4 RXEN: Receiver Enable // Bit 3 TXEN: Transmitter Enable UCSRB = 1<<RXCIE; // rx interrupt enable, 1xx1 1xxx // sarjavastaanottokeskeytys sallittu // 8 Data, 1 Stop, No Parity 1xxx x11x UCSRC = (1<<URSEL) (1<<UCSZ1) (1<<UCSZ0); // ** kännykkä tekstimodeen ******************************* void Text_modeen(void) uint8_t p; // uint8_t text_mode[10] = 'a', 't', '+', 'c', 'm', 'g', 'f', '=', '1', 'enter ; uint8_t text_mode[10] = 0x61, 0x74, 0x2B, 0x63, 0x6D, 0x67, 0x66, 0x3D, 0x31, 0x0D ; // komentosana sarjaportin kautta kännykkään for(p = 0; p <= 9; p++) USART_Transmit(text_mode[p]); wait(viive_rs); // ** sms ei jää kännykkään, vaan COM kautta PV-kortille * void Rx_termis(void) 8

uint8_t p; // uint8_t termis[14] = 'a', 't', '+', 'c', 'n', 'm', 'i', '=', '1', pilkku, '2', pilkku, '0', pilkku, '0', pilkku, '0', enter ; uint8_t termis[18] = 0x61, 0x74, 0x2B, 0x63, 0x6E, 0x6D, 0x69, 0x3D, 0x31, 0x2c, 0x32, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x0D ; for(p = 0; p <= 17; p++) USART_Transmit(termis[p]); wait(viive_rs); // ** kännykkä valmiina sms-siirtoihin ******************** void Rx_ready(void) uint8_t p; // uint8_t rx_ready[13] = 'a', 't', '+', 'c', 's', 'm', 'p', '=', 17, pilkku, 167, pilkku, '0', pilkku, '0', enter ; uint8_t rx_ready[19] = 'a', 't', 0x2B, 'c', 's', 'm', 'p', 0x3D, 0x31, 0x37, 0x2c, 0x31,0x36,0x37, 0x2c, 0x30, 0x2c, 0x30, 0x0D ; // komentosana kännyyn for(p = 0; p <= 18; p++) USART_Transmit(rx_ready[p]); wait(viive_rs); // *** Primitive wait() *********************************** void wait(uint16_t time) volatile uint16_t i; for(i=0;i<2000;i++) _delay_loop_2(time); int main(void) DDRB = 0xFF; PORTB = 0x01; USART_Init(); PORTB = 0x03; Text_modeen(); PORTB = 0x07; Rx_termis(); PORTB = 0x0F; // näytetään startti // känny textmodeen // känny terminaalimodeen 9

Rx_ready(); // kännystä sms sarjajohtoon UCSRB = 1<<RXEN; // Receiver Enable, vastaanotto sallittu UCSRB = 1<<RXCIE; // rx interrupt enable, 1xx1 1xxx // sarjavastaanottokeskeytys sallittu sei(); // globaali keskeytys sallittu while(1) // vilkutellaan odotellessa sms:ää PORTB = 0x18; PORTB = 0x81; if(i >= 49) // kun sms-merkit luettu cli(); // estetään uudet keskeytykset PORTB = 0xE7; // Summeri soimaan, tai // tähän voit kytkeä transistorin ja releen... i = 0; while(1) // loppu ; HUOM! Et missään tapauksessa saa kytkeä yli 24 V jännitettä käyttäviä laitteita kortille. Ne ovat hengenvaarallisia!!! HUOM! Et missään tapauksessa saa kytkeä yli 24 V jännitettä käyttäviä laitteita kortille. Ne ovat hengenvaarallisia!!! Irtisanoutuminen Kaikki kytkennät ja kokeilut teet täysin omalla vastuulla. 10