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/et/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md

12 KiB

Virtuaalne üheplaadiarvuti

Selle asemel, et osta IoT-seade koos sensorite ja täituritega, saate kasutada oma arvutit IoT-riistvara simuleerimiseks. CounterFit projekt võimaldab teil käivitada rakenduse lokaalselt, mis simuleerib IoT-riistvara, nagu sensorid ja täiturid, ning pääseda nendele ligi lokaalse Python-koodi kaudu, mis on kirjutatud samamoodi nagu füüsilise riistvara kasutamisel Raspberry Pi peal.

Seadistamine

CounterFiti kasutamiseks peate oma arvutisse paigaldama tasuta tarkvara.

Ülesanne

Paigaldage vajalik tarkvara.

  1. Paigaldage Python. Vaadake Pythoni allalaadimise lehte, et saada juhiseid Pythoni uusima versiooni paigaldamiseks.

  2. Paigaldage Visual Studio Code (VS Code). See on redaktor, mida kasutate oma virtuaalse seadme koodi kirjutamiseks Pythonis. Vaadake VS Code dokumentatsiooni, et saada juhiseid VS Code'i paigaldamiseks.

    💁 Teil on vabadus kasutada mis tahes Python IDE-d või redaktorit, kui eelistate mõnda muud tööriista, kuid õppetunnid põhinevad VS Code'i kasutamisel.

  3. Paigaldage VS Code'i Pylance laiendus. See on VS Code'i laiendus, mis pakub Pythoni keele tuge. Vaadake Pylance laienduse dokumentatsiooni, et saada juhiseid selle laienduse paigaldamiseks VS Code'i.

CounterFiti rakenduse paigaldamise ja seadistamise juhised antakse vastaval ajal ülesande juhistes, kuna see paigaldatakse iga projekti jaoks eraldi.

Tere maailm

Traditsiooniliselt alustatakse uue programmeerimiskeele või tehnoloogiaga tutvumist "Tere maailm" rakenduse loomisega - väikese rakendusega, mis kuvab midagi sellist nagu tekst "Tere maailm", et näidata, et kõik tööriistad on õigesti seadistatud.

Virtuaalse IoT-riistvara "Tere maailm" rakendus tagab, et Python ja Visual Studio Code on õigesti paigaldatud. Samuti ühendatakse see CounterFitiga virtuaalsete IoT-sensorite ja täiturite jaoks. See ei kasuta riistvara, vaid ühendub, et tõestada, et kõik töötab.

See rakendus asub kaustas nightlight ja seda kasutatakse hiljem erineva koodiga, et ehitada öölambi rakendus.

Pythoni virtuaalse keskkonna seadistamine

Üks Pythoni võimsatest omadustest on Pip pakettide paigaldamise võimalus - need on teiste inimeste kirjutatud ja internetti üles laaditud koodipaketid. Saate Pip paketi oma arvutisse paigaldada ühe käsuga ja seejärel kasutada seda paketti oma koodis. Kasutate Pip'i CounterFitiga suhtlemiseks vajaliku paketi paigaldamiseks.

Vaikimisi, kui paigaldate paketi, on see saadaval kõikjal teie arvutis, mis võib põhjustada probleeme pakettide versioonidega - näiteks kui üks rakendus sõltub ühest paketi versioonist, mis katkeb, kui paigaldate uue versiooni teise rakenduse jaoks. Selle probleemi lahendamiseks saate kasutada Pythoni virtuaalset keskkonda, mis on sisuliselt Pythoni koopia pühendatud kaustas, ja kui paigaldate Pip pakette, paigaldatakse need ainult sellesse kausta.

💁 Kui kasutate Raspberry Pi-d, siis te ei seadista virtuaalset keskkonda sellel seadmel Pip pakettide haldamiseks, vaid kasutate globaalseid pakette, kuna Grove'i paketid paigaldatakse globaalselt installeri skripti abil.

Ülesanne - Pythoni virtuaalse keskkonna seadistamine

