Comments
Description
Transcript
GSM-MODUULI OSANA OHJAUSJÄR- JESTELMÄÄ
GSM-MODUULI OSANA OHJAUSJÄRJESTELMÄÄ LAHDEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokone-elektroniikka Opinnäytetyö Kevät 2007 Arvi Mönkkönen Lahden ammattikorkeakoulu Tietotekniikan koulutusohjelma MÖNKKÖNEN, ARVI: GSM-moduuli osana ohjausjärjestelmää Tietokone-elektroniikan opinnäytetyö, 52 sivua, 21 liitesivua Kevät 2007 TIIVISTELMÄ Tässä opinnäytetyössä käsitellään sulautettuja järjestelmiä, GSM-verkon rakennetta ja tutkitaan GSM-päätelaitteen soveltuvuutta sulautetun järjestelmän M2Mohjaukseen. Lisäksi esitellään järjestelmäesimerkissä käytettävä GSM-moduuli ja sen käyttöönotto. Työ sisältää myös järjestelmäesimerkin määrittelyn, suunnittelun, toteutuksen ja testauksen. Tavoitteena on tehdä kehitysalusta, johon toteutetaan järjestelmäesimerkkinä ajoneuvon esilämmityksen ohjausjärjestelmä. Järjestelmä jakautuu ajastin- ja GSM-laitteistoon. Ajastinlaitteen ytimenä käytetään Atmelin mikrokontrolleria ja GSM-laitteessa Telitin GSM-moduulia. Järjestelmä huolehtii ajoneuvon lämmityksen ohjauksesta huomioimalla ulkolämpötilan mukaisen lämmitysajan. Lämmityksen ajastuksen kytkeminen tapahtuu joko paikallisesti käyttöliittymän kautta tai GSMohjauksella. Järjestelmä toteutettiin omana projektityönä omaan käyttöön, ja se myös testattiin. Testauksen ja käyttökokemusten pohjalta päädyttiin, että järjestelmä toimii muutamien parannuksien ja kehityksien jälkeen suunnitellulla tavalla. Lopussa todettiin myös GSM-verkon olevan käytännöllinen ja soveltuva etäohjausmenetelmä sulautettujen järjestelmien M2M-ohjaukseen. Avainsanat: ajastin, kauko-ohjaus, GSM, sulautetut järjestelmät Lahti University of Applied Sciences Faculty of Technology MÖNKKÖNEN, ARVI: GSM module as part of a control system Bachelor’s thesis in computer electronics, 52 pages, 21 appendices Spring 2007 ABSTRACT This thesis deals with embedded systems and the structure of a GSM-network. It examines how GSM terminal equipment is applicable to M2M technology of embedded systems. In addition, it presents a Telit GSM module and how it is taken into use. The work also contains the definition, planning, realization and testing of the example application. The aim of the example application was to make a development kit for building a controller system for the heating of a car. The system consists of two parts, namely timer and GSM-unit. An Atmel microcontroller was used as the core of the timer and a Telit GSM module was used for the GSM. The system takes care of controlling the heating of the car. Timing of the heating is done based on the outside temperature. The timer can be turned on either by using the user panel in the car or using the GSM remote control. The system was implemented and tested as an independent project. Experiences of the testing and use showed that the system works as intended although there were some minor problems. The GSM network proved to be very useful and applicable to remote control M2M technology in embedded systems. Keywords: timer, remote control, GSM, embedded systems SISÄLLYS 1 JOHDANTO .........................................................................................................1 2 SULAUTETUT JÄRJESTELMÄT......................................................................3 2.1 Historiaa.........................................................................................................3 2.2 Yleiskäyttöisen ja sulautetun järjestelmän määritelmä..................................4 2.3 Sulautetun järjestelmän suunnittelu...............................................................5 2.4 Sulautetun järjestelmän arkkitehtuuri ............................................................6 2.5 Sulautetun järjestelmän ohjelmointi ..............................................................7 3 GSM-VERKKO JA M2M-TEKNIIKKA...........................................................10 3.1 Historiaa ja sukupolvet ................................................................................10 3.2 GSM-verkon arkkitehtuuri...........................................................................11 3.3 Lyhytsanomaviestien käyttösovelluksia ......................................................12 3.4 M2M määritelmä ja käyttösovelluksia ........................................................13 3.5 M2M GSM-verkossa ...................................................................................15 4 GSM-MODUULIN ESITTELY.........................................................................16 4.1 Moduulin ominaisuudet ...............................................................................16 4.2 Käyttöliittymä ja AT-kommennot ...............................................................18 4.3 Moduulin käyttöönotto ................................................................................18 5 AUTON ESILÄMMITYSOHJAUS - JÄRJESTELMÄESIMERKKI ..............20 5.1 Järjestelmän määrittely ja yleiset vaatimukset ............................................20 5.2 Järjestelmän toiminnalliset vaatimukset ......................................................24 5.3 Laitteiston suunnittelu .................................................................................26 5.4 Ohjelmiston suunnittelu...............................................................................39 5.5 Ajastinlaitteen toteutus ja testaus.................................................................41 5.6 GSM-laitteen toteutus ja testaus ..................................................................43 6 GM862:N SOVELTUVUUS KÄYTTÖÖN JA M2M-OHJAUKSEEN............46 6.1 Käyttökokemuksia alussa ............................................................................46 6.2 Soveltuvuus M2M-ohjaukseen ....................................................................47 7 YHTEENVETO..................................................................................................49 LÄHTEET .............................................................................................................51 LIITTEET ..............................................................................................................53 TERMILUETTELO ANSI American National Standards Institute AT Attention CPU Central Processing Unit DCS Digital Cellular System DTE Data Terminal Equipment EMC ElectroMagnetic Compatibility ETSI European Telecommunications Standards Institute EDGE Enhanced Data Rate for Global Evolution FM Frequency Modulation FSK Frequency Shift Keying GPRS General Packet Radio Service GSM Global System for Mobile Communications HSDPA High-Speed Downlink Packet Access I/O Input / Output ITU International Telecommunications Union IEEE Institute of Electrical and Electronics Engineers I2C Inter Integrated Circuit IP Internet Protocol ISP In-System Programmable IT Information Technology LED Light Emitting Diode, ledi M2M Machine-To-Machine, Man-To-Machine MIMO Multiple-Input-Multiple-Out NFC Near Field Communication NGN Next Generation Network OFDM Orthogonal Frequency-Division Multiplexing PC Personal Computer PCS Personal Communications System PDU Protocol Description Unit PSK Phase Shift Keying RFID Radio Frequency Identification RS 232 Recommended Standard 232 RTC Real Time Clock SIM Subscribe Identity Module SIP Session Initiation Protocol SMS Short Message Service SPI Serial Peripheral Interface UART Universal Asynchronous Receiver-Transmitter UMTS Universal Mobile Telecommunications System. 1 JOHDANTO Tämän opinnäytetyön tarkoituksena on tarkastella sulautettuja järjestelmiä ja GSM-verkon rakennetta ja ominaisuuksia sekä GSM-päätelaitteen käyttömahdollisuuksia ja soveltuvuutta sulautetun järjestelmän M2M-ohjaukseen. Tietolähteinä käytetään pääasiassa alan kirjallisuutta ja artikkeleita sekä Lahden ammattikorkeakoulun kurssien lähdemateriaalia. Saavutettuja tuloksia on tarkoitus hyödyntää esimerkiksi markkinoimalla järjestelmää ohjelmistolle kehitysalustana joko oman yrityksen tuotteena tai toiselle yritykselle. Sulautettujen järjestelmien merkitys kasvaa päivä päivältä yhä suuremmaksi meidän kaikkien jokapäiväisessä elämässämme, vaikka aina emme sitä itse edes huomaa. Kuka tulee ajatelleeksi rahaa pankkiautomaatista nostaessaan tai autolla ajaessaan, että samalla käyttää tietokonetta tai oikeastaan useaa mikrotietokonetta samalla kertaa. Sulautettujen järjestelmien suunnittelu tulee varmasti olemaan tulevaisuuden alaa, sillä sulautettuihin järjestelmiin suunnitellut laitteistonopeudet ja laskentatehot kasvavat koko ajan, eikä kehitykselle näy vielä loppua. Lisäksi tietoliikenne on saanut yhteiskunnassamme tärkeän aseman, sillä yhä useampi palvelu voidaan toteuttaa erilaisten tietoverkkojen kautta joko langallisesti tai langattomasti, kännykän tekstiviesteistä ja pankkien tilisiirroista aina monimutkaisiin reaaliaikaisiin multimediapalveluihin saakka. (Vahtera 2003; Penttinen 2001. ) Matkapuhelinverkkojen käyttö on muissakin kuin puheyhteyksissä kasvanut, sillä verkkoja käytetään paljon myös tiedonsiirtoon. Yksi matkapuhelinverkoista, GSM, on saavuttanut suosionsa matkapuhelinvalmistajien ja -käyttäjien keskuudessa, vaikka se on jo muutamien vuosien vanha keksintö. GSM onkin jäämässä vielä joksikin aikaa Suomen ja Euroopan verkkokäyttöön, ennustaa Penttinen kirjassaan GSM-tekniikka. Kolmannen ja neljännen sukupolven mobiiliverkkoja ollaan jo toteuttamassa; niistä tuoreimmat ovat LTE ja WiMax. Näillä verkoilla päästään jo huimaan satojen megabittien siirtonopeuksiin (Ojanperä 2007), kun GSM:n maksimi siirtonopeus käytännössä on EGPRS-yhteydellä (EDGE) 240 kbps luokkaa. GSM-liittymiäkin on Suomessa jo enemmän kuin ihmisiä, ja liittymien määrä kasvaa koko ajan. M2M-ohjaus ja valvontaliittymät kasvattavat omalta osaltaan liittymämäärää (Ojanperä 2007). Monissa teollisuuden sovelluksissa 2 käytetäänkin M2M-tekniikkaa, joka tarkoittaa laitteiden välistä keskustelua tietoliikenneverkon välityksellä (Tekes 2005). Tässä tutkielmassa perehdytäänkin GSM-koneen ja matkapuhelimen kommunikointiin ja toteutetaan suunniteltuun kehitysalustaan GSM-ohjaus. Kone-termiä käytetään silloin, kun GSM-päätelaitteen käyttäjänä on mikro-ohjain tai prosessori. Kehitysalustan järjestelmäesimerkkinä toteutetaan ajoneuvon esilämmitykseen liittyvä ohjausjärjestelmä. Järjestelmä koostuu Ajastinlaitteesta käyttöliittymäpaneeleineen ja GSM-laitteesta GSM-moduuleineen. Järjestelmän toteuttaminen sai ideansa talvella auton esilämmitykseen liittyvistä toimenpiteistä, joita tulisi helpottaa. Lähes kaikki talviautoilijat tietävät, että on edullista ja mukavampaa sekä ajoneuvolle että autoilijalle saada ajoneuvo lämmitettyä ennen liikkeellelähtöä. Monesti lämmitykseen ratkaisuna on ollut halpa kelloajastin, joka ajastaa lämmityksen. Mekaanisen ajastimen kytkeminen ja sen asettaminen kylmänä ja pimeänä iltana on rasite, jota moni ei vaivaudu tekemään. Ongelma ratkaistaan elektronisella lämmityksen ohjauslaitteella, joka säätää moottori- ja sisätilalämmittimen lämmitysajan ulkolämpötilan mukaan. Lämmitys voidaan kytkeä päälle paikallisesti tai tekstiviestillä GSM-ohjatusti. Järjestelmän käytön toimintamalli olisi lyhyesti seuraava: Kytketään verkkopistoke ajoneuvon pistorasiaan ja asetetaan ajoneuvon liikkeellelähtöaika helppokäyttöisen käyttöliittymän tai kauko-ohjauksen kautta. Tällöin järjestelmä huolehtisi lämmityksestä sään mukaisella ja energian kulutuksen kannalta optimaalisimmalla teholla liikkeellelähtöaikaan mennessä. Työn alussa tutkitaan ensiksi yleisellä tasolla sulautettuja järjestelmiä, sulautetun järjestelmän suunnittelua ja ohjelmointia. Luvussa 3 tarkastellaan GSM-verkon rakennetta ja sen toimintaa sekä M2M-käyttösovelluksia. Luvussa 4 esitellään järjestelmäesimerkissä käytettävä GSM-moduuli. Luku 5 käsittelee järjestelmäesimerkin määrittelyn ja suunnittelun ja toteutuksen sekä testausta. Loppuvaiheessa, luvussa 6, käsitellään GSM:n soveltuvuutta M2M- ja valvontaohjaukseen. Luvun 7 tarkoituksena on tarkastella työn tuloksia sekä pohtia työn kehittämistä. 3 2 SULAUTETUT JÄRJESTELMÄT Tässä luvussa käsitellään lyhyesti mikrotietokoneiden historiaa sekä sulautettujen järjestelmien perusominaisuuksia ja eroja tavanomaisiin tietokonejärjestelmiin verrattuna. Luvussa käydään lyhyesti läpi myös sulautettujen järjestelmien arkkitehtuuria, suunnittelua ja ohjelmointia. Luku perustuu pääasiallisesti lähteisiin. 2.1 Historiaa Vaikka tietokoneet, mikroprosessorit ja erilaiset tietokoneohjelmat ovat nykyaikana osa jokapäiväistä elämäämme, niiden historia ei ole vielä pitkä. Tietokonealan kehitys- ja kasvu on kuitenkin ollut hyvin nopeaa. Eräs syy alan menestykselle on sen tarjoamat mahdollisuudet saavuttaa merkittäviä kustannushyötyjä, sillä ohjelmoitavalla arkkitehtuurilla laskentayksikön (ALU) kustannukset voidaan jakaa useiden eri ongelmien kesken. Ensimmäinen reaaliaikatoimintoja tukemaan suunniteltu tietokone oli Whirlwind. Sen kehittäminen alkoi 1945 MIT:ssä (Massachusetts Institute of Technology) Yhdysvalloissa ja ensimmäisen kerran se esiteltiin 20. huhtikuuta 1952. Whirlwind oli ensimmäinen digitaalinen tietokone, joka pystyi näyttämään reaaliaikaista tekstiä ja grafiikkaa videoterminaalilla, joka oli siihen aikaan suuri oskilloskooppinäyttö. Tietokone oli hyvin suurikokoinen verrattuna nykyaikaisiin tietokoneisiin, sillä se sisälsi mm. yli 4000 tyhjöputkea. (Äyrämö 2002.) 1970-luvun alussa mikroprosessorit, eli CPU-yksiköt, korvasivat erillisillä elektroniikkakomponenteilla toteutettavan logiikan. Ensimmäinen mikroprosessori, Intelin valmistama 4004-prosessori, esiteltiin vuonna 1971. Se suunniteltiin laskukonetta varten, ja toiminta koostui lähinnä aritmeettisista perusfunktioista. 4004-prosessorin kellotaajuus oli 108 kHz, väyläleveys 4 bittiä ja se koostui 2300 transistorista. Myöhemmin mikroprosessorien kellotaajuudet ja laskentakapasiteetit ovat kehittyneet huomattavaa vauhtia. Uusien 2000-luvun prosessorien kellotaajuudet ovat jo reilusti yli gigahertsien luokkaa, väyläleveydet 32 tai 64 bittiä, ja ne sisältävät kymmeniä miljoonia transistoreja yhdellä CPU-sirulla. (Äyrämö 2002.) 4 Vaikka ohjelmistosuunnittelu mikroprosessorijärjestelmään saattaa olla kallista, on se yleensä vain kertakustannus. Saman toiminnallisuuden toteuttavan laitteistopohjaisen ratkaisun kokonaiskustannukset saattaisivat olla monta kertaa suurempia. Mikroprosessoriratkaisut ovat myös joustavampia. Jos suunniteltavasta järjestelmästä täytyy toteuttaa erilaisia versioita, saattaa niiden toteuttaminen laitteistopohjaisessa ratkaisussa vaatia elektroniikan suunnittelemista lähes kokonaan uudelleen. Mikroprosessoritoteutuksessa saatetaan selvitä muutaman lähdekoodirivin kirjoittamisella. Tästä nähdään, että mikroprosessoripohjaisten toteutusten etuna on erityisesti niiden ohjelmoitavuus. Sama laitteisto voidaan helposti ohjelmoida suorittamaan kahta tai useampaa erilaista tehtävää. Mikroprosessorit ovat myös pienentäneet tietokoneiden kokoa, ja ne ovat levinneet osaksi lähes kaikkia nykyajan elektronisia laitteita ja koneita, kuten PC-tietokoneet, lentokoneet, autot, MP3-soittimet, digitaaliset televisiot ja kamerat jne. (Koskinen 2004; Äyrämö 2002.) 2.2 Yleiskäyttöisen ja sulautetun järjestelmän määritelmä Sähköisten laitteiden ohjaus perustuu yhä useammissa tapauksissa mikroprosessoriohjaukseen, ja ohjausyksikkö on sulautettu osaksi itse laitetta. Mikrotietokoneet voidaankin jakaa kahteen ryhmään: yleiskäyttöisiin ja sulautettuihin järjestelmiin. Sulautetut järjestelmät (Embedded System) eroavat käyttötavassa yleiskäyttöisistä mikrotietokoneista, jotka tunnetaan yleensä PC-mikroiksi (Personal Computer). PC-järjestelmä on tarkoitettu henkilökohtaiseen tietojenkäsittelyyn, kun taas sulautettu järjestelmä tarkoittaa laitteistokokonaisuutta, jossa mikrotietokone on osana jotakin elektroniikkajärjestelmää. Ne eivät ole yleiskäyttöisiä, vaan niitä käytetään tiettyyn erityistarkoitukseen. Myös tavalliset PC-tietokone- kokonaisuudet sisältävät sulautettuja mikroprosessoreja. Siksi kirjallisuudesta on vaikea löytää yksiselitteistä määritystä sulautetulle järjestelmälle. Yhteistä sulautetuille järjestelmille ja PC-tietokoneille on, että molempiin kuuluu vähintään mikroprosessori, muistia ja jonkintasoinen ohjelmisto. Sulautettujen järjestelmien valmistuserät ovat yleensä paljon pienemmät kuin yleiskäyttöisten mikrotietokoneiden. (Koskinen 2004; Äyrämö 2002.) Sulautetun järjestelmän laitteisto ja ohjelmisto muodostavat erottamattoman kokonaisuuden, jossa tapahtuu informaation välitystä prosessorin avulla tavallisen 5 käyttäjän sitä huomaamatta. Sulautetuille järjestelmille onkin tunnusomaista, että tiedonkäsittely ei ole käyttäjälle tärkein tehtävä eikä käyttäjän tarvitse tietää tietokoneen olemassaolosta. Informaation välitys käyttäjälle voi tapahtua esimerkiksi LCD- eli nestekidenäytön tai ledinäytön kautta. Sulautettu järjestelmä koostuu vähintään prosessorista, ohjelma- ja käyttömuistista, väylistä ja I/O-laitteista. Esimerkiksi sulautettua tietotekniikkaa hyödyntävä lämmitysjärjestelmä voi lisätä lämmitystä ulkoilman lämpötilan mukaan, kuten tutkielman järjestelmäesimerkissä, tai pesukone voi säädellä veden ja pesuaineen tarvetta pyykkimäärän ja pyykin likaisuuden mukaan. Sulautettuja järjestelmiä käytetään nykyään moniin eri tarkoituksiin mitä erilaisimmissa ympäristöissä, kuten lentokone- ja avaruuselektroniikassa, autoissa, sykemittareissa, matkapuhelimissa, hisseissä jne. Siksi sulautetuissa järjestelmissä yleensä vaaditaan korkeaa luotettavuutta, käytettävyyttä, ylläpidettävyyttä sekä siihen liittyy usein myös reaaliaikaisuuden, tosiaikaisuuden käsite. Reaaliaikaisuus tuo esille sovelluksen toiminnan tietyssä vasteajassa eli prosessin saama heräte aiheuttaa toiminnan, jonka tulee tapahtua sallitun aikarajan sisäpuolella. Siten sulautettu järjestelmä voi olla myös reaaliaikajärjestelmä. Monesti mobiilius ja sovelluskohtaiset rajoitteet ovat myös tyypillisiä sulautetuille järjestelmille (Koskinen 2004; Äyrämö 2002.) 2.3 Sulautetun järjestelmän suunnittelu Sulautetun järjestelmän suunnittelu vaatii paljon aikaa suunnitteluun toimivan järjestelmän rakentamiseksi. Kuviosta 1 nähdään suunnitteluprosessin päävaiheet. Prosessi jaetaan kahteen eri alueeseen, laitteistoon ja ohjelmistoon. Laitteistossa ensin määritellään laitteen tai järjestelmän tavoitteet, ominaispiirteet ja ominaisuudet, jonka jälkeen voidaan alkaa tarkempaa kytkentäkaavion suunnittelua. Piirilevyn suunnittelun jälkeen valmistetaan ensimmäinen prototyyppi laitteesta ja se testataan. Ohjelmalliset ominaisuudet määritellään myös työn alkuvaiheessa, jolloin voidaan keskittyä ohjelman algoritmin suunnitteluun sekä ohjelman rungon suunnitteluun. Ohjelman lähdekoodi kirjoitetaan vasta algoritmin suunnittelun jälkeen. Lisäksi lähdekoodi käännetään ja testataan ja tämän jälkeen prototyyppi testataan niin ohjelmallisesti kuin laitteistollisestikin. Testauksessa voidaan tehdä useita eri prototyyppejä laitteesta, mutta määrää yritetään kustannussyistä alentaa. Laitteen massatuotanto alkaa toimivimman prototyypin hyväksyttyä. Tämän tut- 6 kielman järjestelmäesimerkissä noudatellaan sulautetun järjestelmän yleistä suunnitteluprosessia, lukuun ottamatta järjestelmän ottamista massatuotantoon. KUVIO 1 Sulautetun järjestelmän suunnitteluprosessi (Vahtera 2003). 2.4 Sulautetun järjestelmän arkkitehtuuri Kuten aikaisemmin on mainittu, sulautettu järjestelmä koostuu vähintään prosessorista, muistista, väylistä ja I/O-laitteista. Prosessori eli CPU (Central Processing Unit) suorittaa sovellusohjelman mukaisen toiminnan eli tekee tarvittavat tiedonluku- ja kirjoitustapahtumat. Mikroprosessorin valinta vaikuttaa oleellisesti sulautetun järjestelmän hintaan ja ohjelmallisiin ja laitteistollisiin ominaisuuksiin. Prosessori tarvitsee tuekseen myös muistia, jonne se voi tallentaa väliaikaisia tietoja tai itse ohjelmakoodin, joka luetaan prosessorin käynnistyshetkellä. Muistit jakaantuvat fyysisesti ohjelma- ja käyttömuistiin. Väylät toimivat prosessorin ja oheislaitteiden välillä signaalien siirtäjinä. Väylän leveys vaikuttaa osaltaan pro- 7 sessorin suorituskykyyn toimittaa informaatiota, koska suuret datamäärät saattavat tukkia kapean väylän. Ilman väyliä ja I/O-laitteita prosessori ei voisi tehdä mitään näkyvää, siksi I/O-laitteiden tehtävänä on saada yhteys ulkomaailmaan ja kontrolloimaan ulkomaailman ohjauksia ja toimintoja. I/O-laitteita voi olla esimerkiksi tulostimet, näyttölaitteet, näppäimistöt jne. (Koskinen 2004; Äyrämö 2002.) Nykyisin sulautettuun järjestelmään on saatavilla valmiita käyttöjärjestelmiä, jolloin piiloutuu laitteiston ja ohjelmiston rajapinta ja käyttäjä näkee laitteistosta vain käyttöjärjestelmän toiminnot. Järjestelmäesimerkin käyttöjärjestelmänä käytetään itse suunniteltua käyttöliittymää tai -järjestelmää, joka perustuu tehtävän suorituspohjaiseen rakenteeseen. Esimerkkejä sulautetuista reaaliaikakäyttöjärjestelmistä ovat mm. VRTX, VxWorks, OS-9, AvrX sekä Embedded Linux. (Koskinen 2004; Äyrämö 2002.) 2.5 Sulautetun järjestelmän ohjelmointi Kuten edellisissä luvuissa tuli esille, sulautettu järjestelmä koostuu hyvin usein mikroprosessorista tai -ohjaimesta, jolla laitteeseen saadaan älyä. Pienissä järjestelmissä käytetään pienitehoisia, yleensä 8-32 bittisiä mikro-ohjaimia, joissa on vähän muistia ja joiden päätehtävänä on ohjata ja valvoa jonkun elektronisen laitteen toimintaa. Ehkä juuri tämän takia käytettävissä olevan ohjelmointikielen tulee olla laiteläheistä. Valittavan ohjelmointikielen tulee olla yleinen eli paljon käytetty ja siksi myös standardoitu, koska suositulle kielelle löytyy tarvittaessa apua, kuten koulutusta, kirjallisuutta, kursseja, työkaluja, valmiita ohjelmia, www-osoitteita ja keskustelupalstoja netissä, jne. Mielellään sen tulee olla sellainen, että se on helppo oppia ja kuitenkin tehokas. Tärkeintä tietenkin on, että käytettävälle mikro-ohjaimelle löytyy valittavan kielen kääntäjäohjelma ja muita työkaluja. Nykyään sulautetun järjestelmän ohjelmistokehitys tapahtuu pääasiassa Ckielellä, jota täydennetään tarvittaessa assembly-kielisillä aliohjelmilla. C-kieli on hyvin standardisoitu, ja se mahdollistaa sen, että kieli on hyvin helposti siirrettävissä eri ympäristöihin eli mikro-ohjaimille. Samalla se takaa, että käyttövarmuus, ylläpidettävyys ja suoritustehokkuus ovat hyvät. (Vahtera 2003.) ANSI (American National Standards Insitute) on vuodesta 1983 alkaen huolehtinut C-ohjelmien yhteensopivuudesta. Ennen sitä kaikki ohjelmoijat noudattivat 8 normina Ritchie ja Kerninghan kirjaa The C Programming Language. ANSI C standardi valmistui 1989 ja sitä on myöhemmin (1999) täydennetty. Kun ohjelmassa käytetään pelkästään ANSI-standardin mukaista koodia, se on käännettävissä eri ympäristöihin, ja kääntämisen voi tehdä kaikilla normin mukaisilla Ctyökaluilla. ANSI C määrittää C-kielen lisäksi myös standardikirjaston (Standard Library), jossa määritetään ne perusfunktiot, jotka ovat käytettävissä eri ympäristöissä ja josta voi poimia useaan eri tilanteeseen ja ongelmaan sopivan ohjelmamoduulin. Valmiita funktioita löytyy mm. käyttöjärjestelmän käsittelyyn, muotoiltuun syötteeseen ja tulostukseen, muistin varaamiseen, merkkijonojen käsittelyyn jne. Normi esittää yksityiskohtaisesti kunkin valmiin funktion toiminnan. (Vahtera 2003.) Mitä lähempänä laitteistoa ollaan, sitä vähemmän voi käyttää yleiskäyttöisiä valmiita ratkaisuja. Standardinmukaista ANSI C:tä ei oikeastaan ole olemassa sulautetuille järjestelmille ja suurin osa sen kirjastoista on aivan liian raskasta esim. 8-bittiselle mikro-ohjaimelle. Toisaalta laiteläheisyys edellyttää suuren määrän koodia, jota ei ole standardoitu. (Vahtera 2003.) Sulautettujen järjestelmien koodikirjastoon kukin kääntäjän valmistaja joutuu tekemään suuren joukon kyseisen prosessorin (mikro-ohjaimen) läheisiä, standardiin kuulumattomia funktioita. Näiden funktioiden määrä ja laatu ovat hyvin ratkaisevia tekijöitä, kun sopivaa kääntäjä-ohjelmaa valitaan. Myös yksityinen ohjelmoija voi kirjoittaa omia tai käyttää muiden valmistamia funktioita, jos oma järjestelmä edellyttää erityistarpeita. Hyvin tehty oma funktio on yleiskäyttöinen ja antaa lisämukavuuksia ohjelmoimiseen. (Vahtera 2003.) C-kieli sopii jäsentävään suunnitteluun eli rakenteelliseen ohjelmointiin. Ohjelma on helpompi kehittää, kun monimutkaiset ongelmat jaetaan ensin pienempiin osiin. Se mahdollistaa valmiiden, käytännössä testattujen funktioiden uusiokäytön. Esimerkkinä voi olla näytön ohjaus tai sarjaportin käsittely. Rakenteellinen ohjelma on helpompi korjata, koska ohjelmavirheet, paikallistetaan tavallisesti yhteen funktioon. Virheitä ei tarvitse etsiä koko koodista. Ohjelmasta tulee samalla hierarkkinen, kun funktiot kutsuvat toisiaan. Joitain funktioita käytetään anturien lukemiseen, toista tulosten laskentaan, kolmatta toimilaitteen ohjaamiseen, jne. (Vahtera 2003.) 9 C-kielen sanotaan olevan laiteläheisen ohjelmoinnin kantaisä. Oikeastaan sulautetuissa järjestelmissä, joissa yleensä on käytettävissä vähäiset laiteresurssit, ei muita korkean tason kieliä voi ajatellakaan. Tämän tutkielman järjestelmäesimerkissä käytetään C-kieltä sovelluksien ja käyttöjärjestelmän ohjelmoimiseen. Tulevaisuudessa lienee odotettavissa, että C-kieli on syrjäytymässä korkeatasoisemmalla kielellä sulautettujen järjestelmien ohjelmointikielenä. (Vahtera 2003.) 10 3 GSM-VERKKO JA M2M-TEKNIIKKA Tässä luvussa käsitellään GSM-verkon historiaa, rakennetta ja sovelluksia, jossa tutustutaan GSM-tekniikkaan siinä määrin, mikä on tutkielman kannalta oleellista. Lisäksi käydään läpi M2M-tekniikan määritelmää, kuvausta ja käyttösovelluksia. 3.1 Historiaa ja sukupolvet GSM-verkkojen rakentaminen Suomeen alkoi 1990-luvun taitteessa, ja se on nykyään käytetyin matkapuhelinteknologia. Se tunnetaan niin sanottuna toisen sukupolven (2G, second generation) teknologiana. Se on kehittynyt Suomessa vuosien saatossa siten, että vuoden 2001 aikana lisättiin käytettäviin matkapuhelinverkkoihin tietoliikennettä varten GPRS, jolloin parannettiin matkapuhelinten WAP- ja Internet-palveluiden toimivuutta. Tällöin GSM:n vaihetta kutsutaan usein käytännössä nimellä 2,5G. Näissä sekä puhe- että ohjauskanavat käyttävät digitaalista tekniikkaa. Digitaalisen signaloinnin käyttö puhekanavissa mahdollistaa tehokkaamman modulaation. Näin on mahdollista tukea useampia puheluita ja dataa alemmalla taajuusspektrillä. 2G tukee myös kehittyneitä langattomia palveluita, kuten tekstiviestit, todennus ja puhelinohjelmistojen päivitykset. (Penttinen 2006; Penttinen 2001; Granlund 2001.) Edellä mainittuja verkkoja ennen Suomessa oli käytössä ensimmäisen sukupolven analoginen NMT-tekniikka. 1G-verkossa puhe lähetetään käyttämällä taajuusmodulointia eli FM:ää, joka vain muuttaa kantoaallon taajuutta audiosignaalin mukaan. 1G käyttää rajattua kanavien joukkoa, joissa käytetään vaihtotaajuusavainnusta eli FSK:ta puhelun muodostuksessa ja ylläpidossa tarvittavien ohjaussignaalien lähettämiseen. 1G toimii hyvin äänipuheluissa huolimatta ajoittaisesta rahinasta ja kohinasta, mutta se ei riitä datan siirtoon. Puheen lailla data täytyy esittää analogisina signaaleina. Käyttäjien on kytkettävä tietokoneensa modeemilla järjestelmään ja modeemi muuntaa tietokonelaitteen digitaaliset signaalit analogiseen muotoon (kuten FSK tai PSK), joka sopii pienessä 4 kHz puhekanavassa tapahtuvaan tiedonsiirtoon. Tästä johtuen nopeudet voivat olla vain 20-30 kbps. 1G:n kapasiteetti ei riitä myöskään salausmekanismeihin vaan on ilmeistä, että se suunniteltiin puheen, ei datan siirtoon. (Penttinen 2001; Granlund 2001.) 11 Toimivassa tiedonsiirrossa nykyään yleisin tekniikka on aikaisemmin mainittu GPRS, joka mahdollistaa huomattavasti aiempaa nopeamman ja halvemman tiedonsiirron matkapuhelimiin. GPRS:n enimmäisnopeudet voivat olla 171,1 kbps. Myös EDGE parantaa GSM:n ominaisuuksia käyttämällä 8-tasoista PSK:ta, jossa jokainen lähetetty symboli vastaa kolmea databittiä, jolloin enimmäissiirtonopeus on 474 kbps. (Penttinen 2006; Penttinen 2001; Granlund 2001.) Nyttemmin seuraavasta sukupolvesta, 3G, on olemassa useampia kilpailevia standardeja, joista yksi esimerkki on Euroopassa suosittu UMTS. Kolmannen sukupolven järjestelmien pääajatuksena on kyky välittää erityisesti multimediaa eli esimerkiksi puheen ja liikkuvien kuvien yhdistelmää. Lisäksi UMTS:n tarkoitus on kattaa maailmanlaajuinen kuuluvuusalue. UMTS pystyy 2 Mbps tiedonsiirtonopeuksiin rakennusten sisällä, 384 kbps:een kaupunkialueilla ja 144 kbps:een niiden ulkopuolella. Siksi 3G voi tukea myös multimediasovelluksia (Penttinen 2006). Tuoreimmat mobiiliverkoista ovat LTE ja WiMax, jotka kiihdyttävät 3Gvauhtia. Tekniikoissa käytetään MIMO-yhteyksiä, ja ne hyödyntävät OFDMmodulaatiota. LTE kykenee liikennöimään jopa 150 megabitin nopeuksilla. (Ojanperä 2007). (Penttinen 2006; Penttinen 2001; Granlund 2001.) Kuten Suomessa on havaittu, uusia järjestelmien versioita ilmestyy sitä mukaa, kuin vanhoja poistuu käytöstä – tälle kehityspolulle ei ole vielä näkyvissä päätepistettä. Nykyään näyttää kuitenkin vahvasti siltä, että GSM on toiminnassa niin Suomessa kuin kansainvälisillä markkinoilla vielä jonkun aikaa ja tukee kolmannen sukupolven verkkoja. Neljännen sukupolven aikakauden verkkojärjestelmät tulevat tukeutumaan osittain myös aikaisempien verkkojärjestelmien perustaan. (Penttinen 2001.) 3.2 GSM-verkon arkkitehtuuri GSM- eli matkapuhelinverkko on langaton laajaverkko, joka toimii neljällä eri taajuusalueella: GSM 900, GSM 850, DCS 1800 ja PCS 1900 MHz, joista 900 ja 1800 toimivat Suomen alueella. Tavallisesti GSM-verkko toimii päätelaitteen ja operaattorin tukiaseman välillä. Päätelaite voi olla joko matkapuhelin tai GSMmoduuli. Kuviosta 2 nähdään, että verkko koostuu linkkimastoista, keskittimistä, puhekytkimistä ja yhdyskäytävistä. Linkkimasto vastaanottaa signaaleja käyttäjä- 12 laitteilta ja lähettää informaatiota takaisin käyttäjälle. Puhekytkin yhdistää käyttäjälaitteen toiseen langattomaan tai langalliseen käyttäjään puhelinverkon kautta. Tämä järjestelmän osa tukee tavallisia käyttäjien välisiä puheluita. (Geier 2005; Granlund 2001.) KUVIO 2 Tukiasemaperusteisen matkapuhelinverkon rakenne (Geier 2005). Yhdyskäytävä tekee järjestelmästä langattoman laajaverkon. Se kykenee toimimaan dataprotokollien kanssa siten, että käyttäjät voivat surffailla Internetissä, lähettää ja vastaanottaa sähköposteja ja käyttää yrityssovelluksia. (Geier 2005; Granlund 2001.) 3.3 Lyhytsanomaviestien käyttösovelluksia Eräs yleisimmistä matkapuhelinverkkojen palveluista on tekstiviestipalvelu, lyhytsanomaviestipalvelu, jossa voidaan lähettää 160 merkkiä kerrallaan. Se on monien Internet-palveluntarjoajien tarjoaman tutun pikaviestijärjestelmän langaton muoto. Tekstiviestin lähettäminen ja vastaanottaminen perustuu tekstiviestikeskukseen, joka pitää huolen siitä, minne viesti kulkee. Viestin data sisältää tiedon viestin pituudesta, aikaleimasta, kohdenumerosta ja muodosta. Seuraavassa on eräitä langattomissa laajaverkoissa käytettävissä olevia tekstiviestin lisäsovelluksia: • Sisällön jakaminen – Tekstiviestit mahdollistavat käyttäjälaitteiden tehokkaat päivitykset. Käyttäjä voi näin esimerkiksi ladata uusia soittoääniä ja tehdä tietokantakyselyjä ja tilata puhelimeensa uutisia. 13 • Hälytykset – Useimmat operaattorit tarjoavat erilaisia hälytyksiä, kuten ilmoituksen saapuneesta puhepostista, tuoreista urheilutuloksista, uusimmista osakehinnoista ja muita muistutuksia. Näin käyttäjä voi saada välittömästi päivitykset tärkeiksi määrittelemistään tapahtumista. • Vuorovaikutteisuus – Sovelluskohtaisessa toiminnassa voidaan hyödyntää vuorovaikutteista mittaustuloksien ja parametrien siirtoa käyttäjän ja sovelluksen välillä. Esimerkiksi sovellus mittaa prosessin tilaa, jonka mukaan käyttäjä voi päättää prosessin ohjauksen tai tilan muuttamisen. • Sovellusintegraatio – Sovelluskehittäjien on monesti järkevää integroida tekstiviestintä yrityksen sovelluksiin. Yrityksellä voi olla esimerkiksi myyntijärjestelmä, jonka avulla myyntiedustajat voivat seurata asiakkaiden ja tuotteiden tilannetta. Yritys voi myös lisätä hälytysmekanismit näihin sovelluksiin. (Geier 2005.) 3.4 M2M määritelmä ja käyttösovelluksia Edellä käsitelty GSM-verkon SMS-tekniikka kuuluu M2M-tekniikan osa-alueelle, sillä laitteiden välisestä kommunikaatiosta puhuttaessa käytetään usein termiä M2M (machine-to-machine). Vaikka termillä tarkoitetaan ensisijaisesti automaattista tiedonsiirtoa laitteiden, koneiden ja järjestelmien välillä, se ei sulje pois ihmistä sovelluksen käyttäjänä ja järjestelmän osana. Yleensä M2M- laitekommunikaatioon liitetään myös suuret maantieteelliset etäisyydet laitteiden ja laitekantaa valvovan ja hallinnoivan tietojärjestelmän tai tietojärjestelmien välillä. M2M on ratkaisu langattomiin tai langallisiin tietoliikenne- ja liiketoimintasovelluksiin, joissa käyttäjän läsnäolo ei ole aivan välttämätöntä koneen tai laitteen äärellä. (Tekes 2005; Telit 2007e.) Lyhyesti esitetyn määrittelyn mukaan M2M-teknologia muodostuu telematiikasta ja telemetriasta, jolloin telematiikka on laitteiden etähallintaa ja telemetria taas laitteista saatavan tiedon keräämistä ja seurantaa. M2M-teknologiasovellutusten tarkoitus on mitata, raportoida, ja / tai etähallita tietoliikenneteknologian keinoin, liikkuvien, liikuteltavien sekä paikallaan pysyvien kohteiden toimintaa tai tilaa liittämällä ne M2M-tekniikoita hyväksikäyttäen yritysten infrastruktuuriin ja aikaansaada täten yrityksille kilpailuetua sekä kuluttajille hyötyä. (Tekes 2005.) 14 Teknisesti M2M-järjestelmä koostuu verkotettavista laitteista, koneista tai automaateista, eri järjestelmäkomponenttien välisistä tietoliikenneyhteyksistä, laitekannan hallinta- ja valvontajärjestelmästä sekä asiakaskohtaisesta M2Msovelluksesta. Usein M2M-järjestelmä integroidaan myös yrityksen taustajärjestelmiin esim. toiminnanohjausjärjestelmään. Näin ollen M2M-ratkaisuissa yhdistyy kolme eri tietotekniikan osa-aluetta: • laiteläheiset sulautetut järjestelmät • langattomat ja / tai langalliset tiedonsiirtoverkot sekä • ’perinteiset’ yrityksen tietojärjestelmät. (Tekes 2005.) M2M-ratkaisuilla voidaan hoitaa keskitetysti mm. laitteiden toimintaparametrien ja ohjelma- tai ohjelmistoversioiden asetus, hälytysten ja poikkeustilanteiden monitorointi ja käsittely, toimintatietojen keruu, käsittely, raportointi ja välitys muihin tietojärjestelmiin ja lisäksi mahdollinen laitteiden reaaliaikainen ohjaus ja kontrollointi ja raportointi. (Tekes 2005; Telit 2007e.) M2M-päätelaitteina voivat olla Java-alustalla varustetut GSM- tai GPRSmodeemit laajoihin ja globaaleihin yhteyksiin, kuten tämän tutkielman järjestelmäesimerkissä; RFID, BlueTooth, NFC, infrapuna, ZigBee lyhyisiin kantamiin, ja Web-palvelut liittyvät usein myös M2M-tekniikkaan. (Tekes 2005; Telit 2007e.) KUVIO 3 M2M-laite (Tekes 2005). Usein M2M-laite on liitettynä RS232:n tai USB:n kautta ulkomaailmaan. Yksinkertaisimmillaan M2M-laite voisi olla modeemi RS232- ja IP-liitännöillä, kun M2M-laite on kuvion 3 keltaisella täytetty osa. Tällöin sovitinta ei lueta M2Mlaitteeksi vaan jätetään koneen osaksi. Monimutkaisimmat M2M-laitteen toteutukset sisältävät kaiken tarvittavan älykkyyden ja tarvittavat sovellukset lukea koneista tietoja, analysoida tiedot ja ohjata koneita. (Tekes 2005; Telit 2007e.) 15 3.5 M2M GSM-verkossa M2M on toiminut langallisesti monia vuosia, mutta nyt langaton teknologia ja IPpohjaiset verkot ovat saattaneet M2M:n uuteen valoon. Lisäksi televerkon uusi arkkitehtuuri, NGN (Next Generation Network), mahdollistaa avoimien hyvin määriteltyjen rajapintojen kautta toimintaympäristön, jonka toiminnot ovat yhdenmukaisia ja yhteisiä niin kiinteille- kuin mobiili- ja laajakaistatoteutuksille. Arkkitehtuuriin on sisällytetty myös piiri- (esim. GSM, perinteinen lankapuhelinverkko) ja pakettikytkentäisiä (GPRS, IP-verkot) verkkoja yhdistävät ratkaisut ja niiden keskitetty ohjaus. NGN tarjoaa avoimet maailman laajuisesti standardoidut (protokolla) rajapinnat niin verkkojen välille kuin IT-ympäristöönkin. (Tekes 2005; Telit 2007e.) Kuten aikaisemmin kappaleessa 3.4 SMS:n käyttösovelluksia todettiin, M2Mtekniikan ollessa GSM-verkossa yhteyksissä käytetään ainakin SMS- viestiyhteyksiä, mutta myös multimedia- ja SIP-viestiyhteyksiä (Session Initiation Protocol) päätelaitteiden välillä. IP-teknologian ja -standardoinnin mukanaan tuomat ratkaisut puhelu-, data- yms. yhteyksien avaukseen laajentaa perinteisen ”puhelun / puheen” käsittämään huomattavasti laajemman määrän muita palveluita (ns. Rich Call-toiminnallisuuksia) kuten video, kalenteri, pikaviestit ja moniyhteydet. M2M-toteutusten kannalta SIP muodostaa mielenkiintoisen mahdollisuuden, koska sitä voidaan yhteyksien avausten lisäksi käyttää myös siirtämään esim. M2M-sanoma (esim. mittarilukema, hälytys jne.) M2M-laitteelta sovellukselle. Tällöin M2M-sanoman siirrossa voitaisiin hyödyntää suoraan televerkon peruspalveluita kuten monipuolisia reititysominaisuuksia. (Tekes 2005; Telit 2007e.) Kuten aikaisemmin on mainittu, laajakaistainen 3G -mobiiliympäristö myös kehittyy ja tarjoaa edellä kuvattuja uusia televerkkoarkkitehtuurin palveluita. Näin ollen julkinen Internet ja operaattoritasoiset verkot muodostavat käyttäjien kannalta saumattomasti toimivan palveluverkon, jotka kehittyvät kohti yhteistä IP-verkkoa (puhutaan ALL IP–verkoista). Kehitysvision mukaisesti tieto on saatavissa yhä useammissa tapauksissa digitaalisessa muodossa ja tietoliikenne ulottuu jatkossa lähes kaikkialle, muodostaen hyvän perustan kehittyville M2M-ratkaisuille. (Tekes 2005; Telit 2007e.) 16 4 GSM-MODUULIN ESITTELY Tässä luvussa esitellään järjestelmäesimerkissä käytettävä GSM-moduuli. Aluksi tarkastellaan moduulin ominaisuuksia ja käyttökohteita sekä käyttöliittymää ja käyttöliittymän hallintaa. Lopussa keskitytään moduulin käyttöönottoon ja alustuksiin sekä käyttövaatimuksiin. 4.1 Moduulin ominaisuudet GM862-moduuli (Kuvio 4) on italialaisen Telit Oy:n suunnittelema, valmistama ja markkinoima lähinnä muiden laitteistovalmistajien käyttöön kehitetty GSMmoduuli. Yritys esittelee GM862-moduulia Internet-sivuillaan http://www.telit.com > Products > Modules. Yritys lupaa teknisen tuen asiakkailleen ja ohjelmistopäivitykset tuotteilleen. Lisäksi päivitettävyys toimii laitteiston osalta, sillä vanhat moduulit sopivat nastajärjestyksen suhteen uusien kanssa. (Telit 2007d.) Luokiteltuna moduuli on siis suunniteltu langattomaan data-, ääni- ja telemaattisiin / liikennöintisovelluksiin, kuten puheviestintään, puheohjaukseen, turvajärjestelmiin, puhelimiin ja maksulaitteisiin ts. M2M-ohjaukseen. Moduuli kykenee liikennöimään GSM-verkon neljällä eri taajuudella: 900 ja 1800 MHz sekä 850 ja 1900 MHz. Moduulin fyysinen koko on (44 x 44 x 7) mm, ja laite toimii ääriolosuhteissa -30…80 °C asteen lämpötilassa. (Telit 2007d.) KUVIO 4 GM862 GSM-moduuli (SparkFun Electronics homepage 2007). Moduuli sisältää matkapuhelimelle tavanomaisia ominaisuuksia, kuten tuen puheäänen lähetykseen ja vastaanottoon, osoitekirjan eli puhelinluettelon, SMS- 17 tekstiviestien lähetyksen, vastaanoton ja tallennuksen, SIM-kortin lukijan, reaaliaikakellon hälytyksineen ja akun latauspiirin jne. SMS tukee viestimuodossaan PDU:ta ja tekstimoodia, ja lisäksi moduulissa on myös seuraavia erityisvalmiuksia ja toimintoja, kuten Easy GPRS, joka toimii sulautetulla TCP / IP protokollapinolla; Easy SCAN eli taajuushaku, joka yltää koko GSM-taajuusalueelle; CAMERA, joka on liitäntä ja tuki VGA-kameralle. (Telit 2007d.) KUVIO 5 GSM-moduulin liitännät ulkomaailmaan (Telit 2007e). Kuviosta 5 nähdään moduuliin tarvittavat laitteistolliset ominaisuudet, kuten 2johtoinen sarjaliitäntä RS232:lla (serial interface UART), I/O-laitteistoliitäntä GPIO CMOS-tasoilla (hardware interface IO/AD), joita voi olla maksimissaan 13 porttia. Lisäksi on audioliitäntä (audio intercafe) mikrofonille ja kaiuttimelle sekä radiotaajuusliitäntä (RF interface) antennin kautta GSM-verkkoon. Moduulissa on myös ulkoinen liitäntämahdollisuus SIM-kortille (SIM card) ja tehonsyötön liitäntä (power supply). Moduulin RF-lähetysteho on matkapuhelintasoa eli noin 2 W Suomen radiotaajuuksilla. (Telit 2007d; Telit 2007e.) 18 4.2 Käyttöliittymä ja AT-kommennot Moduulin käyttöliittymä on ohjattavissa Hayesin standardin, GSM 07.07:n (GPRS) ja 07.05:n (SMS) määritelmän mukaisilla AT-komennoilla (attention) RS232-liitännän kautta. Lisäksi laite tukee Telitin omia AT-komentoja erityistoimintoihin. (Telit 2007d.) AT-komentokieli on käyttökelpoinen menetelmä yhteyksien muodostamiseen, ylläpitoon ja lopetukseen. AT-komentoja on aikaa myöten laajennettu, jotta ne tukisivat uusia toimintoja. Käyttöliittymä sisältää lukuisia tyypillisiä matkapuhelimen ominaisuuksia, joita on edellisissä kappaleissa tuotu esille, joita kutakin voidaan ohjata sille määritellyn AT-komennon avulla. Komennoilla on tietyt vasteajat, jotka kuluvat komennon suorittamiseen. Oletusarvona on vähintään 100 ms viive kaikille komennoille. (Telit 2007a; Telit 2007c; Telit 2007d.) Esimerkki AT-komennon käytöstä: Soitto GSM-moduulilta numeroon 040XXXXXXX tapahtuu seuraavasti: ATD040XXXXXXX<cr> <cr> (Carriage Return Character) tarkoittaa ASCII-merkistössä enter-näppäimen painallusta, joka on heksadesimaalina 0x0d. (Telit 2007c.) 4.3 Moduulin käyttöönotto Moduulin käyttöönotossa tulee ottaa huomioon muutamia seikkoja, joita valmistaja antaa datalehdissään ja muissa käsikirjoissaan. Tehonsyöttö on yksi tärkeimpiä seikkoja, joita tulee ottaa GSM-laitteessa huomioon, sillä huono tehonsyötön suunnittelu voi johtaa vaihe- tai taajuusvirheeseen (Telit 2007e). Tehonsyötön tulisi antaa vähintään kahden ampeerin hetkellisen virran (burst), jolloin jännite ei saa laskea liian alas. Tehoa tarvitaan juuri verkon haun ja kirjautumisen hetkellä. Lisäksi moduulin käyttöjännitealue on 3,4…4,2 V, mutta suositellaan käyttämään 3,8 V:n jännitettä. (Telit 2007d; Telit 2007e.) Sarjaliitännän jännitetasot ovat 2,8 V, joka tarvitsee yhteensopivan RS232jännitetason muuntimen (-12V/+12V), ja Flow control-signaalit (RTS-CTS) ovat 19 välttämättömiä datan siirrolle M2M Platforms Seminar-dokumentin mukaan (Telit 2007e). Lisäksi laite vaatii myös voimassa olevan SIM-kortin toimiakseen. Käynnistyksessä tulee ottaa huomioon ON / OFF-kytkentä, josta moduulia voidaan ohjata päälle ja pois sekä nollata tarvittaessa RESET-kytkennällä. (Telit 2007d; Telit 2007e.) Laitteen antennin tulisi olla MMCX-liittimellä ja 50 ohmisella koaksiaalikaapelilla varustettu nelitaajuusantenni käytettäessä kaikkia taajuuksia, jolloin myös antennin impedanssi täytyy olla 50 ohmia. Lisäksi koteloinnissa ja asennuksessa tulee ottaa huomioon antennin sijainti. (Telit 2007b; Telit 2007d; Telit 2007e.) Laitteistosuunnittelussa huomioitavana on laitteen herkkyys jännitepiikeille, minkä vuoksi layout-suunnittelussa tulee lähinnä tarkastaa kaikki herkät signaalit ja käyttöjännitevedot ja maatasot, että ne ovat riittävän leveät ja lyhyet. EMCkysymyksissä ja häiriöiden takia piirilevylle suositellaan yhteistä maatasoa, ja maaerotusta moduulin MOLEX-liittimeltä jokaisen lähtevän signaalien väliin ja tehonsyöttö tulee olla myös erotettuna häiriöherkistä signaaleista, kuten audioliitännän signaaleista. Laitteistoalustana voidaan käyttää myös valmista valmistajan omaa Evaluation Kit-piirikorttia. (Telit 2007b; Telit 2007e.) Ohjelmalliset alustukset tehdään AT-komennoilla laitteen sovelluksen toteutuksen ja käynnistämisen jälkeen, joka voidaan todeta moduulin PWRCTL-nastasta. Alustuksissa ja asetuksissa lähdetään liikkeelle asettamalla virheviesti sanalliseksi koodin sijasta komennolla AT+CMEE=1. Alussa syötetään SIM-kortin PIN-koodi komennolla AT+CPIN=XXXX ja asetetaan käytettävä baudinopeus komennolla AT+IPR=38400. Moduuli kykenee myös itse selvittämään baudinopeuden automaattisesti, mutta suosituksena on 38400 baudinopeus kahdeksalla databitillä, ilman pariteettibittiä ja stop-bitillä (8N1). Ohjelmallisia alustuksia tulee tehdä myös taajuusvalinnan osalta komennolla AT#BND=0, jolloin valitaan Suomessa käytettävät GSM-taajuudet (900 ja 1800) MHz. Lisäksi tutkitaan verkon tilaa komennoilla AT+CREG ja AT+COPS. Verkkoon kirjautumisen jälkeen laite on valmis käyttöön. (Telit 2007a; Telit 2007c.) 20 5 AUTON ESILÄMMITYSOHJAUS - JÄRJESTELMÄESIMERKKI Edellisissä kappaleissa käytiin läpi sulautettuja järjestelmiä ja GSM- ja M2Mtekniikkaa ja GSM-moduulin esittely. Niiden rakenteiden ja ominaisuuksien pohjalta tässä järjestelmäesimerkissä tarkastellaan kehitysalustaa sulautetussa järjestelmässä, jonka sovelluksena on hoitaa ajoneuvon lämmityksen ajastus ja ohjaus sekä paikallis- että kaukokäyttöisenä sisätila- ja moottorilämmittimelle. Aluksi määritellään järjestelmän laitteistolliset ja ohjelmalliset vaatimukset. Lisäksi luvussa käsitellään järjestelmän suunnittelu, toteutus ja testaus. 5.1 Järjestelmän määrittely ja yleiset vaatimukset Järjestelmän on tarkoitus koostua kahdesta eri laitteesta: Ajastin- ja GSMlaiteesta, jotka liitetään toisiinsa. Ajastinlaitteisto koostuu ohjausyksiköstä (control unit), käyttöliittymäyksiköstä (user interface unit), releyksiköstä (relay unit) sekä lämpötila-antureista (temperature meters) ja GSM-laitteisto koostuu kaukoohjausyksiköstä (remote control unit). Yksiköiden toiminta määritellään tarkemmin seuraavissa kappaleissa. Lisäksi järjestelmän on tarkoitus sisältää seuraavat ominaisuudet: • ajastustoiminnot sisätila- ja lohkolämmittimelle o perusmoodi o automaattinen moodi o vuorotteluohjausmoodi o käyttäjän määrittämä moodi • kauko-ohjaus tekstiviestillä • kalenteri (24 h kello, päivämäärä) • lämpötilamittaus (ulko- ja sisälämpötilat) • akun jännitteen mittaus • mustan jään varoitin • käyttöliittymän taustavalo • toimintoäänet. 21 Kuviossa 6 on järjestelmän lohkokaavioesitys, josta nähdään, kuinka järjestelmä liittyy ympäristöönsä, kenen kanssa se kommunikoi ja minkä suuntaisia tietovirtoja käyttäjän ja järjestelmän välillä liikkuu. KUVIO 6 Laitteen lohkokaavio 5.1.1 Tulo- ja lähtösignaalit Järjestelmään tulee sekä analogisia että digitaalisia signaaleja ja lisäksi tehonsyöttö. Analoginen jännitesignaali tulee ajastinlaitteeseen ajastavalta kideoskillaattorilta ja ajoneuvon akulta jännitteen valvojalle AD-muuntimen kautta. Lisäksi GSM-laitteen valmiutena mikrofonilta tulee analoginen signaali GSM-moduulille. Ajastinlaitteen ohjausyksikölle tulee myös digitaalisia signaaleja käyttöliittymäpaneelin kolmelta painikkeelta (tai pulssipotentiometriltä) ja sarjamuotoisena lämpötila-antureilta. Ohjausyksikön ja GSM-laitteen tehonsyöttö tulee ajoneuvon akulta, ja lämmittimen tehonsyöttö tulee sähköverkosta. Ajastinlaitteen ’analogisena’ lähtösignaalina on järjestelmän tilasta varoittava pietsosummeri ja lisäksi ajoneuvon lämmittimien releille lähtee 12 V:n ohjaukset. Käyttöliittymäpaneelissa on digitaalisia lähtösignaaleja, kaksi järjestelmän tilaa ilmoittavaa lediä ja LCD-näytön ohjaus. Ajastinlaitteessa on myös kaksisuuntainen reaaliaikakello sekä sarjamuotoinen UART-liitäntä GSM-moduulille. 22 5.1.2 Käyttöliittymän määrittely ja vaatimukset Ajastinlaitteen käyttöliittymäpaneeli tulee olla ajoneuvon ohjaamossa kuljettajan välittömässä läheisyydessä. Käyttöliittymän avulla ohjataan laitteen eri toimintoja, pääasiassa lohko- ja sisätilalämmittimiä käyttäjän valitsemien lämmitysmoodien mukaan. Liittymän avulla voidaan myös tarkastella haluamiaan lisätoimintoja, kuten akun jännitettä, kelloa, lämpötiloja ja kalenteria. Liittymä koostuu pääasiassa kolmesta painikkeesta tai pulssipotentiometristä, näytöstä ja kahdesta ledistä. Käyttöliittymän ohjelmavalikko jakautuu viiteen eri alueeseen: Perustila, Valitse moodi, Aika-asetukset ja Lisäasetukset sekä Loki. Ohjelmavalikon rakenne on liitteessä Liite 4 Käyttöliittymävalikko. Käyttöliittymän perustilassa näkyvät kelloaika, päivämäärä, lämmitysmoodin symboli ja sisä- ja ulkoilman lämpötilat. 5.1.3 Ajastinlaitteen lämmitysmoodit Laitteen tulee sisältää seuraavia lämmitysmoodeja, joita voidaan valita käyttöliittymävalikon kautta: perus-, automaattinen, vuorottelu- ja käyttäjämoodi. Moodien nimillä kuvataan lämmitystapahtuman muotoa ja jokaisessa moodissa esilämmitys tapahtuu liikkeellelähtöaikaan mennessä. Moodit sisältävät laskelmia, jotka tehtiin testauksen, kokemusten ja vastaavan laitteen valmistajan, Defan, tietojen pohjalta. Kauko-ohjaustoiminto pohjautuu myös määriteltäviin moodeihin. Perusmoodissa lämmitysaika on vakio, jolloin lämmittäminen tapahtuu niin moottori- kuin sisätilalämmittimellekin samalla tavalla. Lämmittimet ovat päällä 3 h ennen liikkeellelähtöaikaa, jonka käyttäjä asettaa. Tällöin ulkolämpötilan arvo tai suuruus ei vaikuta lämmityksen ohjaukseen moodissa. Automaattinen moodi reagoi ulkolämpötilan mukaan, jolloin se muuttaa lämmitysajan pituutta laskettujen moottorilämmitysaikojen perusteella (Taulukko 1). Taulukkoarvoja voidaan tarvittaessa skaalata tarkemmaksi siten, että jo asteen ero ulkolämpötilassa vaikuttaa lämmitysajan pituuteen. Tällöin tarvittavan lämmitysajan pituus ja sähkönkulutus optimoituu. 23 TAULUKKO 1 Lämpötilariippuvuudet (Motiva 2005). Määritellyt moottorin lämmitysajat vaihtelevat lämmitintyypeittäin. Näin ollen sisätilalämmittimelle on laskettu lyhyemmät lämmitysajat kuin moottorilämmittimelle. Pääsääntönä on, että yli kolmen tunnin lämmitys ei juuri vaikuta enää moottorin lämpötilan kasvuun (Motiva 2005). Vuorottelumoodin tarkoituksena on laskea hetkellistä lämmitystehoa siten, että ainoastaan sisätila- tai moottorilämmitin on kerrallaan päällä. Tällöin autoa voidaan myös lämmittää kerrostalon lämmitystolpasta, sillä tolpissa on yleisesti tehon rajoitus. Vuorottelulämmityksen ohjaukselle määritetään esilämmitysajan lisäksi jaksolämmitysaika (esim. 10 min), jolloin yhden jakson aikana tehdään lämmittimen vuoronvaihto kerran. Vuoronvaihdon ajankohta määrätään käyttäjän syöttämän prosenttisuhteen perusteella. Esimerkiksi jos prosenttisuhde on 20 %, moottorilämmitintä lämmitetään 20 % 10 minuutin lämmitysajasta. Tällöin 80 % ajasta jää sisätilalämmittimelle. Näitä lyhyitä jaksoja toistetaan koko tarvittavan lämmitysajan esimerkiksi kolme tuntia. Käyttäjän määrittämässä moodissa käyttäjä voi itse valita lämmitysajan keston niin sisätila- kuin moottorilämmittimelle erikseen. Moodi on käytännöllinen käytettäessä eritehoista tai -tyyppistä lämmitintä (esim. säteilylämmitintä), ja tällöin voidaan vaihtaa kiinteitä lämmitysaikoja haluamikseen. Kauko-ohjausasetuksessa voidaan valita jokin edellä luetelluista moodeista. Kauko-ohjaus on helppokäyttöinen ja kätevä silloin, kun lähtemisajankohtaa tarvitsee muuttaa, esim. ylityön takia työpaikalla tai muussa lähdöstä viivästymisessä. Tekstiviestiohjaus tulee tapahtua seuraavilla viesteillä: • Esimerkkiviesti 1: BASIC XXXX 07:45. • Esimerkkiviesti 2: AUTOM XXXX 07:45. 24 • Esimerkkiviesti 3: VARIA XXXX 07:45. • Esimerkkiviesti 4: USERM XXXX 07:45. Esimerkkiviestien ensimmäinen osa määritetään valitsemaan käytettävä lämmitysmoodi ja toisen osan tarkoituksena on suojata koodilla sivullisien ohjauskäyttö. Kolmannessa osassa on liikkeellelähdön kelloaika. 5.1.4 Käyttöliittymän simulointi Käyttöliittymän määrittelyssä tehtiin simulointi Microsoft PowerPoint ohjelmalla. Kuviosta 7 nähdään dia simuloinnista, joka pohjautuu käyttöliittymävalikon mukaiseen rakenteeseen. Simuloinnilla ennakoitiin käyttöliittymän käytettävyydelle ominaiset virheet ja heikkoudet. KUVIO 7 Käyttöliittymän simulointikuva 5.2 Järjestelmän toiminnalliset vaatimukset Ajastinlaitteen ohjausyksikkö toimii laitteen älynä, jonka tehtävänä on huolehtia kaikkien oheislaitteiden oikea-aikaisesta toiminnasta. Se kommunikoi käyttöliittymäyksikön, releyksikön, lämpötila-antureiden sekä ohjelmoidessa ohjelmointiliitännän kanssa. Lisäksi ohjausyksikkö kommunikoi GSM-laitteen kanssa tiedottaen SMS-viesteistä. Releyksikön tarkoituksena on välittää tieto ohjausyksiköltä sisätila- ja moottorilämmittimelle ja lämpötila-anturit puolestaan mittaavat tarvittavat tiedot lämmityksen ohjaukselle ja käyttöliittymälle. GSM-laitteen tarkoituksena on välittää ohjaustieto kännykältä ajoneuvon esilämmitykselle. 25 Järjestelmän ohjelmalliset toiminnot ja toiminnalliset vaatimukset määritellään seuraavanlaisesti: • Valikkotilasta palataan automaattisesti perustilaan kahden minuutin kuluttua näppäinpainalluksesta. • Lämmitys toimii 20 min yli asetetun liikkeellelähtöajan (tilanne: liikkeellelähdöstä myöhästyminen). • Lämmitysmoodi valitaan, jolloin kerrallaan voi olla päällä yksi moodi. • Moottorilämmitys ei toimi yli +5 °C asteen ulkolämpötilassa. • Sisälämmitin ei lämmitä sisätilaa yli +21 °C asteen lämpötilaan. • LCD-näytön taustavalo valitaan pois päältä tai se sammuu 10 s kuluttua näppäinpainalluksesta. • Merkkivalot ilmaisevat ajastuksen ja lämmityksen toiminnan. • Lämmitysohjaus suoritetaan reaaliajassa paikallisesti tai GSM-ohjattuna. • Kauko-ohjauksen suoritus moodivalinnan prioriteetissa valitaan ensimmäiseksi. • Lämmitysohjaus katkeaa ja näytön taustavalo syttyy ajoneuvon virran kytkeytyessä. Laitteen reaaliaikaisuuden ylläpitämiseksi päivämäärä ja kelloaika voidaan asettaa käyttöliittymävalikon kautta. Lisäksi laite tallettaa ulko- ja sisälämpötilojen maksimi- ja minimilämpötilat, jotka voidaan tarvittaessa nollata valikon kautta. Valikon kautta voidaan palauttaa laitteen alkuperäiset asetukset, jolla voidaan korjata hetkellisesti ilmennyt ohjelmavika. Tahaton asetusten palautus toiminnossa estetään kysymällä toimintoa ennen suojakoodia. Samasta valikosta tulee löytyä myös auton akun jännitteen seuranta, jolla valvotaan akun jännitetasoa. Tason ollessa liian alhainen (esim. 11,5V) suoritetaan hälytys liittymän näytölle. Valikon lopussa on ON / OFF-toimintoja, joilla voidaan valita näytön valaistus, kauko-ohjaus, äänet ja mustan jään varoitus (-1…+1 ºC) joko päälle tai pois päältä. Lisäksi valikossa tulee olla loki, joka tallentaa tiedot lämmityksien ajankohdista, moodeista ja lämpötiloista. Kauko-ohjaus voidaan aktivoida ja turvakoodi voidaan vaihtaa myös valikon kautta. 26 5.3 Laitteiston suunnittelu Järjestelmän suunnittelussa laitteista piirrettiin tarkempi lohkokaavio. Kuviossa 8 suorakulmaiset (harm.) lohkot ovat ulkomaailmassa, vinoneliöt (sin.) kuuluvat ohjausyksikköön ja pyöristetyt suorakaiteet (vih.) releyksikköön. Soikio (pun.) lohko kuuluu käyttöliittymäyksikköön ja vaaleat suorakaiteet GSM-ohjaukseen. KUVIO 8 Laitteen tarkempi lohkokaavio Ajastinlaitteen ohjausyksikkö sisältää mikrokontrolleri-ohjaimen, teholähteen, releidenohjauksiin tarvittavat transistoriohjaukset, reaaliaikakellon ja UARTsarjaliitännän sekä liitännät muihin lohkoihin. Ohjausyksikkö on erillinen piirilevy, joka sijoitetaan ajoneuvon kojelaudan sisälle. 27 Ytimenä käytetään Atmelin ATmega32-mikrokontrolleria ja teholähteissä jänniteregulaattoreita. Reaaliaikakelloliitännässä käytetään I2C-sarjaliikenneväylää ja lämpötila-anturit ovat yhteydessä 1-wire-tekniikalla ohjausyksikköön. Lisäksi ohjelmointiliitäntänä käytetään SPI-sarjaväylää ja yhteys tietokoneeseen muodostetaan Dontronics’in suunnittelemalla kaapelilla DT006. Kaapeli on yhteensopiva käytettävään Codevision C compiler-ohjelmaan. UART-liitännässä käytetään RS232-sarjaliikenneporttia, jolla voidaan ottaa yhteys PC:n tai GSM-moduulin kanssa. Käyttöliittymäyksikkö toimii erillisenä osana ohjausyksiköstä, joka on yhdistetty 16-bittisellä väylällä. Lisäksi käyttöliittymän fyysisessä suunnittelussa päädyttiin kolmikerrosratkaisuun. Kerrokset ovat ulkopinnasta päin graafinen kalvo, tarkkuusjyrsitty PE-muovi ja piirilevy, jolloin piirilevyyn liitetään kaksirivinen LCDmoduuli. Käyttöliittymäpaneelista piirrettiin SolidWorks 2000-ohjelmalla tekninen kuva, josta nähdään paneelin rakenne (Kuvio 9 ja Liite 6). Käyttöliittymäyksikön paneeli koteloidaan autokohtaisesti. Paneeli on suunniteltu auton kojelaudan keskiosan koloon, jonka mitat ovat yleensä (200 x 53) mm. KUVIO 9 Rakennekuva Moottoritilaan asennettava releyksikkö koostuu releistä, syöttökaapelista (230V), tarvittavista sulakkeista, riviliittimistä. Ne sijoitetaan kojekiskolle sähköturvallisuusmääräysten mukaiseen koteloon (IP-55), jonka mitat ovat (99 x 155 x 179) mm. Kauko-ohjausyksikkö sisältää GSM-moduulin, antennin, SIM-kortin ja tehonsyötön sekä UART-liitännän. Liitännässä käytetään 2,8 voltin jännitetasoja. 28 5.3.1 Elektroniikan ja piirikaavion suunnittelu Kuten edellisissä kappaleissa selvitettiin eri yksiköiden toimintaa, tässä kappaleessa on tarkoituksena perustella laitteistollisia ja komponenttikohtaisia ratkaisuja piirikaavion suunnittelussa. Järjestelmästä piirrettiin piirikaaviot Pads Logic 2005 -ohjelmalla ja releyksikkö Microsoft Visio 2003 -ohjelmalla. Järjestelmän varsinaisen toiminnallisuuden sisältävä Ajolasi 10 E-piirikaavio jaettiin osakokonaisuuksiin: ohjausyksikkö-, käyttöliittymä- ja UART-sivuun. GSMja releyksikön piirikaaviot piirrettiin erikseen. Kontrollerista ei jätetty mitään kytkemättä mahdollistaen tulevaisuuden kehitystilanteet, mutta GSM-moduulista jätettiin joitakin kytkemättä tilan minimoimiseksi. 5.3.2 Ohjausyksikön piirikaavio Ensimmäisellä sivulla olevan akun jännitteen valvojan vaatimuksena oli analogisen lähtösignaalin muuntaminen digitaaliseksi. Lisäksi vaatimuksina olivat toiminnallinen turvallisuus ja tarkkuus. KUVIO 10 Akun jännitteen valvojan kytkentä Kuviosta 10 nähdään, että toimintoon valittiin halpa ratkaisu kahden vastuksen jännitteen jaolla. Lisäksi mikrokontrollerin käyttöiän ja turvallisuuden takaamiseksi alemman vastuksen rinnalle lisättiin 5,1 V:n zenerdiodi, joka ei salli jännitettä nostaa yli mikrokontrollerin suosiman jänniteraja-arvon 5,5 V. Kuvan AJVnasta liitettiin mikrokontrollerin analogia-tuloon (ADC7), joka mahdollistaa 11bittisen AD-muunnoksen tuloksen. Tässä sovelluksessa käytettiin 8-bittistä muun- 29 nosta riittävän tarkkuuden perusteella. Analogisen ja digitaalisen maan erottamiseksi Atmel esittää datalehdessään käyttämään suodatinkytkentää, joka koostuu 10uH kelasta ja 100nF kondensaattorista (Atmel 2006). Käytäntö on osoittanut, että 10uH kelan voi korvata 100 Ω:n vastuksella, jolloin AVCC ja VCC kytkettiin sen mukaan. R16:ksi valittiin 10 kΩ:a ja R15 mitoitettiin laskemalla seuraavan jännitteenjaon kaavan avulla. U max R15 + R16 = U R15 R15 KAAVA 1 Jännitteenjaon kaava AREF kytkettiin käyttöjännitteeseen (5 V) olettaen, että akun jännite vaihtelee välillä 5-15V. Tällöin AJV-nastan jännite vaihtelee välillä 0…5,1 V. Vastuksen R15 arvoksi saatiin kaavalla 1 15V R15 + 10kΩ 10kΩ = ⇒ R15 = = 5kΩ. 15 V 5V R15 R15 − R15 5V Tällöin vastukseksi valittiin 5,1 kΩ tarkkuusvastus, koska E12-sarjasta lähin vastus on 4,7 kΩ. Kuviosta 11 nähdään lämpötila-antureiden liitäntä. Antureiksi valittiin tarkkoja ja helppokäyttöisiä Maxim-Dallasin valmistamia digitaalisia lämpömittareita. KUVIO 11 Lämpötila-antureiden kytkentä 30 Anturit on kytketty valmistajan suositteleman kytkennän mukaisesti. Tehonsyötön edellytyksenä oli välttää akusta ja sen ympäristöstä aiheutuvat jännitepiikit ja muut häiriöt. Tehonsyötön alkuun valittiin sulake mittaamalla kytkennän virta virtamittarilla. Mittari näytti 12 voltin käyttöjännitteellä noin 105 mA ja sulakkeeksi valittiin 500 mA sulake. Alkuun valittiin myös diodi 1N4007, joka estäisi mahdollisen väärän napaisuuden kytkemisen tuoman vaurion laitteistoon. Lisäksi viiden voltin regulaattorin LM7805 tulo- sekä lähtöpuolille valittiin zenerdiodit, jotka vakavoivat kondensaattoreiden kanssa järjestelmän tehonsyöttöä. Tulo puolelle valittiin 18V zenerdiodi, koska se on lähin arvo akulta saatavaa n. 15 voltin maksimijännitettä ja lähtöpuolelle valittiin samalla perusteella 6,2 voltin zenerdiodi. Jokaista mikropiiriä kohden valittiin 100 nF kondensaattori estämään jänniteheilahteluja ja muita värähtelyjä kytkennässä (Liite 1). Dallasin reaaliaikakellon DS1307 kytkentä (Kuvio 12) vaati kideoskillaattorin, jolla kello pysyy ajassa myös laitteen ollessa sammutettuna. Tällöin kello vaatii paristovarmennuksen (2,0..3,5V), jonka kytkentämahdollisuus lisättiin myös piirikaavioon. Reaaliaikakello ja muut oheiskomponentit kytkettiin valmistajan suosituksen mukaisesti. Kello toimii myös tehdasmallissa datalehden mukaan riittävällä lämpötila-alueella tähän sovellukseen (-40 …+85 ºC). KUVIO 12 Reaaliaikakellon kytkentä 31 KUVIO 13 Reset-kytkentä Reset-kytkennän vaatimuksena oli toimia häiriöttömästi saattamatta kontrolleria tarpeettomasti ei-toivottuun tilaan. Vaikka sovelluksen käytön aikana ei pitäisi ilmetä tilannetta, jolloin reset-kytkintä painetaan, se on hyvä ominaisuus ainakin testausvaiheessa. Kuvion 13 diodi D11 (1N4148) estää kondensaattorin C23 (100nF) ja ylösvetovastuksen R19 avulla kytkimen J1 häiriövärähtelyn muodostumisen. Diodi D11 suojaa myös induktiivisilta häiriöiltä. Releiden ohjaus (Kuvio 14) vaatii kontrollerilta tulevan signaalin muuttamisen releohjaukselle sopivaksi jännitteeksi fettien BSB41 avulla. Fetin eteen mitoitettiin nyrkkisäännön perusteella 1 kΩ vastukset. Lisäksi releiden aiheuttamien induktiivisten häiriöiden takia relekäämin rinnalle valittiin suojadiodit, 1N4007. Releiden ohjaukseen tarvitaan normaalisti vain kaksi ohjausta, mutta levylle on jätetty kolme varausta mahdollisille tuleville kehityksille. 32 KUVIO 14 Releiden kytkentä Ajastinlaitteen mikrokontrollerin vaatimuksena oli helppokäyttöisyys ja laaja tuki ohjelmistotyökaluille ja sen tulisi hoitaa ja ohjata koko järjestelmää. Lisäksi muistin tulisi riittää käyttöjärjestelmän ohjelmoimiseen. Näiden perusteella valittiin Atmelin ATmega32 mikro-ohjain. Ohjaimeen valittiin 16 MHz kide Y1 ja 22 pF kondensaattorit C1 ja C2. Kontrollerin ohjelmointi on mahdollista sen ollessa piirilevyllä kytkettynä (Liite 1/1). 33 KUVIO 15 Kytkimien kytkentä Piirikaavion toisella sivulla olevien kytkimien (Kuvio 15) kytkinvärähtelyjen minimoimiseksi niiden rinnalle valittiin 100 nF kondensaattorit. Kytkimien ylösvedot vedettiin 4,7 kΩ vastuksilla ohjauspiirilevyn puolella. KUVIO 16 Merkkiledien kytkentä Merkkiledien (Kuvio 16) merkitys on selvitetty luvussa 5.2 Järjestelmän toiminnalliset vaatimukset. Ledit kytkettiin virranrajoitusvastuksien kautta, jotka sijaitsevat ohjausyksikkölevyllä tilan säästämiseksi. 34 Retuvastus = VKäyttöjännite − VDiodi ADiodi KAAVA 2 Virranrajoitusvastuksen laskenta Ledin läpi kulkevaksi virraksi määriteltiin 20 mA, jolloin etuvastuksen arvoksi saatiin kaavalla 2 R= 5V − 2V 0,02 A = 150Ω. KUVIO 17 Pulssipotentiometrin kytkentä Switch Channelin valmistamaa pulssipotentiometriä (Kuvio 17) ei vaadita tähän sovellukseen, mutta piirikaavioon jätetään valmius kyseiselle toiminnolle. Komponentin kytkentä toteutettiin valmistajan antaman ohjeistuksen mukaisesti. Piirikaavion kolmannella sivulla ja kuviossa 18 olevan UART-piirikaavion kytkentään on valittu RS232-sarjaliikennettä tukeva Maxim-Dallasin valmistama MAX203E-sarjaliikennepiiri. Piiri valittiin sen edullisuuden ja helppokytkentäisyytensä takia, sillä piiri ei tarvitse erillisiä kondensaattoreita toimiakseen. Kytkentä mahdollistaa datasiirron GSM-moduulin ja ohjausyksikön välillä. Liitäntään vaadittiin lisäksi RTS- ja CTS-signaalit, mutta aikaisemmassa vaiheessa toteute- 35 tun ajastinlaitteiston suunnittelussa ei otettu huomioon tulevaa kehitystilannetta, sillä liitäntä toimii myös kahdella TX- ja RX-johdoilla. KUVIO 18 UART-liitynnän kytkentä 5.3.3 Releyksikön piirikaavio Releyksikön piirikaaviossa (Kuvio 19 ja Liite 3) vaatimuksena oli saada halvalla turvallinen releohjaus lämmittimille, koska kyseessä on 230 voltin verkkojänniteohjaus. Releyksikköön valittiin viiden ampeerin kestoiset DIN-kiskoon sopivat kytkinreleet, jotka asennetaan relekantoihin. 36 KUVIO 19 Releiden ohjauskytkentä 5.3.4 Kauko-ohjauksen piirikaavio Kauko-ohjauksen vaatimuksena oli GSM-ohjaus tekstiviestillä, jolloin GSMmoduuliksi valittiin Telitin GM862. GSM-yksikön tehonsyötön vaatimuksena oli GSM-moduulin 2 A virranimukyky, jolloin komponentiksi valittiin 3 ampeerin kestoinen LM1085 jänniteregulaattori. Lisäksi virhenapaisuuden estodiodiksi valittiin 1N5404, joka kestää 3 A virran (Kuvio 20). KUVIO 20 Tehonsyötön kytkentä 37 Käyttöjännitteen alentaminen hoidetaan säädettävällä LM1085-regulaattorilla, joka voidaan määrittää kahden vastuksen avulla: U out = 1,25V (1 + U R2 ) ⇒ R2 = ( out − 1) R1 1,25V R1 KAAVA 3 Säädettävä jännite LM1085:lla Jännitearvo, Uout, määritetään moduulin käyttöjännitteen suuruiseksi, jolloin Uout= 3,8 V. Vastukseksi, R1, valitaan 100 Ω ja vastuksen R2 arvo lasketaan kaavan 3 avulla. Tulokseksi saadaan 3,8V R2 = ( − 1)100Ω = 204Ω. 1,25V Tällöin vastukseksi valitaan E12-sarjan mukainen vastus, 220 Ω. Toisena vaatimuksena oli mikrokontrollerin UART-liitännän viiden voltin jännitteen yhteensovittaminen GSM-moduulin 2,8 V CMOS-jännitetasoon. Jännitetason muutos tehtiin lisäämällä 2,7 V zenerdiodit signaalien välille (Kuvio 21). Piirinä käytettiin samaa MAX203E-piiriä, kuten ajastinlaitteen UART-liitännässä. Liitännöiksi valittiin kaksi erilaista liitäntää: RJ-9-liitin ja 9-nastainen naaras-Dliitin. KUVIO 21 UART-liitäntä GSM-moduulille 38 Moduulin antenniksi suunniteltiin itse tekemä dipoliantenni, joka on kuvion 22 mukainen. Antennin vaatimuksena oli 50 Ω impedanssi kaapelille sekä antennille ja kaapelissa tulisi olla MMCX-liitin. Vaatimusten perusteella kaapeliksi valittiin RG-174-kaapeli. KUVIO 22 Dipoliantenni Aallonpituus = valonnopeus c =λ = taajuus f KAAVA 4 Aallonpituuden laskenta Antennin pituus laskettiin seuraavasti kaavalla 4 ja tulokseksi saadaan λ= 2,9979 ×108 m s = 0,16655m ≈ 16,6cm. 18001 s Aallonpituus jaetaan kahdella, jolloin saadaan yhden antennisivun pituus (Kuvio 22). Antennin suunnittelussa todettiin myös, että SparkFun Electronics myy yhteensopivan antennin GSM-moduulille, joka päätettiin hankkia lopuksi. 5.3.5 Piirilevyn suunnittelu Piirilevyn suunnittelu tehtiin Pads Layout 2005 -ohjelmalla. Järjestelmä koostuu kolmesta eri piirilevystä: käyttöliittymä-, ohjaus- ja kauko-ohjauspiirilevystä. Levyjen piirilevy- ja osasijoittelukuvat ovat liitteissä 1 ja 2. Piirilevyjen toteutuksissa käytettiin mahdollisimman paljon pintaliitostekniikkaa ja levyt suunniteltiin kaksipuolisiksi koon minimoimiseksi. Johdinvedoissa käytettiin yleistä minimiviivan leveyttä 8…15 mils ja vetojen eristeväliä 8 mils. Jänniteja maavedoissa käytettiin leveämpää vetoa 12…50 mils. Komponenttisijoittelussa otettiin huomioon lämmönjohtavuus ja häiriöiden takia vetojen pituuden mini- 39 mointi. Lisäksi keskityttiin käyttöliittymäpiirilevyn käytettävyyden huomioimiseen. Ohjausyksikön piirilevyn koko on (80 x 80) mm, joka suunniteltiin mahdollisimman pieneksi kyseisillä viivanleveyksillä ja eristeväleillä. Käyttöliittymän piirilevyn koko ja muoto määräytyivät ajoneuvon kojetaulussa olevan kolon ja käyttöliittymäpaneelin mukaan, jolloin levyn kooksi tuli (120 x 52) mm. GSM-moduulin (43,9 x 43,9 x 6,9) mm koon ja oheiskomponenttien perusteella kauko-ohjauspiirilevyn kooksi muodostui (80 x 80) mm. 5.4 Ohjelmiston suunnittelu Tässä kappaleessa käsitellään lyhyesti järjestelmään suunniteltavan ohjelmiston rakenne vuokaaviona kuvauksineen. Ohjelmiston suunnittelussa ohjelman päärakenteesta piirrettiin tietovuokaaviot (Kuvio 23), joita käytettiin pohjana ohjelmiston rakentamiselle. Ohjelmallinen runko ryhmittyy viiteen pääprosessiin, jotka voidaan tehdä halutulla ohjelmointimenettelyllä. Vuokaavio on suunniteltu vuokaaviossa olevien symbolien selityksien mukaan. Ohjelman prosessit ovat Manage User Interface, Manage Temperature Sensors, Manage Real Time Clock, Manage Relays ja Manage Remote Control sekä Manage The System Initilizations. Ohjelmiston tietovuokaavio on esitetty kokonaisuudessaan liitteessä 5. Prosessit on luokiteltu suoritettavaksi numerojärjestyksessä, kuitenkin niin, että jokainen prosessi voidaan suorittaa milloin vain Enable- tai Disable-syötteellä. Ohjausprosessi, Manage Ajolasi, hoitaa kaikki ohjausvirrat ja ajastukset kullekin prosessille. Prosessin välillä on tiedon tallennuksia, jotka voidaan esittää tietokenttinä. Esimerkkinä mainittakoon Setups-informaatio, joka sisältää kaiken asetus- ja parametritiedon alkaen lämmityksen ajastuksesta ohjelman muihin asetuksiin. Nämä voidaan hallita ja muuttaa käyttöliittymän ja kauko-ohjauksen kautta. Lisäksi prosessit ohjaavat omaa päätelaitettaan tai saavat syötteen laitteelta tai käyttäjältä. 40 KUVIO 23 Ohjelmiston tietovuokaavio Käyttöliittymäprosessin hallinta tapahtuu käyttäjän antamien syötteiden, painikkeiden, kautta, mutta myös kuvataan merkkiledien ja näytön kautta. Hallita voidaan myös uuden kelloajan ja päivämäärän asetukset ja mainittujen lämmitysparametrien asetukset. Syötteinä käyttöliittymälle tulee myös lämpötilatieto ja nykyinen reaaliaika päivämäärineen. Käyttöliittymän hallintaan sisältyy myös käyttöliittymävalikon näyttäminen sekä perustilan näkymästä huolehtiminen näytölle. Lämpötila-antureiden hallintaprosessi lukee lämpötilatiedot lämpömittareilta, jotka tallennetaan. Reaaliaikakellon prosessi puolestaan lukee reaaliaikakellolta aikatiedot, jotka myös tallennetaan. Lisäksi voidaan kirjoittaa uusi aikatieto RTC:lle. Releohjausprosessi suorittaa laskennan ja määrityksen parametrien ja asetusten sekä lämpötilojen mukaan sekä kunkin releen kytkemisen päälle. Kauko-ohjauksen hallintaprosessi hakee ohjausviestin GSM-laitteelta ja määrittää uudet ja voimaantulevat ohjausasetukset palauttaen ohjauksen onnistumisviestin. Viimeinen prosessi eli järjestelmän alustusprosessi suorittaa kaikkien prosessien, joissa tarvitaan alustuksia, alustamisen ja määrityksen sekä prosessin omat mikrokontrollerin portteihin ja rekistereihin liittyvät alustukset. 41 5.5 Ajastinlaitteen toteutus ja testaus Ajastinlaite valmistettiin vähän ennen GSM-laitteen tekoa, jolloin ajastinlaitteen toteutusta käsitellään vähän yleisluonteisemmin. Ajastinlaitteistosta (Kuvio 24 ja 25) valmistettiin neljä eri prototyyppiä, joista ensimmäisen ja toisen prototyypin piirilevyt ja komponenttiladonta tehtiin kotiolosuhteissa. Lisäksi prototyyppejä kehitettiin ja testattiin sekä laitteisto- että ohjelmistopuolelta koko ajan ja merkittiin ylös tarvittavien puutteiden korjaukset ja tarvittavat kehitykset. Kolmas prototyyppi tilattiin Bulgariasta Olimex-piirilevy-yritykseltä ja neljäs Kiinasta MyroPCB-yritykseltä. Levyjen kuvat lähetettiin Gerber-muodossa, ja kaikissa levyissä komponentit ladottiin ja juotettiin itse. KUVIO 24 Ajastinlaitteen ohjauspiirilevy KUVIO 25 Ajastinlaitteen käyttöliittymäpaneelin piirilevy Käyttöliittymäpaneelin PE-muovin jyrsinnästä tehtiin tarjouspyyntö Kalustemuovi Virtalalle, joka oli 250 € / 5 kpl. Tilausta ei tehty, mutta hankittiin 5 kpl (140 x 56 x 10) mm:n muovilevyjä. Itse jyrsintä teetettiin Lahden ammattikorkeakoulun 42 koneistuslaboratoriossa, jossa jyrsittiin vain yksi muovilevy (Liite 6). Paneeli rakennettiin valmiiksi, joka nähdään kuviosta 26. KUVIO 26 Käyttöliittymäpaneelin rakenne Ohjelmisto toteutettiin kappaleen 5.4 Ohjelmiston suunnittelu mukaan, mutta sitä ei ajan puutteen vuoksi ehditty saamaan täysin valmiiksi. Ohjelmisto on saatavana GSM-ohjauksella ja ilman osoitteesta http://www.lpt.fi/~monkarvi/ajolasi.htm. Neljännen prototyypin piirilevyt ovat uusimmat, jotka on testattu kaikilta osin laitteessa olevien toimintojen osalta työpöydällä vahinkojen välttämiseksi ja turvallisuuden takaamiseksi. Lopuksi ajastinlaite relekoteloineen (Kuvio 27) ja lämpömittareineen asennettiin ajoneuvoon ja se testattiin kytkemällä verkkopistoke ajoneuvoon. KUVIO 27 Relekotelon ja -yksikön asennus Käyttöliittymäpaneeliin tulivat kelloaika, akun jännite, päivämäärä ja lämpötilat. Ajastin asetettiin valikon kautta perusmoodiin minuutin päähän lämmityksen al- 43 kamisajankohdasta, jolloin sisälämmittimeen ja lohkolämmittimeen kytkeytyi sähkö minuutin kuluttua. Laite toimi ulkoisesti katsottuna moitteettomasti lukuun ottamatta LCD-näytön hidastumista sekä pieniä ohjelmallisia virheitä. 5.6 GSM-laitteen toteutus ja testaus GSM-laitteen piirilevy (Kuvio 28) tilattiin myös Bulgariasta Olimexilta, ja laitteen alkutestauksessa ja käyttöönotossa esiintyi ongelmia. Laite ei toiminut aluksi oikein, vaan se sammui hetken kuluttua laitteen käynnistyksestä verkkoon kirjautumisen hetkellä. Tapausta tutkittiin kaikilta mahdollisin osin, omatekoisen antennin toimivuutta epäiltiin, SIM-kortin yhteensopimattomuutta sekä muita laitteistollisia suunnittelu virheitä yritettiin paikantaa ja havaita. KUVIO 28 GSM-laite GSM-laiteongelmassa otettiin lopulta yhteyttä laitevalmistajaan. Telitin Suomen edustaja (M2M Platforms) antoi vihjeitä laitteisto-ongelmiin (Järveläinen 2007), mutta ongelmaan ei saatu heti ratkaisua. Internetin keskustelupalstalta huomattiin saman laitteiston kanssa samantyyppisiä ongelmia eri käyttäjillä ja ongelmaan 44 löytyi ratkaisu. Ratkaisuna oli, että moduuli tarvitsee riittävän tehonsyötön kytkeytyessään verkkoon, jonka Telit itsekin myönsi jälkikäteen. Suunnitteluvirheenä oli tehonsyötön puutteellinen virranantokyky, sillä laitteisto suunniteltiin aluksi LM317-regulaattorilla, joka kykenee antamaan virtaa maksimissaan 1,5 A:n virran, vaikka moduuli tarvitsee noin 2 A:n virran. Lisäksi jännitteen notkahtamisen estäminen virran ollessa maksimissa tuli ottaa huomioon valitessa uutta komponenttia. Vika korjattiin vaihtamalla regulaattori toiseen, LM1085:een, jolla on 3 A:n virranantokyky ja Drop-down-jännite n. 1,5 V. Lisäksi 1,5 ampeerin virhenapaisuudenestodiodi 1N4007 vaihdettiin kolmen ampeerin 1N5404:seen (Kuvio 20). Toinen virhe tapahtui RS232-liitännän MAX203E-puskuripiirissä, jossa ei otettu huomioon GSM-moduuliin CMOS-jännitetasoja 2,8 V. Piiri toimii 5 V:n jännitteellä ja näin ollen myös TTL-puolen tasot ovat 5V. Tällöin moduuli olisi vioittunut heti tai ainakin ajan myötä. Vika ’korjattiin’ lisäämällä 2,7 V:n zenerdiodit ulostuloihin maata vasten (Kuvio 21). Alussa testattiin myös omatekoista dipoliantennia, joka toimi riittävän hyvin sisätiloissa, mutta käytännön ratkaisussa päädyttiin kuitenkin käyttämään tilattua moduulin valmistajan suunnittelemaa nelitaajuusantennia. GSM-laitteen toimintavarmuuden ja toiminnan toteamisen jälkeen alettiin testata moduulin käyttöliittymää. AT-komentoja testattiin ensin tietokoneen COM1portin kautta RS232-liitännällä ja lisäksi järjestelmän ajastinlaitteiston UARTliitännän kautta. Aluksi kummatkin laitteet ottivat yhteyden tietokoneeseen, mutta laitteiden keskinäistä kommunikointia ei saatu toimimaan. Yhteydessä huomattiin olevan kommunikointihäiriöitä, jos sekä PC että ajastinlaite kytketään moduuliin. Suunnittelussa oletettiinkin, että liitäntöjen rinnakkaisuus ei tulisi toimimaan, vaan piirilevylle jätettiin varaus kahden erilaisen liittimen hyödyntämiseksi. Alussa tehtiin lisäksi ohjelmallisia alustuksia, jotka on esitetty kohdassa 4.3 Moduulin käyttöönotto. Moduulia testattiin myös soittamaan ja lähettämään tekstiviestejä sekä tallentamaan viestejä. Kaikki ominaisuudet, joita kyettiin testaamaan toimivat valmistajan ohjelmistomanuaalin mukaisesti. Kommunikointi ajastin- ja GSMlaitteen välillä saatiin toimimaan ja tehtiin muutama ohjelmarivi, joka soittaa ja lähettää viestin tiettyyn numeroon (Kuvio 29). 45 KUVIO 29 Esimerkki koodista, joka soittaa ja lähettää viestin annettuun numeroon. Ohjelmistoa kehitettiin yhä enemmän, mutta ajan puutteen vuoksi laitteistoa ei ehditty testaamaan ajoneuvossa kuin ajastinlaitteistolta osin (Kuvio 30). Järjestelmä GSM-laitteineen saatiin kuitenkin toimimaan työpöydällä moitteettomasti. KUVIO 30 Ajastin laitteisto asennettuna ajoneuvoon. 46 6 GM862:N SOVELTUVUUS KÄYTTÖÖN JA M2M-OHJAUKSEEN Tässä luvussa käydään edellisien lukujen ja käyttöönotossa ja testauksessa esiintyneiden kokemusten pohjalta GSM-päätelaitteen soveltuvuutta käyttöön ja sulautetun järjestelmän M2M-ohjaukseen GSM-verkossa. 6.1 Käyttökokemuksia alussa Tämän opinnäytetyön ohessa toteutetun kehitysalustalaitteiston ja siihen suunnitellun ajoneuvon esilämmitysjärjestelmän pohjalta saatiin käyttökokemuksia ja käytössä mahdollisesti esiin tulevia vahvuuksia ja heikkouksia GSM-päätelaitteen ja sulautetun järjestelmän välisestä yhteistyöstä ja soveltuvuudesta M2Mohjaukseen GSM-verkossa. Moduulin valinta tehtiin työn alussa perehtymällä moduulin valmistajan antamiin tuotekuvauksiin ja -ominaisuuksiin sekä laitteistovaatimuksiin. Tuotteen kuvauksista saatiin käsitys laitteen laadusta ja ammattikäyttöön suuntautuvuudesta. Moduuli hankittiin SparkFun Electronics -sivustolta USA:sta Internet-sivujen kautta. Valmistajan tekemät datasivut ja manuaalit olivat helposti saatavilla saman sivuston kautta, josta oli linkki Telitin sivuille. Manuaalit oli jaettu selkeisiin osakokonaisuuksiin Product Descripition, Hardware User Quide, Software User Quide ja AT Commands Reference Quide. Kussakin oppaassa olisi selkeästi tuotu esille tarvittavat tiedot, joskin liian lyhyesti muutamissa kohdin. Piirikaaviosuunnittelussa tuli tukeutua vahvasti valmistajan laitteisto-oppaaseen, jossa tuli esille moduulin laitteistovaatimukset. Kuten järjestelmäesimerkin GSMlaitteen testauksessa todettiin luvussa 5.6 GSM-laitteen toteutus ja testaus, moduulin käyttöönotossa ilmeni tehonsyötön alueella ongelmia. Tehoelektroniikan suunnittelu on oma lajinsa, sillä se vaatiikin jo enemmän elektroniikan suunnitteluosaamista. M2M Platforms Ltd-yhtiön Kari Järveläiseltä, joka on Telitin edustaja Suomessa, saatiin tuotetukea laitteiston käyttöongelmissa. Lisäksi saatiin jälkikäteen postitse lisätietoa Telitin moduuleihin liittyviin laitteistollisiin kysymyksiin ja suunnitteluun yhtiölleen pidetyn seminaarin materiaalista, M2M Platforms Seminar 2007. Tuki käyttöongelmissa oli riittävää ja myönteistä, vaikkakin tiedot tulivat jälkeenpäin. 47 Laitteen ja käyttäjän välisen rajapinnan toimintaan perehdyttiin ohjelmisto- ja ATkomento-oppaiden avulla. Toiminta oli yksiselitteisen helppoa ja yksinkertaista syöttämällä komentoja PC-tietokoneen Terminal-ohjelmalla RS232-liitännän kautta. Alkuvaikeutena oli kuitenkin komentojen syöttäminen ja käyttäminen ohjelmallisesti kontrolleripohjaisesti. Ohjelmalliset ja GSM-moduulin käyttöönoton tarkemmat alustukset ja vaatimukset on esitetty luvussa 4.3 Moduulin käyttöönotto. 6.2 Soveltuvuus M2M-ohjaukseen Aikaisempien käyttökokemusten pohjalta todettiin, että langattomuus sulautetuissa järjestelmissä alkaen vapaa-ajan laitteesta teollisuuslaitteisiin asti tuo vapautta, nopeutta ja reaaliaikaisuutta monien sovelluksien käytössä. GSM-verkon käyttäminen tiedonsiirtoon ja ohjaukseen sulautetuissa järjestelmissä on ratkaisu moneen ongelmaan, sillä nykyaikana langattomuutta vaaditaan monelta laitteelta niin teollisuudessa kuin kotitaloustuotteissa. Viitaten aikaisempaan M2M-tekniikan käsittelyyn GSM on hyvä ratkaisu silloin, kun halutaan tietää jonkin prosessin tai järjestelmän tila tai tilanne päätelaitteen ollessa lähes missä vain maailmassa. Edellytyksenä on tietenkin verkon kattavuus päätelaitteen sijainnissa. GM862-moduulin fyysisen pienen koon takia se voidaan sijoittaa helposti monen sulautetun järjestelmän ohjaukseen, johon se on suunniteltu onnistuneesti. GM862 soveltuukin hyvin M2M-ohjaukseen, sillä UART-liitäntä on täysin riittävä väylä kommunikointiin elektroniikkalaitteen ja moduulin välillä, mutta vanhahtavan RS232-liitäntä voitaisiin korvata uudemmalla USB-tekniikalla tai saataisiin suoraan moduulin ulostuloista tietty standardiliitäntä. Teollisuudessa käytetään monien mittalaitteiden yhteydessä mittaustietojen siirtämiseen GSM-verkkoa. Lisäksi kotitalouksissa käytetään talon hälytys- ja ohjausjärjestelmissä GSM-ohjausta. GSM-ohjaus soveltuu hyvin sulautetun järjestelmän M2M-ohjaukseen ja tiedon liikennöimiseen järjestelmän ollessa rajattu suorittamaan ohjaus tai tiedon kulku mahdollisien verkkovirheiden ja häiriöiden puitteissa. GSM-verkon M2M-tekniikassa saavutetaan monia sovelluksellisia etuja, kuten globaali kauko-ohjaus, taloudellisuus, nopeus, ylläpidettävyys, helppokäyttöisyys ja kehitettävyys. Haittoina voi olla mm. tehonkulutus, verkkoviiveet ja verkkohäi- 48 riöt sekä etäohjauksen paikallisen valvonnan puute. Kontrollin puute voi johtaa esim. mittaviin vaurioihin ja tulipaloihin. 49 7 YHTEENVETO Opinnäytetyön tavoitteena oli perehtyä sulautettuihin järjestelmiin sekä selvittää GSM-päätelaitteen käyttömahdollisuuksia ja soveltuvuutta sulautetun järjestelmän M2M-ohjaukseen. Työn tarkoituksena oli hyödyntää saavutettuja tuloksia ja käyttökokemuksia markkinoimalla järjestelmää kehitysalustana ohjelmiston kehitykseen tai oman yrityksen tuotteena. Alussa perehdyttiin yleiskäyttöisten ja sulautettujen tietokonejärjestelmien eroavaisuuksiin, historiaan sekä niiden jatkuvaan yleistymiseen nykyaikaisissa elektroniikkalaitteissa. Lisäksi selvitettiin sulautetun järjestelmän rakenteellista arkkitehtuuria. Luku käsitteli myös yleismallin ja prosessin sulautetun järjestelmän suunnittelusta ja todettiin, että toimivan järjestelmän suunnittelun aikaansaamiseksi tarvitaan riittävästi aikaa. Lopuksi tarkasteltiin ja tuotiin esille ohjelmointiin liittyviä seikkoja, kuten laiteläheisyys, standardointi, työkalut sekä yleiskäyttöisyys. Lisäksi todettiin sulautetun järjestelmän ohjelmoinnin olevan ohjelmoijan kannalta hyvin kreatiivista ja omien funktioiden rakentamista. Luku 3 käsitteli tutkielman kannalta oleellisia ominaisuuksia ja rakennetta GSMverkosta. Aluksi tutustuttiin GSM-verkon historiaan ja sukupolvien välisiin kehitysvaiheisiin. Kehitysvaiheista todettiin GSM-verkon olevan tukena tuleville järjestelmille. Sen jälkeen käsiteltiin GSM-verkon yleistä topologiaa, ja lopussa esiteltiin GSM-verkon erilaisia sovelluksia, kuten SMS-viestit ja M2M-ohjaus. SMSsovelluksien todettiin olevan käyttökelpoisia palveluita GSM-verkossa, ei ainoastaan ihmisten väliseen kommunikointiin, mutta myös koneiden tiedon liikennöintiin. GSM-verkon tiedonsiirto-ominaisuuden myötä todettiin myös sen olevan käypä M2M-ohjaukseen, sillä monissa M2M-laitteissa käytetään muutakin kommunikointia kuin SMS. Luvussa 4 esiteltiin järjestelmäesimerkissä käytettävä GSM-moduuli, joka todettiin laadukkaaksi ja ylläpidollisesti helposti päivitettäväksi päätelaitteeksi. Moduulista esiteltiin sen ominaisuuksia ja käyttökohteita, joiden perusteella sen todettiin soveltuvan hyvin suunniteltavaan järjestelmään. Sen jälkeen perehdyttiin moduulin käyttöliittymään ja käyttöliittymän hallintaan. Käyttöliittymän todettiin 50 olevan helppokäyttöinen lyhyiden AT-komentojen suhteen. Lisäksi selvitettiin moduulin käyttöönottoon liittyviä laitteistollisia ja ohjelmallisia alustuksia. Luvussa 5 käytiin läpi ajoneuvon esilämmitysohjausjärjestelmän määrittely, suunnittelu ja toteutus sekä testausta. Alussa määriteltiin järjestelmän yleisiä ja toiminnallisia vaatimuksia, minkä jälkeen käsiteltiin järjestelmän suunnittelun ja toteutuksen vaiheet laitteiston ja ohjelmiston osalta. Lopuksi järjestelmää testattiin ja esitettiin työn tuloksia. Luvussa 6 käsiteltiin esiteltyjen lukujen ja käyttöönotossa ja testauksessa esiintyneiden kokemusta pohjalta GSM-päätelaitteen soveltuvuutta M2M-ohjaukseen sulautetun järjestelmän osana. Alussa tuotiin esille käyttökokemuksien mukaan kehitysalustalaitteiston testauksessa vahvuuksia ja heikkouksia käytön ja toimivuuden osalta. Lisäksi todettiin valmistajan antamien datasivujen olevan helposti saatavilla ja luettavissa, sillä manuaalit olivat jaettu selkeisiin osakokonaisuuksiin. Lopussa tutkittiin myös M2M-ohjauksen soveltuvuutta sulautetun järjestelmän GSM-ohjaukseen ja todettiin sen olevan kehityskelpoinen verkko M2Mohjaukseen. Lisäksi tuotiin esille laitteistollisia kehitysehdotuksia ja parannuksia. Työn tuloksista voidaan todeta, että sulautettujen järjestelmien yhdistäminen M2M-ohjaukseen GSM-tekniikalla soveltuu hyvin, sillä käyttökokemukset ja tulevaisuuden näkymät antavat ymmärtää M2M:n olevan tulevaisuuden tekniikoita. Työn esimerkkijärjestelmän toteutuksesta voidaan myös todeta suunnitellun järjestelmän kehityskelpoisuuden ohjelmallisine ratkaisuineen. Kehitysalustan toteutuksesta on hyötyä myös muissakin laitteistoratkaisuissa. Etenkin tehtaitten valvonnassa mutta myös kotitalouksissa M2M-tekniikalla saadaan vapautta, joustavuutta ja välimatkaa tarvittavien toimintojen ja ohjauksien suorittamiseen. 51 LÄHTEET Atmel 2006. Atmega32 Datasheet 2006 [verkkojulkaisu]. Atmel Corporation [viitattu 19.11.2006]. Saatavissa: http://www.atmel.com Geier, J. 2005. Langattomat verkot. Edita Prima Oy, Helsinki 2005. Granlund, K. 2001. Langaton tiedonsiirto. Docendo Finland Oy, Jyväskylä. Hämeen-Anttila, T. 2002. Mobiili-palveluiden tuottaminen. Docendo Finland Oy, Jyväskylä. Järveläinen, K. 2007. M2M Platforms Ltd. Puhelin- ja sähköpostikeskustelu 22.2.2007. Koskinen, J. 2004. Mikrotietokonetekniikka. Sulautetut järjestelmät. Uudistettu painos. Otavan Kirjapaino Oy, Keuruu. Motiva, 2005. Moottorin esilämmitysopas [verkkojulkaisu]. Motiva [viitattu 20.3.2007]. Saatavilla: http://www.motiva.fi/fi/julkaisut/liikenne/moottorinesilammitys/moottori nesilammitysopas.html Ojanperä, V. 2007. LTE kiihdyttää 3G-vauhtia. Prosessori – huipputekniikan ammattilehti. Sanoma Magazines. Finland Oy. Anne Koski 2007. 14, 16, 45-47. Penttinen, J. 2001. GSM-tekniikka, 3.-4. painos. WSOY, Vantaa. Penttinen, J. 2006. Tietoliikennetekniikka. WSOY, Porvoo. SparkFun Electronics homepage 2007. [verkkojulkaisu]. SparkFun [viitattu 20.3.2007]. Saatavilla: http://www.sparkfun.com Tekes 2005. M2M Evoluutio [verkkojulkaisu]. Tekes [viitattu 20.3.2007]. Saatavilla: http://akseli.tekes.fi/opencms/opencms/Ohjelma Portaali/ohjelmat/NETS/fi/Dokumenttiarkisto/Viestinta_ja_aktivointi/ 52 Muu_viestinta_ja_aktivointi/Kutsutjailmoitukset/M2M_Evoluutioraportti _V2.pdf Telit Homepage 2007. http://www.telit.com/. 20.3.2007 Telit 2007a. GM862 AT Commands Reference Quide [verkkojulkaisu]. Telit [viitattu 20.3.2007]. Saatavissa: http://www.telit.com/products/modules/gm862 Telit 2007b. GM862 Hardware User Quide [verkkojulkaisu]. Telit [viitattu 20.3.2007]. Saatavissa: http://www.telit.com/products/modules/gm862 Telit 2007c. GM862 Software User Quide [verkkojulkaisu]. Telit [viitattu 20.3.2007]. Saatavissa: http://www.telit.com/products/modules/gm862 Telit 2007d. GM862 Product Descripition [verkkojulkaisu]. Telit [viitattu 20.3.2007]. Saatavissa: http://www.telit.com/products/modules/gm862 Telit 2007e. Telit Integration 6 M2M Platforms seminar. PowerPointseminaarikurssin CD ja esite M2M Platforms Ltd:lle. Lahden seutu. Vahtera, P. 2003. Mikro-ohjaimen ohjelmointi C-kielellä. WS Bookwell Oy, Porvoo. Äyrämö, S. 2002. Reaaliaikajärjestelmän mallintaminen UML-kuvausmenetelmän avulla. Pro Gradu -tutkielma. Jyväskylän yliopisto, Tietotekniikan laitos, Ohjelmistotekniikan linja. LIITTEET LIITE 1/1 AJASTINLAITTEEN PIIRIKAAVIO JA –LEVYKUVAT LIITE 1/2 AJASTINLAITTEEN PIIRIKAAVIO JA –LEVYKUVAT LIITE 1/3 AJASTINLAITTEEN PIIRIKAAVIO JA –LEVYKUVAT LIITE 1/4 AJASTINLAITTEEN PIIRIKAAVIO JA –LEVYKUVAT Reititys yläpuoli Reititys alapuoli LIITE 1/5 AJASTINLAITTEEN PIIRIKAAVIO JA –LEVYKUVAT Kokoonpano yläpuoli Kokoonpano alapuoli LIITE 2/1 GSM-LAITTEEN PIIRIKAAVIOT JA –LEVYKUVAT LIITE 2/2 GSM-LAITTEEN PIIRIKAAVIOT JA –LEVYKUVAT Reititys yläpuoli Reititys alapuoli LIITE 2/3 GSM-LAITTEEN PIIRIKAAVIOT JA –LEVYKUVAT Kokoonpano yläpuoli Kokoonpano alapuoli LIITE 3 RELEYKSIKÖN PIIRIKAAVIO LIITE 4 KÄYTTÖLIITTYMÄVALIKKO LIITE 5/1 OHJELMISTON VUOKAAVIO LIITE 5/2 OHJELMISTON VUOKAAVIO LIITE 5/3 OHJELMISTON VUOKAAVIO LIITE 5/4 OHJELMISTON VUOKAAVIO LIITE 5/5 OHJELMISTON VUOKAAVIO LIITE 5/6 OHJELMISTON VUOKAAVIO LIITE 5/7 OHJELMISTON VUOKAAVIO LIITE 6/1 KÄYTTÖLIITTYMÄPANEELIN KUVAT LIITE 6/2 KÄYTTÖLIITTYMÄPANEELIN KUVAT LIITE 6/3 KÄYTTÖLIITTYMÄPANEELIN KUVAT LIITE 6/4 KÄYTTÖLIITTYMÄPANEELIN KUVAT