Arduino IoT Cloud tarjoaa helpon tavan hallita ja seurata Arduino-laitteita verkon kautta. Tämä mahdollistaa esimerkiksi LED-valon kytkemisen päälle ja pois etänä tai sensoritietojen seuraamisen reaaliajassa. Tämä luku käsittelee, kuinka lisätä Arduino-laitteita IoT Cloudiin, luoda ohjauspaneeli (dashboard), sekä kehittää sovelluksia, kuten LED-valon etähallinta ja sensorien seuranta.

Arduino-laitteen lisääminen IoT Cloudiin on yksinkertainen prosessi, mutta siihen liittyy useita vaiheita. Ennen kuin aloitat, varmista, että Arduino-laite on kytketty oikein tietokoneeseen ja että Arduino Create Agent on asennettu ja käynnissä. Kun nämä valmistelut on tehty, voit siirtyä IoT Cloudin verkkosivustolle ja avata laitteen lisäysikkunan.

Arduino-laitteen lisäämiseen käytetään "Devices"-valikkoa. Kun klikkaat tätä, näet listan kaikista liitetyistä laitteista ja voit valita "Add New Arduino Device". Liitä Arduino Nano 33 IoT laitteesi ja sen jälkeen valitse "Set up" -vaihtoehto. Jos et näe laitetta, varmista, että se on oikein liitetty ja että Arduino Create Agent on käynnissä. Kun laite on lisätty, voit antaa sille nimen ja klikkaamalla "CONFIGURE"-painiketta aloittaa sen määrittämisen. Määrittäminen voi kestää muutaman minuutin.

Kun laite on määritetty ja näkyy IoT Cloudissa, seuraava askel on luoda "Thing" – olio, joka yhdistää Arduino-laitteen ja sen ominaisuudet. Tämä voi olla esimerkiksi LED-valo, jonka tilaa voit seurata tai muuttaa IoT Cloudin kautta. Kun avaat IoT Cloudin ja valitset "Things"-valikon, voit luoda uuden Thingin, määrittää sille nimen ja liittää siihen Arduino-laitteen.

Thingin ominaisuudet, kuten LED-valon päälle- ja pois-kytkeminen, määritetään lisäämällä "Property" IoT Cloudiin. Tässä esimerkissä luomme LED1-nimisen ominaisuuden, joka on joko ON tai OFF. Tämä tarkoittaa, että voimme hallita LED-valon tilaa suoraan IoT Cloudista. Kun lisäät tämän ominaisuuden, voit valita sen tyypin (ON/OFF) ja määrittää sen käyttöoikeudet (esimerkiksi "Read & Write").

Seuraavaksi siirrytään Sketch-ohjelman muokkaamiseen, jotta Arduino-laitteesi voi käyttää IoT Cloudin määrittämiä ominaisuuksia. Sketch-ohjelmointikieli on Arduino-kehitysympäristön perusta, ja sen avulla voit ohjata laitteiden toimintaa. Tässä vaiheessa sinun on lisättävä ohjelma, joka kytkee LED-valon päälle tai pois, riippuen siitä, mitä IoT Cloudissa oleva "Property" määrittää. Koodissa määritellään, että LED1 on aluksi pois päältä (false), ja sen tilaa seurataan ja muutetaan tarpeen mukaan.

Ohjelman muokkaaminen tapahtuu IoT Cloudin tarjoamassa verkkopohjaisessa Arduino editorissa. Tämän jälkeen voit ladata ohjelman Arduino-laitteeseen ja testata sen toimivuutta. Käytettäessä web-pohjaista ohjauspaneelia, voit aktivoida ja hallita LED-valoa kytkimellä.

Ohjauspaneelin (dashboard) luominen on seuraava askel. Arduino IoT Cloud mahdollistaa useiden ohjauspaneelien luomisen. Näin voit luoda erityyppisiä hallintapaneeleja eri tarkoituksiin. Tässä esimerkissä luomme ohjauspaneelin, jossa on kytkin, jonka avulla LED voidaan kytkeä päälle ja pois. Ohjauspaneelissa lisättyä "Switch"-widgetiä voidaan liittää Thingin ominaisuuksiin, kuten aiemmin luotuun LED1-ominaisuuteen. Kun tämä kytkin on liitetty, sen tilan muuttaminen IoT Cloudissa vaikuttaa suoraan Arduino-laitteen LED-valon tilaan.

Testauksen aikana voit tarkistaa, että ohjelma toimii kuten odotettiin. Kun kytkin on kytketty päälle (ON), LED-valo syttyy, ja kun kytkin on pois päältä (OFF), LED sammuu. Tämä on perus esimerkki siitä, kuinka Arduino IoT Cloudia voidaan käyttää laitteiden ohjaamiseen ja valvontaan etänä.

