Lähes kaikissa sulautetuissa laitteissa tarvitaan langaton yhteys internetiin. Sen toteuttaminen onnistuu parhaiten oikein valitun alustan avulla.

 Artikkelin on kirjoittanut Cypress Semiconductorin vanhempi sovellusinsinööri Vikram Ramanna.

Esineiden internet (IoT) houkuttaa monia elektroniikkataloja, koska mahdollisuus liittää aiemmin erillisiä laitteita verkkoon on niin laaja. Lähes joka kodista löytyy wifi-reititin ja standardin Bluetoothin tai Bluetooth Smart Radion avulla laitteet voidaan liittää satoihin miljooniin aina päällä oleviin älypuhelimiin tai tabletteihin.

Vaikka IoT:lle on olemassa lähes universaali radioinfrastruktuuri, ei tämä tarkoita että luotettavan langattoman internet-yhteyden tuominen sulautettuihin laitteisiin olisi helppoa. Itse asiassa monilla tapaa radio itsessään on sulautetun laitteen suunnittelijan ongelmista pienimpiä. Suunnittelun ohjelmisto-osuus vaatii erityistä huomiota, kuten tässä artikkelissa pyritään osoittamaan.

Miksi tarvitaan alusta?

WiFi- ja Bluetooth-yhteydet – sekä klassiessa että BLE- eli low energy -muodossaan – ovat tulossa selvästi yleisimmiksi tavoiksi liittää kodin, toimiston, tehtaan ja julkisten tilojen IoT-laitteet verkkoon. Tämä johtuu siitä, että näitä tekniikoita tukevia verkkoja löytyy lähes kaikkialta. Muut radiotekniikat eivät tarjoa läheskään vastaavaa käytettävyyttä tai peittoa.

Tämän takia monet komponenttien valmistajat ovat tuoneet markkinoilla laajan valikoima wifi- ja Bluetooth-piirisarjoja, RF-mikro-ohjaimia, RF-moduuleita ja jopa kokonaisia WiFi-yhdyskäytäviä. Nyt internet-liitännän sulauttamiseen vaatimat komponentit on helppo löytää ja suhteellisen edullisia ostaa.

Radiokomponentin valitseminen on tietenkin vasta toimivan WiFi- tai Bluetooth-järjestelmän suunnittelun ensimmäinen askel. Vaikeinta ja eniten aikaa vievää missä tahansa IoT-laiteprojektissa on ohjelmiston kehitys. Kun verkkoon liitytään WiFin tai Bluetoothin välityksellä, ohjelmistovaatimuksiin sisältyy todennäköisesti tuki useilla sovellusprotokollille kuten HTTP, SMTP, NTP ja MQTT, joilla toteutetaan yhteys webbi- ja sovelluspalvelimiin internetin yli. Erityisesti kuluttajalaitteissa toteutetaan usein alempi sovellustaso, jotta saadaan saumaton yhteensopivuus yhteensopivien laitteiden kanssa – esimerkkeihin kuuluvat Applen HAP-protokolla (Homekit Accessory Protocol) tai Googlen ”Works with Nest” -järjestelmä (ks. kuva 1).

Vahva tietoturva on tänään pakollinen osa jokaisessa nettiin kytketyssä laitteessa, sekä varmistamaan käyttäjän datan ja toimintojen suojaainen että suojaamaan luvaton pääsy verkkoon IoT-laitteen kautta. Tämä edellyttää, että sulautetun laitteen kehittäjä hyödyntää viimeisimpiä internetin tietoturvatekniikoita, kuten TLS 1.2:aa (Transport Layer Security) tai muita turvaprotokollia, joilla voidaan suojata datatoiminnot ja viestinvaihto laitteiden ja pilven välillä SSL-kerroksen (Secure Sockets Layer) yli.

Kuva 1. Nest-termostaatti, joka on Googlen Works with Nest -ekosysteemin sydän.

