13 KiB
Virtuálny jednodeskový počítač
Namiesto nákupu IoT zariadenia spolu so senzormi a akčnými členmi môžete použiť svoj počítač na simuláciu IoT hardvéru. Projekt CounterFit vám umožňuje spustiť aplikáciu lokálne, ktorá simuluje IoT hardvér, ako sú senzory a akčné členy, a pristupovať k týmto senzorom a akčným členom z lokálneho Python kódu, ktorý je napísaný rovnakým spôsobom, ako by ste písali kód na Raspberry Pi s použitím fyzického hardvéru.
Nastavenie
Na používanie CounterFit budete potrebovať nainštalovať niekoľko bezplatných softvérov na svojom počítači.
Úloha
Nainštalujte potrebný softvér.
-
Nainštalujte Python. Pozrite si stránku na stiahnutie Pythonu pre pokyny na inštaláciu najnovšej verzie Pythonu.
-
Nainštalujte Visual Studio Code (VS Code). Toto je editor, ktorý budete používať na písanie kódu pre virtuálne zariadenie v Pythone. Pozrite si dokumentáciu VS Code pre pokyny na inštaláciu VS Code.
💁 Môžete použiť akékoľvek IDE alebo editor pre Python, ak máte preferovaný nástroj, ale lekcie budú obsahovať pokyny založené na používaní VS Code.
-
Nainštalujte rozšírenie Pylance pre VS Code. Toto je rozšírenie pre VS Code, ktoré poskytuje podporu pre jazyk Python. Pozrite si dokumentáciu k rozšíreniu Pylance pre pokyny na inštaláciu tohto rozšírenia vo VS Code.
Pokyny na inštaláciu a konfiguráciu aplikácie CounterFit budú uvedené v príslušnom čase v zadaniach, pretože sa inštaluje na báze jednotlivých projektov.
Hello world
Je tradičné, keď začínate s novým programovacím jazykom alebo technológiou, vytvoriť aplikáciu 'Hello World' - malú aplikáciu, ktorá vypíše niečo ako text "Hello World"
, aby ste overili, že všetky nástroje sú správne nakonfigurované.
Aplikácia Hello World pre virtuálny IoT hardvér zabezpečí, že máte správne nainštalovaný Python a Visual Studio Code. Tiež sa pripojí k CounterFit pre virtuálne IoT senzory a akčné členy. Nepoužije žiadny hardvér, iba sa pripojí, aby dokázala, že všetko funguje.
Táto aplikácia bude v priečinku s názvom nightlight
a bude sa opakovane používať s rôznym kódom v neskorších častiach tohto zadania na vytvorenie aplikácie nočného svetla.
Konfigurácia virtuálneho prostredia Pythonu
Jednou z výkonných funkcií Pythonu je možnosť inštalovať Pip balíčky - to sú balíčky kódu napísané inými ľuďmi a publikované na internete. Môžete nainštalovať Pip balíček na svoj počítač jedným príkazom a potom tento balíček použiť vo svojom kóde. Budete používať Pip na inštaláciu balíčka na komunikáciu s CounterFit.
Štandardne, keď nainštalujete balíček, je dostupný všade na vašom počítači, čo môže viesť k problémom s verziami balíčkov - napríklad jedna aplikácia závisí na jednej verzii balíčka, ktorá prestane fungovať, keď nainštalujete novú verziu pre inú aplikáciu. Na vyriešenie tohto problému môžete použiť virtuálne prostredie Pythonu, v podstate kópiu Pythonu v dedikovanom priečinku, a keď nainštalujete Pip balíčky, nainštalujú sa iba do tohto priečinka.
💁 Ak používate Raspberry Pi, potom ste na tomto zariadení nenastavili virtuálne prostredie na správu Pip balíčkov, namiesto toho používate globálne balíčky, pretože Grove balíčky sú nainštalované globálne inštalačným skriptom.
Úloha - konfigurácia virtuálneho prostredia Pythonu
Nakonfigurujte virtuálne prostredie Pythonu a nainštalujte Pip balíčky pre CounterFit.
-
Z terminálu alebo príkazového riadku spustite nasledujúce príkazy na vytvorenie a navigáciu do nového adresára:
mkdir nightlight cd nightlight
-
Teraz spustite nasledujúci príkaz na vytvorenie virtuálneho prostredia v priečinku
.venv
:python3 -m venv .venv
💁 Musíte explicitne zavolať
python3
na vytvorenie virtuálneho prostredia, pre prípad, že máte nainštalovaný Python 2 okrem Pythonu 3 (najnovšia verzia). Ak máte nainštalovaný Python 2, volaniepython
použije Python 2 namiesto Pythonu 3. -
Aktivujte virtuálne prostredie:
-
Na Windows:
-
Ak používate Command Prompt alebo Command Prompt cez Windows Terminal, spustite:
.venv\Scripts\activate.bat
-
Ak používate PowerShell, spustite:
.\.venv\Scripts\Activate.ps1
Ak dostanete chybu o tom, že spúšťanie skriptov je na tomto systéme zakázané, budete musieť povoliť spúšťanie skriptov nastavením vhodnej politiky vykonávania. Môžete to urobiť spustením PowerShellu ako administrátor a následným spustením nasledujúceho príkazu:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Zadajte
Y
, keď budete požiadaní o potvrdenie. Potom znova spustite PowerShell a skúste to znova.Túto politiku vykonávania môžete neskôr resetovať, ak to bude potrebné. Viac o tom si môžete prečítať na stránke o politikách vykonávania na Microsoft Docs.
-
-
Na macOS alebo Linux spustite:
source ./.venv/bin/activate
💁 Tieto príkazy by sa mali spustiť z rovnakého miesta, kde ste spustili príkaz na vytvorenie virtuálneho prostredia. Nikdy nebudete musieť navigovať do priečinka
.venv
, vždy by ste mali spustiť aktivačný príkaz a akékoľvek príkazy na inštaláciu balíčkov alebo spustenie kódu z priečinka, v ktorom ste boli, keď ste vytvorili virtuálne prostredie. -
-
Po aktivácii virtuálneho prostredia bude predvolený príkaz
python
spúšťať verziu Pythonu, ktorá bola použitá na vytvorenie virtuálneho prostredia. Spustite nasledujúci príkaz na získanie verzie:python --version
Výstup by mal obsahovať nasledujúce:
(.venv) ➜ nightlight python --version Python 3.9.1
💁 Vaša verzia Pythonu môže byť iná - pokiaľ je to verzia 3.6 alebo vyššia, je to v poriadku. Ak nie, odstráňte tento priečinok, nainštalujte novšiu verziu Pythonu a skúste to znova.
-
Spustite nasledujúce príkazy na inštaláciu Pip balíčkov pre CounterFit. Tieto balíčky zahŕňajú hlavnú aplikáciu CounterFit, ako aj shimy pre Grove hardvér. Tieto shimy vám umožňujú písať kód, akoby ste programovali s použitím fyzických senzorov a akčných členov z ekosystému Grove, ale pripojených k virtuálnym IoT zariadeniam.
pip install CounterFit pip install counterfit-connection pip install counterfit-shims-grove
Tieto Pip balíčky budú nainštalované iba vo virtuálnom prostredí a nebudú dostupné mimo neho.
Napíšte kód
Keď je virtuálne prostredie Pythonu pripravené, môžete napísať kód pre aplikáciu 'Hello World'.
Úloha - napíšte kód
Vytvorte Python aplikáciu, ktorá vypíše "Hello World"
do konzoly.
-
Z terminálu alebo príkazového riadku spustite nasledujúce príkazy vo vnútri virtuálneho prostredia na vytvorenie Python súboru s názvom
app.py
:-
Na Windows spustite:
type nul > app.py
-
Na macOS alebo Linux spustite:
touch app.py
-
-
Otvorte aktuálny priečinok vo VS Code:
code .
💁 Ak váš terminál na macOS vráti
command not found
, znamená to, že VS Code nebol pridaný do vášho PATH. Môžete pridať VS Code do PATH podľa pokynov v časti Spustenie z príkazového riadku v dokumentácii VS Code a potom spustiť príkaz znova. Na Windows a Linux je VS Code predvolene pridaný do PATH. -
Keď sa VS Code spustí, aktivuje virtuálne prostredie Pythonu. Vybrané virtuálne prostredie sa zobrazí v dolnom stavovom riadku:
-
Ak je terminál VS Code už spustený, keď sa VS Code spustí, virtuálne prostredie v ňom nebude aktivované. Najjednoduchšie je zabiť terminál pomocou tlačidla Kill the active terminal instance:
Môžete zistiť, či je virtuálne prostredie aktivované v termináli, pretože názov virtuálneho prostredia bude predponou na výzve terminálu. Napríklad to môže byť:
(.venv) ➜ nightlight
Ak nemáte
.venv
ako predponu na výzve, virtuálne prostredie nie je aktivované v termináli. -
Spustite nový terminál VS Code výberom Terminal -> New Terminal alebo stlačením
CTRL+`
. Nový terminál načíta virtuálne prostredie a volanie na jeho aktiváciu sa zobrazí v termináli. Výzva bude mať tiež názov virtuálneho prostredia (.venv
):➜ nightlight source .venv/bin/activate (.venv) ➜ nightlight
-
Otvorte súbor
app.py
z prieskumníka VS Code a pridajte nasledujúci kód:print('Hello World!')
Funkcia
print
vypíše čokoľvek, čo jej odovzdáte, do konzoly. -
Z terminálu VS Code spustite nasledujúci príkaz na spustenie vašej Python aplikácie:
python app.py
Vo výstupe sa zobrazí nasledujúce:
(.venv) ➜ nightlight python app.py Hello World!
😀 Vaša 'Hello World' aplikácia bola úspešná!
Pripojte 'hardvér'
Ako druhý krok 'Hello World' spustíte aplikáciu CounterFit a pripojíte k nej svoj kód. Toto je virtuálny ekvivalent pripojenia IoT hardvéru k vývojovej sade.
Úloha - pripojte 'hardvér'
-
Z terminálu VS Code spustite aplikáciu CounterFit nasledujúcim príkazom:
counterfit
Aplikácia sa spustí a otvorí vo vašom webovom prehliadači:
Bude označená ako Disconnected a LED v pravom hornom rohu bude vypnutá.
-
Pridajte nasledujúci kód na začiatok súboru
app.py
:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
Tento kód importuje triedu
CounterFitConnection
z modulucounterfit_connection
, ktorý pochádza z Pip balíčkacounterfit-connection
, ktorý ste nainštalovali skôr. Potom inicializuje pripojenie k aplikácii CounterFit bežiacej na127.0.0.1
, čo je IP adresa, ktorú môžete vždy použiť na prístup k svojmu lokálnemu počítaču (často označovaná ako localhost), na porte 5000.💁 Ak máte iné aplikácie bežiace na porte 5000, môžete to zmeniť aktualizáciou portu v kóde a spustením CounterFit pomocou
CounterFit --port <port_number>
, kde<port_number>
nahradíte číslom portu, ktorý chcete použiť. -
Budete musieť spustiť nový terminál VS Code výberom tlačidla Create a new integrated terminal. Je to preto, že aplikácia CounterFit beží v aktuálnom termináli.
-
V tomto novom termináli spustite súbor
app.py
ako predtým. Stav CounterFit sa zmení na Connected a LED sa rozsvieti.
💁 Tento kód nájdete v priečinku code/virtual-device.
😀 Vaše pripojenie k hardvéru bolo úspešné!
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.