Lisäksi on mahdollista lisätä muita ominaisuuksia ja laajentaa ohjelmaa entisestään. Esimerkiksi, voit luoda uusia sensoreita, kuten gyroskooppeja tai lämpötila-antureita, ja liittää ne IoT Cloudiin. Tämä mahdollistaa entistä monipuolisemman seurannan ja hallinnan.

Jatkaessaan tämän tyyppisten ohjelmien kehittämistä, on tärkeää ymmärtää, kuinka IoT Cloudin ja Arduino-laitteiden välinen yhteys toimii. Laitteiden välinen viestintä perustuu pilvipalveluihin, joten verkon vakaus ja laitteiden oikea kytkeminen ovat avainasemassa. Samoin on oleellista tuntea, kuinka eri tyyppiset IoT-ominaisuudet, kuten sensorit ja näytöt, voivat tuottaa hyödyllistä tietoa ja parantaa järjestelmän toimintaa.

Mikä on Bluetooth Low Energy (BLE) ja miten se toimii Arduino Nano 33 IoT:llä?

Bluetooth Low Energy (BLE) on energiatehokas langaton viestintätekniikka, joka on suunniteltu erityisesti lyhyen kantaman, pienen virrankulutuksen ja yksinkertaisten laitteiden väliseen tiedonsiirtoon. Tämä teknologia on tullut yhä suositummaksi erityisesti IoT-sovelluksissa, joissa laitteiden täytyy olla aina yhteydessä toisiinsa ilman, että ne kuluttavat liikaa virtaa. Arduino Nano 33 IoT on loistava esimerkki laitteesta, joka tukee BLE:tä ja mahdollistaa erilaisten langattomien sovellusten luomisen helposti.

Arduino Nano 33 IoT -laitteella voi helposti luoda BLE-palveluja, jotka lähettävät ja vastaanottavat dataa muiden BLE-laitteiden kanssa. Esimerkiksi tämän laitteella voidaan ohjata LED-valoa ja lähettää sensoridataa, kuten gyroskoopin mittaamia arvoja, älypuhelimeen, joka toimii BLE-lukijana. Tässä artikkelissa tarkastellaan, kuinka voidaan toteuttaa BLE-palveluja Arduino Nano 33 IoT:llä ja kuinka luoda yksinkertainen BLE-sovellus, joka ohjaa laitteiden käyttäytymistä.

Ensimmäinen esimerkki on LED-valon ohjaaminen BLE:n kautta. Tätä varten tarvitaan Android- tai iOS-puhelin, johon asennetaan nRF Connect for Mobile -sovellus. Sovelluksen avulla voidaan etsiä ja muodostaa yhteys Arduino Nano 33 IoT:hen ja lähettää sille komentoja, jotka ohjaavat LED-valoa. Kun yhteys on muodostettu, BLE-palvelu, joka hallitsee LEDiä, tulee näkyviin ja voidaan valita "WRITE"-ominaisuus. Lähettämällä arvon 15, LED syttyy, ja arvolla 00 se sammuu. Ohjelman ajon aikana voidaan myös tarkastella sarjamonitorin tulosteita, jotka näyttävät lähetykset ja tapahtumat, kuten LEDin tilan muutokset.

Seuraava esimerkki on sensoridatan reaaliaikainen seuranta, jossa käytetään gyroskoopin sensoria. Tämä ohjelma lähettää gyroskoopin mittaamat arvot (x, y, z) BLE-palveluun, ja BLE-lukija saa ilmoituksen, jos sensorin tiedot muuttuvat. Ohjelman rakenne on hieman monimutkaisempi, mutta se perustuu samanlaiseen BLE-palvelun luontiin ja yhteyden muodostamiseen kuin LED-esimerkissä. Tässä ohjelmassa sensori lukee gyroskoopin arvot ja lähettää ne BLE-palveluun, joka on määritelty kolmena eri BLE-ominaisuutena: x, y ja z-koordinaatit. Näin ollen käyttäjä voi tarkastella gyroskoopin tietoja mobiililaitteella, kuten Android-puhelimella, joka on yhdistetty Arduinoon BLE:n kautta.

