Firma Microsoft niedawno wprowadziła nową aplikację UWP, która umożliwia użytkownikom programowanie Raspberry Pi 2, Raspberry 3 lub Raspberry Pi Sense Hat z poziomu przeglądarki. Windows 10 IoT Core Blockly umożliwia użytkownikom tworzenie programów z blokami blokującymi, które mogą następnie sterować minikomputerem Raspberry Pi.
Podczas projektowania tego nowego narzędzia Microsoft zainspirował się czterema różnymi projektami, w tym blokowym edytorem bloków Open Source firmy Google, micro: bit firmy BBC i własnym edytorem bloków.
Windows 10 IoT Core Blockly ma prostą strukturę: główna aplikacja uruchamia serwer WWW, który obsługuje stronę edytora Blockly na porcie 8000. Użytkownicy mogą uzyskać dostęp do edytora Blockly, przechodząc do swojego Raspberry Pi: 8000 z przeglądarki. Firma Microsoft stworzyła również niestandardowe bloki dla określonych funkcji Sense Hat, które można znaleźć w określonych kategoriach: Podstawowe, Dane wejściowe, LED, Obrazy, Piny i inne.
Inne funkcje obejmują:
- Blockly ułatwia tłumaczenie bloków na JavaScript, dzięki czemu możemy wygenerować uruchamialny fragment kodu JavaScript. Możesz zobaczyć, na co Twój program blokowy tłumaczy w JavaScript, naciskając niebieski przycisk „Konwertuj na JavaScript” - uwaga: aby włączyć „zdarzenia”, takie jak „naciśnięcie przycisku joysticka”, mamy kilka pomocniczych funkcji JavaScript i zwracamy szczególną uwagę na kolejność różnych funkcji.
- W tym momencie mamy edytor bloków, który może wygenerować uruchamialny fragment kodu JavaScript: Potrzebujemy czegoś, co może wykonać ten fragment kodu JavaScript w innym wątku bez ingerencji w serwer WWW.
- Aby uruchomić fragment kodu, tworzymy wystąpienie silnika Chakra JavaScript (który jest częścią każdej edycji systemu Windows 10) i uruchamiamy fragment. Chakra ułatwia zatrzymanie fragmentu w dowolnym momencie.
- Wiele bloków oddziałuje bezpośrednio z Kapeluszem Sense. Mogliśmy napisać mnóstwo kodu JavaScript do sterowania Sense Hat, ale wykorzystaliśmy kompletną i łatwą w użyciu bibliotekę C # SenseHat firmy EmmellSoft. Mostkowanie między JavaScript i C # było niezwykle łatwe dzięki wykorzystaniu otoki biblioteki UWP.
- Na koniec dodaliśmy kilka maszyn, aby upewnić się, że ostatni „uruchomiony” fragment kodu jest zapisany na Raspberry Pi (zarówno układ bloków, jak i fragment kodu JavaScript są buforowane) i uruchamiamy go ponownie przy następnym uruchomieniu aplikacji IoT Core Blockly (np. Po ponownym uruchomieniu Twoje urządzenie).
Aby uzyskać więcej informacji na temat konfigurowania IoT Core Blockly na swoim Raspberry Pi, zapoznaj się z wpisem na blogu firmy Microsoft.