Seadistage Pythoni virtuaalne keskkond ja paigaldage CounterFiti jaoks vajalikud Pip paketid.

  1. Käivitage oma terminalis või käsureal järgmised käsud, et luua ja liikuda uude kataloogi:

    mkdir nightlight
    cd nightlight
    
  2. Nüüd käivitage järgmine käsk, et luua virtuaalne keskkond .venv kaustas:

    python3 -m venv .venv
    

    💁 Virtuaalse keskkonna loomiseks peate selgesõnaliselt kutsuma python3, juhuks kui teil on lisaks Python 3-le paigaldatud ka Python 2. Kui Python 2 on paigaldatud, siis python kasutamine käivitab Python 2, mitte Python 3.

  3. Aktiveerige virtuaalne keskkond:

    • Windowsis:

      • Kui kasutate käsurida või käsurida Windows Terminali kaudu, käivitage:

        .venv\Scripts\activate.bat
        
      • Kui kasutate PowerShelli, käivitage:

        .\.venv\Scripts\Activate.ps1
        

        Kui saate veateate, et skriptide käivitamine on sellel süsteemil keelatud, peate lubama skriptide käivitamise, määrates sobiva täitmise poliitika. Seda saate teha, käivitades PowerShelli administraatorina ja seejärel käivitades järgmise käsu:

        Set-ExecutionPolicy -ExecutionPolicy Unrestricted
        

        Sisestage Y, kui palutakse kinnitada. Seejärel käivitage PowerShell uuesti ja proovige uuesti.

        Vajadusel saate hiljem selle täitmise poliitika lähtestada. Lisateavet leiate Microsoft Docs'i täitmise poliitikate lehelt.

    • macOS-is või Linuxis käivitage:

      source ./.venv/bin/activate
      

    💁 Need käsud tuleks käivitada samast asukohast, kus käivitasite virtuaalse keskkonna loomise käsu. Te ei pea kunagi .venv kausta sisse liikuma, peaksite alati käivitama aktiveerimiskäsu ja kõik käsud pakettide paigaldamiseks või koodi käivitamiseks kaustast, kus olite virtuaalse keskkonna loomisel.

  4. Kui virtuaalne keskkond on aktiveeritud, käivitab vaikimisi python käsk Pythoni versiooni, mida kasutati virtuaalse keskkonna loomiseks. Käivitage järgmine käsk, et saada versioon:

    python --version
    

    Väljund peaks sisaldama järgmist:

    (.venv) ➜  nightlight python --version
    Python 3.9.1
    

    💁 Teie Pythoni versioon võib olla erinev - kui see on vähemalt versioon 3.6, on kõik korras. Kui ei, kustutage see kaust, paigaldage uuem Pythoni versioon ja proovige uuesti.

  5. Käivitage järgmised käsud, et paigaldada CounterFiti jaoks vajalikud Pip paketid. Need paketid sisaldavad peamist CounterFiti rakendust ja Grove'i riistvara jaoks mõeldud shime. Need shimid võimaldavad teil kirjutada koodi nii, nagu programmeeriksite füüsiliste sensorite ja täituritega Grove'i ökosüsteemist, kuid ühendatuna virtuaalsete IoT-seadmetega.

    pip install CounterFit
    pip install counterfit-connection
    pip install counterfit-shims-grove
    

    Need Pip paketid paigaldatakse ainult virtuaalsesse keskkonda ja ei ole saadaval väljaspool seda.

Koodi kirjutamine

Kui Pythoni virtuaalne keskkond on valmis, saate kirjutada "Tere maailm" rakenduse koodi.

Ülesanne - koodi kirjutamine