Koodissa määritellään kolme BLE-ominaisuutta, jotka edustavat gyroskoopin kolmea akselia (x, y, z). Ominaisuudet julkaistaan BLE-palveluun, ja niiden arvot lähetetään BLE-laitteelle aina, kun sensorin data muuttuu. Koodi käyttää myös sarjamonitoria debuggausta varten ja tulostaa jatkuvasti sensorin arvot. Jos yhteys BLE-laitteeseen katkeaa, LED sammuu, ja sarjamonitoriin tulostetaan viesti katkenneesta yhteydestä.

Tässä esitetyt esimerkit ovat vain pintaraapaisu BLE:n mahdollisuuksista Arduino Nano 33 IoT:llä. Tässä laitteessa on runsaasti potentiaalia luoda monimutkaisempia ja tehokkaampia IoT-sovelluksia, jotka yhdistävät useita sensoreita ja muita laitteita. BLE:n avulla voidaan luoda monia erilaisia sovelluksia, jotka vievät tiedon siirron uudelle tasolle energiatehokkuuden ja langattomuuden saralla.

Kun kehität BLE-sovelluksia, on tärkeää pitää mielessä muutamia perusperiaatteita. BLE ei ole yhtä nopea kuin perinteinen Bluetooth, mutta sen etuna on alhainen virrankulutus ja laaja yhteensopivuus monien laitteiden kanssa. BLE:n etuna on myös se, että se on yksinkertainen ottaa käyttöön ja helposti skaalautuva, mikä tekee siitä erinomaisen valinnan moniin IoT-sovelluksiin.

Muita tärkeitä huomioita, jotka voivat auttaa lukijaa ymmärtämään BLE:n ja Arduino Nano 33 IoT:n käyttöä syvemmin:

  • Virran kulutus ja hallinta: BLE:n energiaefektiivisyys on sen suurin etu, mutta myös sen huono käyttö voi johtaa laitteen nopeaan virran loppumiseen. Tämän vuoksi on tärkeää optimoida BLE-yhteyksien käyttö, jotta laitteet voivat pysyä toiminnassa pidempään ilman, että akku loppuu liian nopeasti.

  • Yhteensopivuus ja rajapinnat: BLE-laitteet voivat kommunikoida keskenään, mutta kaikki BLE-laitteet eivät tue samoja ominaisuuksia. Tämän vuoksi on tärkeää tarkistaa, mitä ominaisuuksia tietty laite tukee ennen sen käyttöä. Tämä voi koskea esimerkiksi tiettyjen sensorien käyttöä tai erityisiä BLE-profiileja.

  • Tietoturva ja yksityisyys: Koska BLE-laitteet lähettävät ja vastaanottavat tietoja langattomasti, on tärkeää huolehtia tietoturvasta. BLE tarjoaa perusjäljitettävyyden ja salauksen, mutta lisätoimenpiteet, kuten laitteiden autentikointi ja tiedon salaus, voivat olla tarpeen suojataksesi henkilökohtaisia tietoja.

  • Skaalautuvuus ja monilaitteiset ympäristöt: BLE on loistava valinta monilaitteisiin ympäristöihin, joissa useat laitteet kommunikoivat keskenään. Tällaisessa ympäristössä on kuitenkin tärkeää suunnitella laitteiden välinen tiedonsiirto ja synkronointi huolellisesti, jotta tiedonsiirto ei häiriinny ja verkko pysyy vakaana.

Miten asettaa kehitysympäristö Arduino Nano 33 IoT:lle?

Arduino Nano 33 IoT -alustalla on useita teknisiä ominaisuuksia, jotka tekevät siitä tehokkaan työkalun prototyyppien rakentamiseen ja ohjelmointiin. Tämän alustan ydinosat ovat prosessori, muisti ja perusliitännät, jotka mahdollistavat sen käytön laaja-alaisesti erilaisten sovellusten kehittämiseen. Laite sisältää muun muassa 256 KB flash-muistia, 32 KB SRAM-muistia ja 14 digitaalista I/O-pinniä, joista 11 tukee PWM-signaaleja. Näiden lisäksi se on varustettu I2C-, SPI- ja UART-liitännöillä sekä mahdollisuudella lukea analogisia tuloja.

Arduino-software on avainasemassa tämän alustan hyödyntämisessä. Kehitysympäristön asettaminen alkaa Arduino-ohjelmiston lataamisella. Ohjelmisto on saatavilla Windows-, Linux- ja macOS-käyttöjärjestelmille. Asennusprosessi on yksinkertainen ja sen avulla voidaan helposti luoda ohjelmia kaikille Arduino-piirilevyille. Lataus tapahtuu osoitteesta https://www.arduino.cc/en/Main/Software.