Yksityiskohtaisesti nämä tietoliikenne- ja tietoturvaprotokollat tuntevia sulautettuja kehittäjiä on vähän, joten useimmat laitevalmistajat tarvitsevat tukea toteuttaakseen ne omissa tuotteissaan. Vaikka WiFi- tai Bluetooth-piirisarjan toimittaja voi tuoda perustason TCP/IP-pinon käyttöön, on harvinaista että kaikki edellä mainitut yhteys- ja suojatoiminnot liitetään RF-komponentin mukaan.

Ongelma ei lisäksi pääty tähän. Jotta sovellustaso, tietoturvataso ja tietoliikennetaso toimivat koordinoidusti ja hallittavalla tavalla, järjestelmäarkkitehtuuri edellyttää käyttöjärjestelmän hallinnoimaan toimintoja kute priorisointi ja muistin allokointi. Sulautetuissa laitteissa valitaan yleensä reaaliaikakäyttöjärjestelmä (RTOS), joka toimii nopeasti ja deterministisesti, ja joka tarvitsee vähän muistia. Näin kehitystehtää laajenee lisää ja pitää sisällään myös RTOS:n integroinnin sekä alla olevaan radiolaitteistoon että RTOS:n päällä oleviin turva-, tietoliikenne- ja sovelluskerroksiin.

Mittava softahaaste

Nyt näemme jo ohjelmistokehitystehtävän laajuuden, kun halutaan toteuttaa langaton nettiliitäntä laitteeseen. Koska tehtävä on mittava, suunnittelijan pitäisi miettiä kahta asiaa ennen kuin ryhtyy komponenttien valintaan:

Onko olemassa tuottavaa kehitysympäristöä, joka pystyy tukemaan suunnittelijaa koko projektin läpi, käyttöjärjestelmästä protokollakerrokseen ja sovelluskerrokseen?

Mitä tapahtuu tämän projektin lopussa? Onko laiteohjelmisto uudelleen käytettävissä seuraavassa IoT-projektissa ja sitä seuraavissa projekteissa?

Vastaukset näihin kysymyksiin johtavat suoraan kehitystiimin RF-laitevalintaan, koska se määrittelee pääseekö tiimi käsiksi tarvitsemiinsa ohjelmistonkehitysresursseihin. Tällä valinnalla voi olla kauaskantoisia seurauksia: tämän päivän projektissa luodaan periytyvää legacy-koodia, jota tulevissa projekteissa voi olla hyödyllistä käyttää. Tuossa tulevassa projektissa voidaan kuitenkin käyttää uutta laitteistoa, joka on esimerkiksi päivitetty tukemaan WiFin tai Bluetoothin tulevia määrityksiä. Mikäli aiempaan projektiin ei ole sisäänrakennettua mekanismia ohjelmiston siirrettävyydelle (portability), sen uudelleenkäyttö uudella raudalla voi olla mahdotonta.

WICED

Näitä kahta ongelmaa Cypress on lähtenyt ratkaisemaan WICED-alustallaan (nimi WICED on lyhenne nimestä Wireless Internet Connectivity for Embedded Devices). Alustan perustan muodostaa WICED-ohjelmistokehitysalusta (SDK). Sillä toteutettu ohjelmisto toimii millä tahansa Cypressin WICED-radiomoduulilla. Moduuleja on tarjolla pelkkään WiFi-yhteyteen, WiFin ja klassisen Bluetoothin yhdistelmään, sekä klassisen Bluetoothiin ja BLE-yhteyden yhdistelmään. Lisäksi WICED-alusta tukee erilaisia mikro-ohjainperheitä:

- Cypressin FM4-sarja
- STMicroelectronicsin STM32F2- ja STM32F4-perheet
- Microchipin AT91SAM4S16B
- NXP Semiconductorsin Kinetis K61-, LPC17xx- ja LPC18xx-perheet

