You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fi/2-farm/lessons/4-migrate-your-plant-to-the...
co-op-translator[bot] 5001e53945
🌐 Update translations via Co-op Translator (#548)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#548) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#548) 4 weeks ago
single-board-computer-connect-hub.md 🌐 Update translations via Co-op Translator (#548) 4 weeks ago
wio-terminal-connect-hub.md 🌐 Update translations via Co-op Translator (#548) 4 weeks ago

README.md

Siirrä kasvisi pilveen

Tämän oppitunnin yhteenveto sketchnotena

Sketchnote: Nitya Narasimhan. Klikkaa kuvaa nähdäksesi suuremman version.

Tämä oppitunti oli osa IoT for Beginners Project 2 - Digital Agriculture -sarjaa, jonka tuotti Microsoft Reactor.

Yhdistä laitteesi pilveen Azure IoT Hubin avulla

Ennakkokysely

Ennakkokysely

Johdanto

Edellisessä oppitunnissa opit yhdistämään kasvisi MQTT-välityspalvelimeen ja ohjaamaan relettä paikallisesti toimivalla palvelinkoodilla. Tämä muodostaa perustan internetiin yhdistetylle automaattiselle kastelujärjestelmälle, jota voidaan käyttää yksittäisistä kotikasveista aina kaupallisiin maatiloihin asti.

IoT-laite kommunikoi julkisen MQTT-välityspalvelimen kanssa periaatteiden havainnollistamiseksi, mutta tämä ei ole luotettavin tai turvallisin tapa. Tässä oppitunnissa opit pilvipalveluista ja IoT-ominaisuuksista, joita julkiset pilvipalvelut tarjoavat. Lisäksi opit, kuinka voit siirtää kasvisi julkisesta MQTT-välityspalvelimesta yhteen näistä pilvipalveluista.

Tässä oppitunnissa käsitellään:

Mikä on pilvi?

Ennen pilvipalveluita yritykset, jotka halusivat tarjota palveluita työntekijöilleen (esim. tietokantoja tai tiedostojen tallennusta) tai yleisölle (esim. verkkosivustoja), rakensivat ja ylläpitivät omia datakeskuksiaan. Tämä vaihteli pienestä huoneesta, jossa oli muutama tietokone, aina kokonaisiin rakennuksiin, joissa oli satoja tietokoneita. Yritykset vastasivat kaikesta, mukaan lukien:

  • Tietokoneiden hankinta
  • Laitteiston ylläpito
  • Sähkö ja jäähdytys
  • Verkkoyhteydet
  • Turvallisuus, mukaan lukien rakennuksen ja ohjelmistojen suojaaminen
  • Ohjelmistojen asennus ja päivitykset

Tämä oli usein erittäin kallista, vaati laajaa osaamista ja oli hidasta muuttaa tarpeiden mukaan. Esimerkiksi, jos verkkokauppa halusi valmistautua kiireiseen joulusesonkiin, sen piti suunnitella kuukausia etukäteen hankkiakseen lisää laitteistoa, konfiguroidakseen sen ja asentaakseen tarvittavat ohjelmistot. Kun sesonki oli ohi ja myynti laski, yritykselle jäi käyttämättömiä tietokoneita odottamaan seuraavaa kiireistä kautta.

Uskotko, että tämä mahdollisti yritysten nopean reagoinnin? Jos esimerkiksi verkkovaateliike nousisi yhtäkkiä suosioon julkkiksen käyttämien vaatteiden ansiosta, pystyisikö se lisäämään laskentatehoaan riittävän nopeasti vastatakseen tilauspiikkiin?

Jonkun toisen tietokone

Pilveä kutsutaan usein vitsikkäästi "jonkun toisen tietokoneeksi". Alkuperäinen idea oli yksinkertainen tietokoneiden ostamisen sijaan vuokrataan jonkun toisen tietokone. Pilvipalveluntarjoaja hallinnoi valtavia datakeskuksia ja vastaa kaikesta: laitteiston hankinnasta ja asennuksesta, sähkön ja jäähdytyksen hallinnasta, verkkoyhteyksistä, rakennusten turvallisuudesta sekä laitteiston ja ohjelmistojen päivityksistä. Asiakkaana vuokraat tarvitsemasi tietokoneet, lisäät kapasiteettia kysynnän kasvaessa ja vähennät sitä kysynnän laskiessa. Näitä pilvidatakeskuksia on ympäri maailmaa.

Microsoftin pilvidatakeskus Microsoftin pilvidatakeskuksen suunniteltu laajennus

Nämä datakeskukset voivat olla useiden neliökilometrien kokoisia. Yllä olevat kuvat on otettu muutama vuosi sitten Microsoftin pilvidatakeskuksesta, ja ne näyttävät keskuksen alkuperäisen koon sekä suunnitellun laajennuksen. Laajennusta varten raivattu alue on yli 5 neliökilometriä.

💁 Nämä datakeskukset kuluttavat niin paljon energiaa, että joillakin on omat voimalaitoksensa. Suuren kokonsa ja pilvipalveluntarjoajien investointien ansiosta ne ovat yleensä erittäin ympäristöystävällisiä. Ne ovat tehokkaampia kuin lukuisat pienet datakeskukset, toimivat pääosin uusiutuvalla energialla, ja pilvipalveluntarjoajat pyrkivät vähentämään jätettä, säästämään vettä ja istuttamaan uusia metsiä korvaamaan rakennustöiden vuoksi kaadetut metsät. Voit lukea lisää pilvipalveluntarjoajien kestävän kehityksen toimista Azure Sustainability -sivustolta.

Tee tutkimusta: Lue suurista pilvipalveluista, kuten Microsoftin Azure tai Googlen GCP. Kuinka monta datakeskusta niillä on ja missä ne sijaitsevat?

Pilven käyttö alentaa yritysten kustannuksia ja antaa niiden keskittyä ydinosaamiseensa, jättäen pilvipalveluiden asiantuntemuksen palveluntarjoajalle. Yritysten ei enää tarvitse vuokrata tai ostaa datakeskustilaa, maksaa eri palveluntarjoajille yhteyksistä ja sähköstä tai palkata asiantuntijoita. Sen sijaan ne voivat maksaa yhden kuukausilaskun pilvipalveluntarjoajalle, joka huolehtii kaikesta.

Pilvipalveluntarjoajat voivat hyödyntää mittakaavaetuja alentamaan kustannuksia, ostamalla laitteistoa suurissa erissä halvemmalla, investoimalla työkaluihin ylläpitotyön vähentämiseksi ja jopa suunnittelemalla ja rakentamalla omaa laitteistoaan parantaakseen pilvipalveluitaan.

Microsoft Azure

Azure on Microsoftin kehittäjille suunnattu pilvipalvelu, ja tätä pilvipalvelua käytät näissä oppitunneissa. Alla oleva video antaa lyhyen yleiskatsauksen Azuresta:

Azure yleiskatsausvideo

Luo pilvitilaus

Jotta voit käyttää pilvipalveluita, sinun on rekisteröidyttävä pilvipalveluntarjoajan tilaukseen. Tässä oppitunnissa rekisteröidyt Microsoft Azuren tilaukseen. Jos sinulla on jo Azure-tilaus, voit ohittaa tämän tehtävän. Alla kuvatut tilausvaihtoehdot ovat ajankohtaisia kirjoitushetkellä, mutta ne voivat muuttua.

💁 Jos käytät näitä oppitunteja koulusi kautta, sinulla saattaa jo olla käytössä Azure-tilaus. Tarkista asia opettajaltasi.

On olemassa kaksi erilaista ilmaista Azure-tilausta, joihin voit rekisteröityä:

  • Azure for Students - Tämä tilaus on suunnattu yli 18-vuotiaille opiskelijoille. Rekisteröitymiseen ei tarvita luottokorttia, ja koulun sähköpostiosoitetta käytetään opiskelijastatuksen vahvistamiseen. Rekisteröityessäsi saat 100 Yhdysvaltain dollaria käytettäväksi pilvipalveluihin sekä ilmaisia palveluita, kuten ilmaisen version IoT-palvelusta. Tämä kestää 12 kuukautta, ja voit uusia sen vuosittain niin kauan kuin olet opiskelija.

  • Azure Free Subscription - Tämä tilaus on tarkoitettu kaikille, jotka eivät ole opiskelijoita. Rekisteröitymiseen tarvitaan luottokortti, mutta korttia ei veloiteta, vaan sitä käytetään vain henkilöllisyyden vahvistamiseen. Saat 200 dollaria luottoa käytettäväksi ensimmäisten 30 päivän aikana mihin tahansa palveluun sekä ilmaisia Azure-palveluiden tasoja. Kun luotto on käytetty, korttiasi ei veloiteta, ellei tilausta muuteta maksulliseksi.

💁 Microsoft tarjoaa myös Azure for Students Starter -tilauksen alle 18-vuotiaille opiskelijoille, mutta kirjoitushetkellä tämä ei tue IoT-palveluita.

Tehtävä - rekisteröidy ilmaiseen pilvitilaukseen

Jos olet yli 18-vuotias opiskelija, voit rekisteröityä Azure for Students -tilaukseen. Sinun on vahvistettava koulun sähköpostiosoitteesi. Tämä voidaan tehdä kahdella tavalla:

  • Rekisteröidy GitHubin opiskelijakehittäjäpakettiin osoitteessa education.github.com/pack. Tämä antaa sinulle pääsyn useisiin työkaluihin ja tarjouksiin, mukaan lukien GitHub ja Microsoft Azure. Kun olet rekisteröitynyt kehittäjäpakettiin, voit aktivoida Azure for Students -tarjouksen.

  • Rekisteröidy suoraan Azure for Students -tilaukseen osoitteessa azure.microsoft.com/free/students.

⚠️ Jos koulun sähköpostiosoitettasi ei tunnisteta, luo ongelma tähän repoihin, niin yritämme lisätä sen Azure for Students -sallittujen listalle.

Jos et ole opiskelija tai sinulla ei ole voimassa olevaa koulun sähköpostiosoitetta, voit rekisteröityä Azure Free -tilaukseen.

Pilven IoT-palvelut

Käyttämäsi julkinen testikäyttöön tarkoitettu MQTT-välityspalvelin on loistava työkalu oppimiseen, mutta sillä on useita haittoja kaupallisessa käytössä:

  • Luotettavuus - se on ilmainen palvelu ilman takuita, ja se voidaan sulkea milloin tahansa
  • Turvallisuus - se on julkinen, joten kuka tahansa voi kuunnella telemetriatietojasi tai lähettää komentoja laitteidesi ohjaamiseksi
  • Suorituskyky - se on suunniteltu vain muutamille testiviesteille, joten se ei kestä suurta viestimäärää
  • Löydettävyys - ei ole keinoa tietää, mitkä laitteet ovat yhteydessä

Pilven IoT-palvelut ratkaisevat nämä ongelmat. Niitä ylläpitävät suuret pilvipalveluntarjoajat, jotka investoivat voimakkaasti luotettavuuteen ja ovat valmiina korjaamaan mahdolliset ongelmat. Niissä on sisäänrakennettu turvallisuus, joka estää hakkereita lukemasta tietojasi tai lähettämästä vääriä komentoja. Ne ovat myös erittäin suorituskykyisiä, pystyvät käsittelemään miljoonia viestejä päivittäin ja hyödyntävät pilven skaalautuvuutta tarpeen mukaan.

💁 Vaikka näistä eduista maksetaan kuukausimaksu, useimmat pilvipalveluntarjoajat tarjoavat ilmaisen version IoT-palvelustaan, jossa on rajoitettu määrä viestejä päivässä tai laitteita, jotka voivat yhdistää. Tämä ilmainen versio on yleensä enemmän kuin tarpeeksi kehittäjälle palvelun oppimiseen. Tässä oppitunnissa käytät ilmaista versiota.

IoT-laitteet yhdistävät pilvipalveluun joko laite-SDK:n (kirjasto, joka tarjoaa koodia palvelun ominaisuuksien hyödyntämiseen) avulla tai suoraan viestintäprotokollan, kuten MQTT:n tai HTTP:n, kautta. Laite-SDK on yleensä helpoin tapa, koska se hoitaa kaiken puolestasi, kuten tietää, mitä aiheita julkaista tai tilata, ja miten käsitellä turvallisuutta.

Laitteet yhdistävät palveluun laite-SDK:n avulla. Palvelinkoodi yhdistää palveluun myös SDK:n kautta

Laitteesi kommunikoi sitten sovelluksesi muiden osien kanssa tämän palvelun kautta samalla tavalla kuin lähetit telemetriatietoja ja vastaanotit komentoja MQTT:n kautta. Tämä tapahtuu yleensä palvelu-SDK:n tai vastaavan kirjaston avulla. Viestit tulevat laitteeltasi palveluun, jossa sovelluksesi muut osat voivat lukea ne, ja viestit voidaan lähettää takaisin laitteellesi.

Laitteet, joilla ei ole voimassa olevaa salaisuutta, eivät voi yhdistää IoT-palveluun

Nämä palvelut toteuttavat turvallisuuden tietämällä kaikista laitteista, jotka voivat yhdistää ja lähettää tietoja, joko rekisteröimällä laitteet etukäteen palveluun tai antamalla laitteille salaisia avaimia tai varmenteita, joita ne voivat käyttää rekisteröityessään palveluun ensimmäistä kertaa. Tuntemattomat laitteet eivät voi yhdistää; jos ne yrittävät, palvelu hylkää yhteyden ja jättää niiden lähettämät viestit huomiotta.

Tee tutkimusta: Mitä haittoja on avoimessa IoT-palvelussa, johon mikä tahansa laite tai koodi voi yhdistää? Löydätkö esimerkkejä hakkereista, jotka ovat hyödyntäneet tällaisia palveluita?

Sovelluksesi muut osat voivat yhdistää IoT-palveluun ja saada tietoa kaikista yhdistetyistä tai rekisteröidyistä laitteista sekä kommunikoida niiden kanssa suoraan joko yksittäin tai massana. 💁 IoT-palvelut toteuttavat myös lisäominaisuuksia, ja pilvipalveluntarjoajilla on lisäpalveluita ja sovelluksia, jotka voidaan yhdistää palveluun. Esimerkiksi, jos haluat tallentaa kaikki laitteiden lähettämät telemetriaviestit tietokantaan, pilvipalveluntarjoajan asetustyökalussa on yleensä vain muutama klikkaus, jotta palvelu voidaan yhdistää tietokantaan ja dataa voidaan alkaa siirtää sinne.

Luo IoT-palvelu pilveen

Nyt kun sinulla on Azure-tilaus, voit rekisteröityä IoT-palveluun. Microsoftin IoT-palvelu tunnetaan nimellä Azure IoT Hub.

Azure IoT Hub -logo

Alla oleva video antaa lyhyen yleiskatsauksen Azure IoT Hubista:

Azure IoT Hub -yleiskatsausvideo

🎥 Klikkaa yllä olevaa kuvaa katsoaksesi videon

Käytä hetki aikaa tutkiaksesi ja lue IoT Hubin yleiskatsaus Microsoft IoT Hub -dokumentaatiosta.

Azure-pilvipalvelut voidaan määrittää joko verkkopohjaisen portaalin kautta tai komentorivikäyttöliittymän (CLI) avulla. Tässä tehtävässä käytät CLI:tä.

Tehtävä - asenna Azure CLI

Jotta voit käyttää Azure CLI:tä, se on ensin asennettava tietokoneellesi tai Macillesi.

  1. Seuraa ohjeita Azure CLI -dokumentaatiossa asentaaksesi CLI:n.

  2. Azure CLI tukee useita laajennuksia, jotka lisäävät ominaisuuksia monenlaisten Azure-palveluiden hallintaan. Asenna IoT-laajennus suorittamalla seuraava komento komentoriviltäsi tai terminaalistasi:

    az extension add --name azure-iot
    
  3. Suorita seuraava komento komentoriviltäsi tai terminaalistasi kirjautuaksesi Azure-tilaukseesi Azure CLI:n kautta.

    az login
    

    Oletusselaimessasi avautuu verkkosivu. Kirjaudu sisään käyttämällä tiliä, jolla rekisteröidyit Azure-tilaukseen. Kun olet kirjautunut sisään, voit sulkea selainvälilehden.

  4. Jos sinulla on useita Azure-tilauksia, kuten koulun tarjoama ja oma Azure for Students -tilaus, sinun on valittava, mitä haluat käyttää. Suorita seuraava komento nähdäksesi kaikki tilaukset, joihin sinulla on pääsy:

    az account list --output table
    

    Tulosteessa näet jokaisen tilauksen nimen ja sen SubscriptionId-tunnuksen.

    ➜  ~ az account list --output table
    Name                    CloudName    SubscriptionId                        State    IsDefault
    ----------------------  -----------  ------------------------------------  -------  -----------
    School-subscription     AzureCloud   cb30cde9-814a-42f0-a111-754cb788e4e1  Enabled  True
    Azure for Students      AzureCloud   fa51c31b-162c-4599-add6-781def2e1fbf  Enabled  False
    

    Valitse haluamasi tilaus seuraavalla komennolla:

    az account set --subscription <SubscriptionId>
    

    Korvaa <SubscriptionId> sen tilauksen tunnuksella, jota haluat käyttää. Suoritettuasi tämän komennon, suorita komento uudelleen nähdäksesi tilisi. Näet, että IsDefault-sarake on merkitty True:ksi valitsemallesi tilaukselle.

Tehtävä - luo resurssiryhmä

Azure-palvelut, kuten IoT Hub -instanssit, virtuaalikoneet, tietokannat tai tekoälypalvelut, tunnetaan nimellä resurssit. Jokaisen resurssin on kuuluttava resurssiryhmään, joka on looginen ryhmä yhdelle tai useammalle resurssille.

💁 Resurssiryhmien käyttö mahdollistaa useiden palveluiden hallinnan kerralla. Esimerkiksi, kun olet suorittanut kaikki tämän projektin oppitunnit, voit poistaa resurssiryhmän, jolloin kaikki sen sisältämät resurssit poistetaan automaattisesti.

  1. Azurella on useita datakeskuksia ympäri maailmaa, ja ne on jaettu alueisiin. Kun luot Azure-resurssin tai resurssiryhmän, sinun on määritettävä, mihin haluat sen luotavan. Suorita seuraava komento saadaksesi luettelon sijainneista:

    az account list-locations --output table
    

    Näet pitkän luettelon sijainneista.

    💁 Tämän kirjoitushetkellä on 65 sijaintia, joihin voit sijoittaa resursseja.

        ➜  ~ az account list-locations --output table
    DisplayName               Name                 RegionalDisplayName
    ------------------------  -------------------  -------------------------------------
    East US                   eastus               (US) East US
    East US 2                 eastus2              (US) East US 2
    South Central US          southcentralus       (US) South Central US
    ...
    

    Kirjoita muistiin lähimmän alueen Name-sarakkeen arvo. Voit tarkastella alueita kartalla Azure geographies -sivulla.

  2. Suorita seuraava komento luodaksesi resurssiryhmän nimeltä soil-moisture-sensor. Resurssiryhmän nimien on oltava yksilöllisiä tilauksessasi.

    az group create --name soil-moisture-sensor \
                    --location <location>
    

    Korvaa <location> valitsemallasi sijainnilla edellisessä vaiheessa.

Tehtävä - luo IoT Hub

Nyt voit luoda IoT Hub -resurssin resurssiryhmääsi.

  1. Käytä seuraavaa komentoa luodaksesi IoT Hub -resurssisi:

    az iot hub create --resource-group soil-moisture-sensor \
                      --sku F1 \
                      --partition-count 2 \
                      --name <hub_name>
    

    Korvaa <hub_name> hubillesi valitsemallasi nimellä. Nimen on oltava maailmanlaajuisesti yksilöllinen toisin sanoen, mikään muu IoT Hub ei voi käyttää samaa nimeä. Tätä nimeä käytetään URL-osoitteessa, joka osoittaa hubiin, joten sen on oltava ainutlaatuinen. Käytä esimerkiksi soil-moisture-sensor- ja lisää loppuun yksilöllinen tunniste, kuten satunnaisia sanoja tai nimesi.

    --sku F1 -vaihtoehto määrittää ilmaisen tason käytettäväksi. Ilmainen taso tukee 8 000 viestiä päivässä ja sisältää suurimman osan maksullisten tasojen ominaisuuksista.

    🎓 Eri Azure-palveluiden hinnoittelutasot tunnetaan nimellä tierit. Jokaisella tasolla on eri kustannukset ja ne tarjoavat erilaisia ominaisuuksia tai datamääriä.

    💁 Jos haluat oppia lisää hinnoittelusta, voit tutustua Azure IoT Hub -hinnoitteluoppaaseen.

    --partition-count 2 -vaihtoehto määrittää, kuinka monta datavirtaa IoT Hub tukee. Useammat osiot vähentävät datan tukkeutumista, kun useat tahot lukevat ja kirjoittavat IoT Hubiin. Osioiden käsittely on tämän oppitunnin ulkopuolella, mutta tämä arvo on asetettava ilmaisen tason IoT Hubin luomiseksi.

    💁 Voit luoda vain yhden ilmaisen tason IoT Hubin per tilaus.

IoT Hub luodaan. Tämä voi kestää minuutin tai kaksi.

Kommunikoi IoT Hubin kanssa

Edellisessä oppitunnissa käytit MQTT:tä ja lähetit viestejä eri aiheisiin, joilla oli eri tarkoituksia. Sen sijaan, että viestit lähetettäisiin eri aiheiden kautta, IoT Hubilla on useita määriteltyjä tapoja, joilla laite voi kommunikoida hubin kanssa tai hubi laitteen kanssa.

💁 IoT Hubin ja laitteen välinen viestintä voi käyttää taustalla MQTT:tä, HTTPS:ää tai AMQP:tä.

  • Laitteesta pilveen (D2C) -viestit nämä ovat viestejä, jotka lähetetään laitteesta IoT Hubiin, kuten telemetriatietoja. Sovelluskoodisi voi lukea ne IoT Hubista.

    🎓 Taustalla IoT Hub käyttää Azure-palvelua nimeltä Event Hubs. Kun kirjoitat koodia lukemaan hubiin lähetettyjä viestejä, niitä kutsutaan usein tapahtumiksi.

  • Pilvestä laitteeseen (C2D) -viestit nämä ovat viestejä, jotka lähetetään sovelluskoodista IoT Hubin kautta IoT-laitteelle.

  • Suorat metodipyynnöt nämä ovat viestejä, jotka lähetetään sovelluskoodista IoT Hubin kautta IoT-laitteelle pyytämään laitteen suorittamaan jokin toiminto, kuten aktuaattorin ohjaaminen. Näihin viesteihin vaaditaan vastaus, jotta sovelluskoodi voi varmistaa, että pyyntö käsiteltiin onnistuneesti.

  • Laitetwin nämä ovat JSON-dokumentteja, jotka synkronoidaan laitteen ja IoT Hubin välillä. Niitä käytetään tallentamaan asetuksia tai muita ominaisuuksia, jotka joko laite raportoi tai jotka IoT Hubin tulisi asettaa laitteelle (kutsutaan halutuiksi ominaisuuksiksi).

IoT Hub voi tallentaa viestejä ja suoria metodipyyntöjä määritettävissä olevan ajan (oletuksena yksi päivä), joten jos laite tai sovelluskoodi menettää yhteyden, se voi silti noutaa viestit, jotka lähetettiin sen ollessa offline-tilassa, kun se yhdistää uudelleen. Laitetwin tallennetaan pysyvästi IoT Hubiin, joten laite voi milloin tahansa yhdistää uudelleen ja saada viimeisimmän laitetwinin.

Tee tutkimusta: Lue lisää näistä viestityypeistä Laitteesta pilveen -viestintäohjeista ja Pilvestä laitteeseen -viestintäohjeista IoT Hub -dokumentaatiossa.

Yhdistä laitteesi IoT-palveluun

Kun hubi on luotu, IoT-laitteesi voi yhdistää siihen. Vain rekisteröidyt laitteet voivat yhdistää palveluun, joten sinun on ensin rekisteröitävä laitteesi. Rekisteröinnin yhteydessä saat yhteysmerkkijonon, jota laite voi käyttää yhdistämiseen. Tämä yhteysmerkkijono on laitekohtainen ja sisältää tietoja IoT Hubista, laitteesta ja salaisen avaimen, joka mahdollistaa laitteen yhdistämisen.

🎓 Yhteysmerkkijono on yleinen termi tekstille, joka sisältää yhteystiedot. Näitä käytetään yhdistettäessä IoT Hubeihin, tietokantoihin ja moniin muihin palveluihin. Ne sisältävät yleensä palvelun tunnisteen, kuten URL-osoitteen, ja turvallisuustiedot, kuten salaisen avaimen. Näitä välitetään SDK:ille palveluun yhdistämistä varten.

⚠️ Yhteysmerkkijonot on pidettävä turvassa! Turvallisuutta käsitellään tarkemmin tulevassa oppitunnissa.

Tehtävä - rekisteröi IoT-laitteesi

IoT-laite voidaan rekisteröidä IoT Hubiisi Azure CLI:n avulla.

  1. Suorita seuraava komento rekisteröidäksesi laitteen:

    az iot hub device-identity create --device-id soil-moisture-sensor \
                                      --hub-name <hub_name>
    

    Korvaa <hub_name> IoT Hubillesi valitsemallasi nimellä.

    Tämä luo laitteen, jonka tunnus on soil-moisture-sensor.

  2. Kun IoT-laitteesi yhdistää IoT Hubiisi SDK:n avulla, sen on käytettävä yhteysmerkkijonoa, joka antaa hubin URL-osoitteen ja salaisen avaimen. Suorita seuraava komento saadaksesi yhteysmerkkijonon:

    az iot hub device-identity connection-string show --device-id soil-moisture-sensor \
                                                      --output table \
                                                      --hub-name <hub_name>
    

    Korvaa <hub_name> IoT Hubillesi valitsemallasi nimellä.

  3. Tallenna tulosteessa näkyvä yhteysmerkkijono, sillä tarvitset sitä myöhemmin.

Tehtävä - yhdistä IoT-laitteesi pilveen

Käy läpi asiaankuuluva opas yhdistääksesi IoT-laitteesi pilveen:

Tehtävä - seuraa tapahtumia

Tällä hetkellä et päivitä palvelinkoodiasi. Sen sijaan voit käyttää Azure CLI:tä seurataksesi IoT-laitteesi lähettämiä tapahtumia.

  1. Varmista, että IoT-laitteesi on käynnissä ja lähettää maaperän kosteuden telemetriatietoja.

  2. Suorita seuraava komento komentorivilläsi tai terminaalissasi seurataksesi IoT-laitteesi IoT Hubiin lähettämiä viestejä:

    az iot hub monitor-events --hub-name <hub_name>
    

    Korvaa <hub_name> IoT Hubillesi valitsemallasi nimellä.

    Näet viestit ilmestyvän konsolin tulosteeseen sitä mukaa, kun IoT-laitteesi lähettää niitä.

    Starting event monitor, use ctrl-c to stop...
    {
        "event": {
            "origin": "soil-moisture-sensor",
            "module": "",
            "interface": "",
            "component": "",
            "payload": "{\"soil_moisture\": 376}"
        }
    },
    {
        "event": {
            "origin": "soil-moisture-sensor",
            "module": "",
            "interface": "",
            "component": "",
            "payload": "{\"soil_moisture\": 381}"
        }
    }
    

    payload-sisältö vastaa IoT-laitteesi lähettämää viestiä.

    Tämän kirjoitushetkellä az iot -laajennus ei toimi täysin Apple Silicon -laitteilla. Jos käytät Apple Silicon -laitetta, sinun on seurattava viestejä eri tavalla, esimerkiksi käyttämällä Azure IoT Tools for Visual Studio Code.

  3. Näillä viesteillä on automaattisesti liitettynä useita ominaisuuksia, kuten aikaleima, jolloin ne lähetettiin. Näitä kutsutaan annotaatioiksi. Näytä kaikki viestien annotaatiot seuraavalla komennolla:

    az iot hub monitor-events --properties anno --hub-name <hub_name>
    

    Korvaa <hub_name> IoT Hubillesi valitsemallasi nimellä.

    Näet viestit ilmestyvän konsolin tulosteeseen sitä mukaa, kun IoT-laitteesi lähettää niitä.

    Starting event monitor, use ctrl-c to stop...
    {
        "event": {
            "origin": "soil-moisture-sensor",
            "module": "",
            "interface": "",
            "component": "",
            "properties": {},
            "annotations": {
                "iothub-connection-device-id": "soil-moisture-sensor",
                "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
                "iothub-connection-auth-generation-id": "637553997165220462",
                "iothub-enqueuedtime": 1619976150288,
                "iothub-message-source": "Telemetry",
                "x-opt-sequence-number": 1379,
                "x-opt-offset": "550576",
                "x-opt-enqueued-time": 1619976150277
            },
            "payload": "{\"soil_moisture\": 381}"
        }
    }
    

    Aika-arvot annotaatioissa ovat UNIX-aikaa, joka edustaa sekuntien määrää keskiyöstä 1. tammikuuta 1970 alkaen.

    Poistu tapahtumien seurannasta, kun olet valmis.

Tehtävä - ohjaa IoT-laitettasi

Voit myös käyttää Azure CLI:tä kutsuaksesi suoria metodeja IoT-laitteellasi.

  1. Suorita seuraava komento komentorivilläsi tai terminaalissasi kutsuaksesi relay_on-metodia IoT-laitteellasi:

    az iot hub invoke-device-method --device-id soil-moisture-sensor \
                                    --method-name relay_on \
                                    --method-payload '{}' \
                                    --hub-name <hub_name>
    

    Korvaa <hub_name> käytä IoT Hubille antamaasi nimeä.

    Tämä lähettää suoran metodipyynnön määritetylle metodille method-name. Suorat metodit voivat sisältää hyötykuorman, joka sisältää dataa metodille, ja tämä voidaan määrittää method-payload-parametrissa JSON-muodossa.

    Näet releen kytkeytyvän päälle ja vastaavan tulosteen IoT-laitteeltasi:

    Direct method received -  relay_on
    
  2. Toista yllä oleva vaihe, mutta aseta --method-name arvoksi relay_off. Näet releen kytkeytyvän pois päältä ja vastaavan tulosteen IoT-laitteelta.


🚀 Haaste

IoT Hubin ilmaisversio sallii 8 000 viestiä päivässä. Kirjoittamasi koodi lähettää telemetriaviestejä joka 10. sekunti. Kuinka monta viestiä päivässä syntyy, jos viesti lähetetään joka 10. sekunti?

Mieti, kuinka usein maaperän kosteuden mittaukset tulisi lähettää? Kuinka voit muuttaa koodiasi pysyäksesi ilmaisversion rajoissa ja tarkistaa kosteuden tarpeeksi usein mutta ei liian usein? Entä jos haluaisit lisätä toisen laitteen?

Luentojälkeinen kysely

Luentojälkeinen kysely

Kertaus & Itseopiskelu

IoT Hub SDK on avoimen lähdekoodin ratkaisu sekä Arduinolle että Pythonille. GitHubin koodivarastoista löytyy useita esimerkkejä, jotka näyttävät, kuinka työskennellä eri IoT Hub -ominaisuuksien kanssa.

Tehtävä

Lisätietoa pilvipalveluista


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.