JX / Platforma JunexisDokumentacja platformy
Menu dokumentacjiDokumentacja platformy

Poznaj platformę

Od czego zacząćJak działa JunexisArchitektura platformyModele mentalneProducer–Controller–PresenterPoziomy prowadzenia i kontroli

Komponenty i wykonanie

Studio — rola w platformieRuntimeMentorNarrativeObserwacja systemu

Dostępność i przygotowanie

Stan platformyPobieranieInstalatorZgodność wersjiKonto i dostępPytania i odpowiedzi

Dokumentacja komponentów

Lang ↗Studio ↗Debug i Narrative ↗Lab ↗Specyfikacja ↗

Pierwsze kroki / od opisu do wyniku

Od czego zacząć

Zacznij od jednego celu: zobaczyć, jak pomiar przechodzi przez zadania systemu i dociera do aplikacji. Potem zmień wartość u źródła i zobacz zmianę na końcu tego samego przepływu.

Jeden projekt. Trzy odpowiedzialności. Widoczny wynik.

Źródło tworzy pomiar, serwer go przekazuje, a raport pokazuje odebrane dane. Na początek wystarczy laptop — rolę urządzenia w tym przykładzie pełni lokalny adapter.

Wybierz swój punkt wejścia

Chcesz… Zacznij tutaj Co zyskasz?
Zrozumieć pomysł bez instalacji Jak działa Junexis, potem Architektura platformy. Poznasz relację między opisem systemu, narzędziami i wykonaniem.
Uruchomić pierwszy przepływ danych Przejdź do przykładu poniżej. Zobaczysz 21°C, a następnie 24°C w raporcie.
Przyjrzeć się działaniu istniejącego projektu Debug: od czego zacząć. Rozróżnisz debugowanie procesu i obserwację przepływu z Narrative.

Zanim zaczniesz uruchamianie

Publiczne paczki nie są jeszcze dostępne w katalogu pobierania. Opublikowane podportale są dokumentacją. Nie oznaczają, że można już pobrać kompletny zestaw i przejść tę instrukcję na pustym komputerze.

Jeżeli dopiero poznajesz Junexis, możesz teraz czytać materiały i obejrzeć pierwszy model w Lab. Stan dystrybucji sprawdzisz w Pobieraniu.

Poniższa próba uruchomieniowa jest dla osoby z dostępem do repozytorium i przygotowanym lokalnym zestawem deweloperskim. Nie wymaga VPS-a, NAS-a ani konta Junexis.

1. Przygotuj warsztat

Instalator służy do przygotowania składników i kontroli środowiska. Wybór paczek musi odpowiadać konkretnemu wydaniu; nie podajemy tutaj fikcyjnego adresu pobierania.

Przykład z repozytorium ma następujące wymagania:

Składnik Do czego jest potrzebny w tej próbie?
Windows i PowerShell 7 (pwsh) Dołączone skrypty budowania są przygotowane dla Windows.
.NET 10 i lokalny kompilator Junexis w konfiguracji Release Sprawdzenie projektu i generowanie kodu.
Go Zbudowanie wygenerowanego serwera. Skrypt wybiera Go 1.26.5 z workspace, a przy jego braku go z PATH.
Node.js i npm Zbudowanie oraz udostępnienie raportu.
Python 3 Uruchomienie procesów i adaptera urządzenia.
Chrome Obejrzenie danych w wygenerowanym raporcie.

Pierwsze budowanie może pobierać zależności Go i npm. Nie jest to instrukcja instalacji offline. Wolne muszą być porty lokalne 18300, 18301, 18302 i 19301. Zgodność wersji wyjaśnia, dlaczego sam numer wersji Studio nie wystarcza do oceny całego zestawu.

2. Otwórz przykład

W repozytorium junexis-lang znajdziesz projekt examples/projects/15-first-system. Najważniejsze pliki to:

junexis.project.toml    — plik wejściowy i trzy środowiska docelowe
src/main.jnx           — wiadomość, zadania, połączenia i rozmieszczenie
tools/Build.ps1        — sprawdzenie, generowanie i budowanie
tools/run.py           — uruchomienie trzech lokalnych procesów