Looge Pythoni rakendus, mis kuvab konsoolile "Tere maailm".

  1. Käivitage oma terminalis või käsureal järgmised käsud virtuaalses keskkonnas, et luua Pythoni fail nimega app.py:

    • Windowsis käivitage:

      type nul > app.py
      
    • macOS-is või Linuxis käivitage:

      touch app.py
      
  2. Avage praegune kaust VS Code'is:

    code .
    

    💁 Kui teie terminal tagastab macOS-is command not found, tähendab see, et VS Code'i pole lisatud PATH-i. Saate lisada VS Code'i PATH-i, järgides juhiseid VS Code'i dokumentatsiooni jaotises "Käivitamine käsurealt" ja käivitades käsu hiljem. VS Code lisatakse PATH-i vaikimisi Windowsis ja Linuxis.

  3. Kui VS Code käivitub, aktiveerib see Pythoni virtuaalse keskkonna. Valitud virtuaalne keskkond kuvatakse alumises olekuribal:

    VS Code näitab valitud virtuaalset keskkonda

  4. Kui VS Code Terminal on juba käivitunud, kui VS Code käivitub, ei ole virtuaalne keskkond selles aktiveeritud. Kõige lihtsam on terminal sulgeda, kasutades nuppu Kill the active terminal instance:

    VS Code nupp Kill the active terminal instance

    Saate aru, kas terminalis on virtuaalne keskkond aktiveeritud, kui terminali promptil on virtuaalse keskkonna nimi eesliitena. Näiteks võib see olla:

    (.venv) ➜  nightlight
    

    Kui promptil ei ole .venv eesliidet, siis virtuaalne keskkond ei ole terminalis aktiivne.

  5. Käivitage uus VS Code Terminal, valides Terminal -> New Terminal või vajutades CTRL+`. Uus terminal laadib virtuaalse keskkonna ja selle aktiveerimise käsk ilmub terminalis. Promptil on ka virtuaalse keskkonna nimi (.venv):

    ➜  nightlight source .venv/bin/activate
    (.venv) ➜  nightlight 
    
  6. Avage VS Code'i exploreris app.py fail ja lisage järgmine kood:

    print('Hello World!')
    

    Funktsioon print kuvab konsoolile kõik, mis sellele edastatakse.

  7. Käivitage VS Code'i terminalis järgmine käsk, et käivitada oma Pythoni rakendus:

    python app.py
    

    Väljundis peaks olema:

    (.venv) ➜  nightlight python app.py 
    Hello World!
    

😀 Teie "Tere maailm" programm õnnestus!

Ühendage 'riistvara'

Teise "Tere maailm" sammuna käivitate CounterFiti rakenduse ja ühendate oma koodi sellega. See on virtuaalne ekvivalent IoT-riistvara ühendamisele arenduskomplektiga.

Ülesanne - 'riistvara' ühendamine

  1. Käivitage VS Code'i terminalis CounterFiti rakendus järgmise käsuga:

    counterfit
    

    Rakendus hakkab tööle ja avaneb teie veebibrauseris:

    CounterFit rakendus töötab brauseris

    See on märgitud kui Disconnected ja paremas ülanurgas olev LED on välja lülitatud.

  2. Lisage järgmine kood app.py faili algusesse:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    

    See kood impordib CounterFitConnection klassi moodulist counterfit_connection, mis pärineb varem paigaldatud counterfit-connection pip paketist. Seejärel algatatakse ühendus CounterFiti rakendusega, mis töötab aadressil 127.0.0.1, mis on IP-aadress, mida saab alati kasutada kohaliku arvuti (tihti nimetatud localhost) juurde pääsemiseks, pordil 5000.

    💁 Kui teil on teisi rakendusi, mis töötavad pordil 5000, saate seda muuta, uuendades koodi porti ja käivitades CounterFiti käsuga CounterFit --port <port_number>, asendades <port_number> soovitud pordiga.

  3. Peate käivitama uue VS Code'i terminali, valides Create a new integrated terminal nupu. Seda seetõttu, et CounterFiti rakendus töötab praeguses terminalis.

    VS Code nupp Create a new integrated terminal

  4. Käivitage selles uues terminalis app.py fail nagu varem. CounterFiti olek muutub Connected ja LED süttib.

    CounterFit näitab ühendatud olekut

💁 Selle koodi leiate kaustast code/virtual-device.

😀 Teie ühendus riistvaraga õnnestus!


Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.