Środowiska programistyczne dostępne na bramce

Środowiska programistyczne dostępne na bramce

Na bramce DEV dostępne są środowiska programistyczne, dzięki czemu nie tylko można uruchamiać gotowe programy ale też pisać i uruchamiać własne programy bezpośredion na urządzeniu.

:desktop_computer: Bramka AIS dom w wersji DEV może być używana tworzenia oprogramowania, edukacji informatycznej i eksperymentów. W kategorii Programowanie umieścimy kilka postów z informacjami o tym, jak zacząć programowanie na bramce. Skupimy się na językach w których napisany jest system Asystent domowy (C, Python, JavaScript i Java).

C, C++

Pakiet Clang

image

Opis

Front-end kompilatora dla języków C, C++ oraz Objective-C, który używa LLVM jako back-end (generator kodu natywnego i optymalizator). Jest to alternatywa dla kompilatora z projektu GCC. Prace nad nim sponsorowane są przez Apple, a sam program wydany jest na licencji BSD.

Rola na bramce

Podstawa dla wszystkiego, co działa na bramce. Programy w postaci kodu maszynowego (w postaci binarnej, w slangu komputerowym binarki), które działają na bramce, są kompilowane kompilatorem Clang. Normalnie nie budujemy pakietów na bramce, ale w kontenerze i dostarczamy na bramkę już skompilowane paczki, z naszego repozytorium pakietów apt: Linux main apt repo for AI-Speaker.com Pakiety takie jak Python, Node.js, rclone, Mosquito (broker mqtt) i dziesiątki innych pakietów dostarczane są na bramkę w postaci binarnej z repozytorium apt. Dostępność pakietu Clang na bramce umożliwia też kompilowanie programów bezpośrednio na urządzeniu.

Przykład programu

Można skopilować program w C bezpośrednio na bramce, a następnie uruchomić go z Asystenta domowego. Pokazujemy jak to zrobić na przykładzie:


Python

Pakiet python2 i python3

Opis

Python jest językiem programowania ogólnego przeznaczenia. Ponieważ jest interpretowany, dlatego nie da się instalować pakietów Pythona bez obecności środowiska programistycznego Python na bramce. Obecnie świat używa Python 3, ale wciąż istnieją projekty korzystające z Python 2 dlatego mamy oba te środowiska na urządzeniu.

Rola na bramce

Home Assistant napisany jest w języku Python, wszystkie integracje Home Assistant są napisane w języku Python i najczęściej korzystają z dodatkowych pakietów też napisanych w języku Python.

Przykład programu

Można napisać własny program w Python bezpośrednio na bramce, a następnie uruchomić go z Asystenta domowego. Pokazujemy jak to zrobić na przykładzie:


JavaScript

Pakiet node

image

Opis

Node.js to wieloplatformowe środowisko uruchomieniowe o otwartym kodzie do tworzenia aplikacji typu server-side napisanych w języku JavaScript. Podobnie jak Python JavaScript nie jest kompilowany tylko interpretowany, dlatego nie da się instalować pakietów Node.js bez obecności środowiska programistycznego Node.js na bramce.

Rola na bramce

Menedżer procesów działających na bramce to PM2, jest napisany w JavaScript. Te procesy to serwery: ssh, ftp, mqtt, ais (Home Assistant), a także tunnel (zdalny dostęp), webssh (dostęp do konsoli z aplikacji). Dodatkowo po włożeniu dongla zigbee uruchamiany jest proces zigbee2mqtt. Pakiet Zigbee2Mqtt też napisany jest w JavaScript i działa na Node.JS.

Przykład programu

Można napisać własny program w JavaScript bezpośrednio na bramce, a następnie uruchomić go z Asystenta domowego. Pokazujemy jak to zrobić na przykładzie:

2 polubienia