SDK-alustan tarkoitus (ks. kuva 2) on kiihdyttää ja yksinkertaistaa verkkoon liitettävän laitteen ohjelmiston kehitystä. Pakettiin sisältyy:

- Sovellusohjelmointirajapintoja ja ajureita.
- ThreadX-, NuttX- ja FreeRTOS-reaaliaikakäyttöjärjestelmien natiivi tuki. Kehittäjät voivat myös kääntää muista RTOSeja WICED-alustalla. ThreadX jaetaan binäärimuodossa WICEDin mukana rojaltivapaasti.
- NetX-, NetXDuo- ja LwIP-verkkoprotokollien tuotantovalmiiden versioiden natiivi tuki. Muita TCP/IP-pinoja voidaan helposti portata WICED-alustalle. NetX ja NetXDuo toimiteraan binäärimuodossa WICEDin mukana rojaltivapaasti.
- Tuotantovalmiit tietoturvapinot.
- Integroidut, lisensoidut kirjastot, joilla toteutetaan kolmansien osapuolten ohjelmistoja kuten Applen Homekit-protokolla.
- Integroitu tuki IoT-pilvialustoille kuten Amazonin AWS ja IBM:n BlueMix.

Kuva 2. WICED SDK tarjoaa kokonaisen ohjelmistokehyksen IoT-laitteen suunnitteluun.

Kehitysalusta on yhteensopiva avoimen lähdekoodin Eclipse-kehitysympäristön kanssa, joten suunnittelijan voivat hyödyntää kaikkia Eclipsen ominaisuuksia ja toimintoja sovellusten kehittämiseen ja debuggaukseen Cypressin RF-tuotteilla. Käyttäjät voivat myös laajentaa alustaa Eclipse-yhteensopivilla lisäosilla, jotka on tuotu muista kehitysympäristöistä kuten vaikkapa IAR:n Embedded Workbenchistä.

Nopeasti liikkeelle

SDK mahdollistaa internetiin liittyvien laitteiden nopean kehityksen tarjoamalla kattavan kehyksen tietoliikenteelle, tietoturvalle, middleware-ohjelmistoille ja sovelluksille. Cypress auttaa kehittäjiä myös tarjoamalla suuren kirjaston sovelluskoodiesimerkkejä, joten kehittäjät saavat varaslähdön pyrkiessään toteuttamaan heille usein tuntemattomia elementtejä kuten Googlen Works With Nest.

Laiteidean toimivuuden todistava proof-of-concept -kehitys onnistuu Arduino-yhteensopivilla kehityskorteilla, joita on tarjolla jokaiselle Cypressin valmistamalle WICED RF -moduulille ja RF-mikro-ohjeimelle. Yhdistämällä tuotantovalmista ohjelmistoa ja IoT-pilvialustojen natiivia tukea kehityskorteilla voivat käyttäjät saada ideansa toimimaan livenä internetissä muutaman minuutin sisällä paketin avaamisesta ja virran syöttämisestä kortille.

Toinen avainkysymys sulautettujen laitteiden kehittäjälle IoT-projektin alussa on, kuinka taata koodin uudelleenkäyttö tulevissa projekteissa. WICED-alustalla tämä mahdollistetaan laitteiston HAL-absraktiokerroksella (HAL, hardware abstraction layer), joka näkyy kuvassa 2. Tämä tekee koko ajurien, pinojen, RTOSin ja sovellusten ohjelmistokehyksestä laiteriippumatonta. Esimerkiksi WICED WiFi 802.11b -moduulia varten kehitetty koodi voidaan yksinkertaisesti uudelleenkäyttää päivitetyssä 802.11n-moduulissa, koska molemmat moduulit tukevat alustan HAL-kerrosta.

Kuva 3. WICED-alustan tukemat laitearkkitehtuurit.

