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

TekoÀlyn avulla robotteja voidaan ohjata puheella

ETN - Technical article

Generatiivisen tekoälyn vallankumous, joka tuo chatbotit asiakaspalveluun ja mahdollistaa älykaiuttimien kaltaiset laitteet, on vasta alkua. Sama teknologia, joka ymmärtää ihmisten puhetta, siirtyy nyt robotiikkaan, missä se auttaa kehittämään algoritmeja robottien liikkeiden ohjaamiseen ja politiikkojen toteuttamiseen tärkeiden tehtävien suorittamiseksi.

Lue lisÀÀ...

SOM-ratkaisut ovat lÀÀketieteellisen elektroniikan luotettava tulevaisuus

Lääketieteellinen elektroniikka on yksi nopeimmin kasvavista teollisuudenaloista. Väestön ikääntyminen, erityisesti länsimaissa, ja terveydenhuollon teknologioiden jatkuva kehitys pitävät yllä kovaa kysyntää ja ohjaavat alan tutkimus- ja tuotekehitystä, kirjoittaa Digi Internationalin OEM-ratkaisuista Euroopassa vastaava johtaja Ronald Singh.

Lue lisÀÀ...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

 SPONSORS

 

Etteplan supports customers cross industries in digitalizing their business from requirement specifications to solution development and implementation. With over 30 years of experience, Etteplan has the needed expertise to develop a wide range of industrial applications, from large established companies to start-ups. We deliver complete turn-key solutions containing cross-discipline know-how.

 

CN Rood offers technical solutions in the field of testing and measurement. We aim to remain leaders in that regard. Our customers are often not looking for a product, but for a solution, and we all have the drive to work on that solution. What we love to do most is to continually work on the latest developments in the field of testing and measuring equipment. Now and in the future.

 


EBV Elektronik was founded in 1969 and is one of the leading specialists in European semiconductor distribution. This success is based on the underlying company philosophy, which was developed a long time ago and which still applies today: operational excellence, flexibility, reliability and execution – with the goal of achieving the highest degree of customer satisfaction.

 

Tria is a world leader in the design and manufacture of embedded computing for OEMs. We offer a broad range of off-the-shelf modules to fully customized systems built for our customers. With a global footprint and deep in-house expertise, we support innovators from design to delivery.

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.

 

Mespek was founded in 1989. Our main products are embedded electronic modules, industrial PCs with peripherals, KVM and server management products, as well as wireless solutions for IoT applications.

 

Since 1985, Digi International Inc. (Digi) has been a pioneer in wireless communication, forging the future for connected devices and responding to the needs of the people and enterprises that use them.

 

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.

 

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.

 

Acal BFi has trusted expertise in advanced electronics for 50 years. If you’re in search of a trusted technology solutions partner, your search ends here. Our extensive knowledge, cutting-edge portfolio, and worldwide capabilities are at your service to bring the future into reality.

 





ECF template