Możesz czytać kod w Studio lub VS Code. W tej pierwszej próbie uruchamianie odbywa się przez dołączone skrypty; nie trzeba najpierw konfigurować debuggera.

Co opisuje Junexis?

TemperatureSource

Tworzy wiadomość co 2 sekundy.
@embedded(esp32c3)

MeasurementRelay

Odbiera i przekazuje tę samą wiadomość.
@server

TemperatureReport

Udostępnia pomiar w raporcie.
@report

To rozmieszczenie opisane w projekcie. Podczas tej próby wszystkie procesy działają na laptopie; nie udajemy wdrożenia na trzech fizycznych maszynach.

Ten fragment pochodzi z src/main.jnx:

pipeline FirstSystem {
    use TemperatureSource -> MeasurementRelay
    use MeasurementRelay -> TemperatureReport
}

deployment FirstSystemLocations {
    target embedded { TemperatureSource @embedded(esp32c3) {} }
    target server { MeasurementRelay @server {} }
    target report { TemperatureReport @report {} }
}

pipeline wskazuje połączenia zadań. deployment przypisuje zadania do środowisk docelowych. W tym przykładzie kompilator generuje C++, Go i TypeScript. Lang opisuje pracę z projektem, a specyfikacja precyzuje reguły języka.

3. Zbuduj i uruchom

Polecenia dla lokalnego zestawu deweloperskiego

Z katalogu repozytorium junexis-lang zbuduj kompilator, a następnie przejdź do projektu:

dotnet build compiler/JunexisLang.Compiler.CLI/JunexisLang.Compiler.CLI.csproj -c Release
cd examples/projects/15-first-system
pwsh -NoProfile -File tools/Build.ps1
python tools/run.py

Pierwsze polecenie wymaga zależności repozytorium kompilatora. Skrypt przykładu oczekuje DLL w compiler/JunexisLang.Compiler.CLI/bin/Release/net10.0/. Nie zastępuje przygotowania kompletnego zestawu.

Build.ps1 wykonuje check i build, buduje serwer Go i raport. Uruchamiacz pozostaw włączony w terminalu. Nie otwiera sam przeglądarki.

Po komunikacie READY otwórz w Chrome adres http://127.0.0.1:18302/. To adres raportu uruchomionego na Twoim komputerze.

W raporcie oczekuj identyfikatora room-1, temperatury 21 i rosnącego numeru sequence. Sam komunikat o udanym budowaniu nie jest jeszcze tym sukcesem — sprawdź odebrany pomiar.

4. Zmień temperaturę u źródła

W drugim terminalu, w katalogu tego samego przykładu, wykonaj:

pwsh -NoProfile -File tools/Set-Temperature.ps1 -Celsius 24

Skrypt zmienia celsius: 21.0 na celsius: 24.0 w src/main.jnx i ponownie generuje część embedded. Działający adapter odczytuje nową wartość z wygenerowanego pliku C++.

W tym samym raporcie zobaczysz 24°C. Nie zmieniasz zadania serwera ani raportu. Możesz wrócić do wartości początkowej tym samym poleceniem z -Celsius 21.

5. Nazwij swój sukces

Po tej próbie potrafisz wskazać:

To pierwszy działający przepływ opisany w Junexis. Na początek nie dokładamy progów, polityk awarii ani konfiguracji zdalnych maszyn.

Zatrzymaj próbę przez Ctrl+C w terminalu uruchamiacza. Zatrzymuje on utworzone przez siebie procesy.

Co jest rzeczywiste, a co zastąpione?

Serwer Go i odbiornik raportu pochodzą z generatora. Pythonowy adapter zastępuje urządzenie: odczytuje literalną temperaturę z wygenerowanego C++ i wysyła wiadomości. Nie wykonuje firmware ani dowolnego kodu Junexis. Zmiana temperatury w tej próbie nie jest zdalną aktualizacją fizycznej płytki.

Lokalne sprawdzenie obejmuje ten konkretny projekt. Nie oznacza wsparcia dla dowolnego sprzętu ani kompletnego publicznego wydania. Nie wymaga też starej lekcji Laboratorium, logowania ani synchronizacji postępu.

Następny krok wybierz po pierwszym wyniku