Tämä mahdollistaa laitteiston vaihtamisen kesken projektin. WICED tukee laajaa valikoimaa laitearkkitehtuureita (ks. kuva 3). Protokehitysvaiheessa suunnittelutiimi saattaa päättää haluta siirtää WiFi-protokollan ulkoiselta isäntäprosessorilta integroidulla WiFi-moduulille, kuten CYW43907-piiri, jolla on ARM Cortex-R4 -prosessoriydin. Arkkitehtuuri toimii HAL-kerroksen päällä, joten se voidaan uudelleenkäyttää toisessa arkkitehtuurissa saman HAL-kerroksen päällä.

Ohjelmisto määrittelee laitevalinnat

IoT-laitekehityksessä ohjelmistovaatimusten pitäisi määritellä laitteiston valinnan. Monet markkinoilla tarjolla olevista WiFi- ja Bluetooth-radioista ovat laitenäkökulmasta erinomaisia suorituskyvyltään ja määrityksiltään. Suunnittelijan näkökulmasta niiden ongelmana on integrointi tietoturvalliseksi ohjelmistoympäristöksi, joka tukee koodin uudelleenkäyttöä.

Tämän toiminnallisuuden toteuttaminen peräänkuuluttaa dedikoitua ohjelmistoalustaa, jossa kehitys on helppoa, koodi on laiteriippumatonta ja eri laitearkkitehtuurien välillä voidaan valita. Tämä on tarkoitus WICED-alustan takana. Laajentamalla jatkuvasti alustalla tarjolla olevien moduulien alaa ja toimintoja Cypress haluaa tuoda alustan käytettäväksi mahdollisimman monessa huomisen IoT-suunnittelussa.

ETNtv

Watch ECF videos

Korteilla vauhtia IoT-kehitykseen

Sulautetun laitteen kehitys onnistuu useimmiten helpoiten valmiiden moduulien avulla. Nykyään niitä saa myös tehokkailla Apollo Lake -sarjan prosessoreilla varustettuna.

Lue lisÀÀ...

Suomen suurin valtti kybersodassa on luottamus

Teknologia19 – Aalto-yliopiston kyberturvallisuusprofessori Jarno Limnéll uskoo, että luotettavuudesta voi tulla suomalaisten yritysten suurin myyntivaltti tulevaisuudessa. – Tärkein kysymys on tulevaisuudessa, kehen ja mihin voimme luottaa. Luottamuksesta on tulossa hyvin arvokas aineeton pääoma yrityksille, Limnéll sanoi eilen messukeskuksessa.

Lue lisÀÀ...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

 SPONSORS

 

congatec is a rapidly growing technology company focusing on embedded and edge computing products and services. The high-performance computer modules are used in a wide range of applications and devices in industrial automation, medical technology, robotics, telecommunications and many other verticals.

CVG Convergens is an ICT services company specialized in embedded systems, smart connected products and ICT systems and processes for SME businesses. Our mission is to help our clients, our team, and the society to improve and thrive by providing reliable and sustainable solutions, services, and products by creative and efficient application of technology.

 

ADLINK Technology leads edge computing, the catalyst for a world powered by artificial intelligence. We manufacture edge hardware and develop edge software for embedded, distributed and intelligent computing - from powering medical PCs in the intensive care unit to building the world’s first high-speed autonomous race car - more than 1600 customers around the world trust ADLINK for mission-critical success.

 

 

Testhouse Nordic is the leading supplier of test and measurement products and solutions in the Nordic countries. We partner with world's most renowned suppliers. Through our expertise and strong relationships with our suppliers, we offer products and services that regularly exceed our customers’ expectations.

 

 

Mespek Oy is established 1989 and our focus is on industrial electronics and producing support services. The main product areas of Mespek are embedded modules, industrial computing, test&measurement modules and server management systems (KVM-switches).

 

BCC Solutions Oy is a Finnish company that, in addition to expert services, offers comprehensive equipment solutions for data transfer and telecommunication networks, as well as their analysis, testing and measurement. We broadly represent the industry's leading brands.

 

 

In cooperation with

 

 

 

and

 





ECF template