Kun ohjelmointiympäristö on asennettu, voidaan siirtyä Arduino Nano 33 IoT -levyn käyttöönottoon. Tämä vaatii ensin levyn tuen lisäämistä Arduino-ohjelmistoon. Tukea lisätään valitsemalla "Tools -> Board -> Boards Manager..." ja etsimällä "Arduino SAMD Boards" -paketti. Tämä asennus voi kestää muutaman minuutin, mutta sen jälkeen Arduino-ohjelmisto tunnistaa laitteesi ja voit aloittaa ohjelmoinnin.

Kun laite on liitetty tietokoneeseen, on mahdollista varmistaa, että se on tunnistettu oikein käyttämällä laitehallintaa Windowsissa, komentoja Linuxissa tai macOS:ssa. Kun yhteys on varmistettu, voidaan siirtyä ensimmäiseen kokeiluun: ohjelman kirjoittamiseen ja lataamiseen Arduino-laitteelle.

Esimerkiksi, ensimmäinen ohjelma, joka usein toteutetaan, on LED-valon vilkkuminen. Arduino Nano 33 IoT:ssä on sisäänrakennettu LED, joka on kytketty digitaaliseen pinniin 13. Ohjelman avulla voidaan ohjata tämän LEDin vilkkumista. Tämä ohjelma koostuu kahdesta pääosasta: setup()-funktiosta, jossa alustetaan I/O-pinnit, ja loop()-funktiosta, jossa koodi suoritetaan toistuvasti. LED syttyy ja sammuu tietyin aikavälein, mikä mahdollistaa sen vilkkumisen.

Tässä on esimerkki LEDin vilkkumisen ohjelmoinnista:

cpp
void setup() { // Alustetaan LED_PIN (pin 13) ulostuloksi. pinMode(LED_BUILTIN, OUTPUT); } void loop() { // Sytytetään LED (HIGH on jännite). digitalWrite(LED_BUILTIN, HIGH); // Odotetaan sekunti. delay(1000); // Sammutetaan LED (LOW on nolla jännite). digitalWrite(LED_BUILTIN, LOW); // Odotetaan sekunti. delay(1000); }

Kun ohjelma on kirjoitettu, voidaan se ladata Arduino-laitteelle Arduino-ohjelmiston avulla. Tämän jälkeen laite alkaa vilkkua, mikä osoittaa ohjelman toimivan. Tämä yksinkertainen harjoitus auttaa ymmärtämään peruskomentoja ja Arduino-ohjelmointiin liittyviä käsitteitä, kuten pinMode(), digitalWrite() ja delay().

Arduino tarjoaa myös mahdollisuuden käyttää selainpohjaista kehitysympäristöä nimeltään Arduino Web Editor. Tämä vaihtoehto ei vaadi ohjelmiston asentamista, vaan kaikki ohjelmointi ja koodin hallinta tapahtuu suoraan verkkoselaimessa. Tämä tekee kehityksestä joustavaa, koska ainoa vaatimus on toimiva internet-yhteys ja selain.

Kehitysympäristön lisäksi on tärkeää ymmärtää, miten koodin rakenne toimii Arduino-ympäristössä. Arduino perustuu yksinkertaiseen ohjelmointimalliin, jossa kaksi pääkomponenttia – setup() ja loop() – määrittävät ohjelman suorituksen. setup()-funktio ajetaan vain kerran, kun laite käynnistyy, ja siinä asetetaan kaikki tarvittavat alkuarvot, kuten I/O-pinnit. loop()-funktio puolestaan sisältää jatkuvasti toistuvan koodin, joka pyörii niin kauan kuin laite on päällä.

Koodin kirjoittaminen ja sen toiminnan ymmärtäminen on välttämätöntä, sillä se muodostaa perustan kaikelle myöhemmälle kehitykselle. Tämän ymmärryksen myötä voi siirtyä monimutkaisempien ohjelmien ja laitteiden integrointiin. Yksi tärkeimmistä asioista, joita kehitettäessä pitää ottaa huomioon, on muistin ja laskentatehon rajoitukset, jotka voivat vaikuttaa ohjelman suorituskykyyn ja mahdollisuuksiin. Arduino Nano 33 IoT:llä on rajoitettu määrä muistia ja prosessointitehoa, joten koodia suunniteltaessa on otettava huomioon tämä tekijä.

Arduino-laitteiden käyttö tarjoaa joustavan ja edullisen tavan oppia elektroniikkaa ja ohjelmointia, ja se soveltuu hyvin aloittelijoille ja kokeneemmille kehittäjille. Samalla se mahdollistaa monimutkaisempienkin järjestelmien rakentamisen, kuten IoT-sovellusten ja langattomien laitteiden integroimisen.