Scripting: Introduzione
- Tutorial
Training
Lo scripting è il mattone che ti permette di adattare il Beholder Bisogni aziendali senza Ridistribuisci l'applicazione. I copioni, scritti in JavaScript, sono Memorizzata lato server, versionato allora Guidati dai giocatori (Osservatore) per l'esecuzione locale. Possono cambiare Comportamenti applicativi, regolare l'interfaccia, controllare l'aspetto del gemello digitale e orchestrare i processi. Il risultato: sviluppare rapidamente una risposta funzionale, in modo autonomo, con un linguaggio accessibile.
Viaggio nella creazione dei gemelli digitali
Un gemello digitale immersivo è costruito in quattro fasi complementari: Modellazione Geospaziale, Creazione del catalogo delle attrezzature, Geometria e connessione dati allora Sceneggiatura per aggiungere la logica di business. L'obiettivo è passare da un sistema di riferimento 3D correttamente georeferenziato a un'applicazione che reagisce ai dati in tempo reale, senza ridistribuzione dal lato giocatore.

Le sezioni seguenti descrivono ogni fase, i risultati attesi e i punti di attenzione che garantiscono un gemello robusto, rintracciabile e mantenibile.
1) Modellazione geografica e metadati
Costruire la mappa 3D e il quadro spaziale in cui vive il gemello: siti, edifici, piani, aree, punti di riferimento e coordinate. Più ricca è la modellazione (geometria + semantica), più la Gli usi successivi (posizione, navigazione, filtraggio, analisi) saranno semplici e accurati.
- Lo fa: creare/assemblare modelli 2D/3D, definire la topologia (sito → edificio → piano → area), riempire i sistemi di coordinate.
- Risultato: Repository spaziale coerente pronto a ricevere apparecchiature.
2) Creazione/importazione di attrezzature
Elenca tutti gli oggetti sorvegliabili (sensori, sistemi, telecamere, veicoli, ecc.) da le fonti aziendali del cliente (CMMS, GIS, IoT, esportazioni Excel, API, ecc.). Normalizza, pulisci e trasforma quei dati in un formato immersivo in modo che diventino entità azionabili.
- Lo fa: Campi mappati (tipi, identificatori, proprietà, variabili, stati), controllo della qualità, arricchimento se necessario.
- Risultato: Catalogo di apparecchiature immersive pronti a caricare (tipi + istanze + variabili).
3) Collegamento degli oggetti ↔ equipaggiamenti
Associa oggetti visivi (mesh 3D, simboli 2D) dalla modellazione con l'attrezzatura Citato. Questo passaggio crea il Tracciabilità : un clic su un oggetto apre la forma giusta, una modifica degli aggiornamenti di valore il rendering corretto e le interinterrogazioni (per zona, tipo, criticità) diventano banali.
- Lo fa: stabilire collegamenti stabili (ID, regole di appartenenza, pattern), validare l'allineamento spaziale.
- Risultato: Grafo di collegamento robusto tra geometria e dati, testabile nel Beholder.
4) Scripting e logica aziendale
Aggiungi intelligenza locale tramite script JavaScript eseguiti dal Beholder: regole di allerta, Stili/animazioni condizionali, percorsi degli operatori, widget e automazioni. Lo scripting permette Cambiamento del comportamento senza ridistribuzione : basta pubblicare gli script lato server.
- Lo fa: scrivere script per perimetro, ascoltare handle, applicare reazioni UI/twin, log.
- Risultato: Libreria di script versionata, documentata e testata.
Ruolo e scopo della scrittura
- Reagire ai dati ricevute tramite l'Hub (stati, metriche, eventi) e attivano azioni locali.
- Personalizzazione dell'interfaccia utente : semplificare i percorsi, aggiungere elementi di supporto, indicare le priorità.
- Stile del gemello : cambiare l'aspetto dell'equipaggiamento, mostrare badge/etichette, applicare effetti visivi.
- Automatizza i processi : sequenze d'azione, gestione delle modalità (giorno/notte), regole di allarme, procedure dell'operatore.
Tutte le operazioni descritte nei tutorial di scripting sono eseguite nel Backend Immersivo, categoria "Contenuti > Business". Qui si struttura il tuo ambito di esecuzione (Workspace), crea i tuoi script (Controller), gestisce le versioni e pubblica.
Fondamenti
- Manico : Percorso dati che permette un dialogo con l'Hub. Gli script "ascoltano" i cambiamenti di valore e reagiscono.
- Spazio di lavoro —Rappresenta un insieme di Controller applicati durante una sessione Beholder. Solo uno spazio di lavoro è attivo al lancio. Lo Spazio di Lavoro rappresenta lo spazio di lavoro aziendale che sovrascriverà il comportamento predefinito del Beholder per creare una risposta aziendale adattata alle esigenze del cliente.
- Controller : Un contenitore per uno script (o contenuto parametrico) con il suo tipo, la regola di importazione e le versioni.
- Controllori di parametrizzazione (prefisso
Infos.) — formato JSON. Controlla la configurazione al lancio (ad esempio mappa predefinita, ambito, titolo, indirizzo dell'hub). - Controllori di scripting per apparecchiature (senza prefisso) — formato JavaScript. Logica collegata a uno o più apparecchiature.
- Controllori di scripting applicativo (prefisso
App.) — formato JavaScript. Logica generale, indipendente dall'attrezzatura. - Controllori di Posizione (prefisso
Translation.) — formato testo. Aggiunte le chiavi di traduzione.
- Controllori di parametrizzazione (prefisso
- Regola di importazione —Determina a quali dispositivi si applica uno script di dispositivo. Esempi:
- Cognome —Prende di mira tutta l'attrezzatura di una famiglia. Ad esempio, tutti Ascensori.
- Diverse famiglie : separando ogni famiglia tramite
|. - Tutta l'attrezzatura : Pattern
.*. - Presenza di una variabile : Pattern
$(NomDeVariable)(Si applica solo ai dispositivi con questa variabile).
Ciclo di vita del backend
I compiti tipici di un utente Immersivo che desidera creare script per adattare il Beholder a una necessità aziendale sono i seguenti:
- Crea uno spazio di lavoro e definirne le proprietà (diritti di accesso, elenco dei Controller collegati).
- Crea un Controller : specifica un nome (presta attenzione al prefisso che determina il tipo), alla descrizione e alla regola di importazione se applicabile.
- Modifica la sceneggiatura (o JSON, a seconda del tipo di controller) e Crea una versione.
- Pubblica una versione : Solo la versione pubblicata è Riportato dall'osservatore. Un controller può, infatti, versionare i propri script ma ne può pubblicare solo uno alla volta.
- Collega il controller allo spazio di lavoro : Solo i Controller collegati allo Workspace attivo vengono eseguiti. Un controller può essere associato a diversi spazi di lavoro.
- Caricamento lato giocatore : all'avvio (o a seconda della strategia di ricarica), il Beholder recupera lo Workspace, i suoi Controller associati e la versione pubblicata per ciascuno di essi che esegue localmente.
Buone pratiche editoriali
È importante semplificare la manutenzione del tuo progetto e aiutare chi lavorerà sugli spazi di lavoro, sui controller o sugli script che hai creato a seguire le migliori pratiche:
- Nominare chiaramente : Nomi autoesplicativi per controller, spazi di lavoro e famiglie.
- Regole precise di importazione : obiettivo chiaro (famiglie, variabili) per evitare effetti collaterali.
- Versioni brevi e frequenti : Pubblicare a incrementi e modificare i documenti.
- Isolamento : separando la logica "globale" (
App.) della logica "equipaggiamento" (senza prefisso). - Reversibilità : Qualsiasi modifica all'interfaccia o alla visuale dovrebbe poter essere annullata facilmente.
- Prestazioni : favoriscono reazioni basate su eventi e un ambito limitato (handle mirati).
Usi comuni
Lo scripting ti permette di sovraccaricare il funzionamento del Beholder per offrire più possibilità e funzionalità ai tuoi utenti. Lo scripting potrà agire su:
- Stato dell'Asset : evidenzia un'attrezzatura che si trova in anomalia, visualizza un messaggio operatore.
- Personalizzazione UI 2D/3D : arricchisce la mappa (cartucce, bolle), le liste dell'equipaggiamento, i badge di criticità.
- Query & filtraggio : Focalizzare la visione su un sottoinsieme rilevante di apparecchiature.
- Geolocalizzazione e flotta : evidenzia la risorsa più vicina, guida un punto, utilizza apparecchiature "virtuali".
- Storia e heatmap —Abilitare l'analisi di strati storici o di densità.
Passaggi successivi nel tutorial
- Creare un Spazio di lavoro.
- Creare un Controller e gestione dei suoi Versioni.
- Controllori di parametrizzazione (
Infos.). - Script di Attrezzatura (regole di importazione, targeting, casi d'uso).
- Scripting applicativo (
App.). - Posizione (
Translation.). - Focus tematico: Stato dell'Asset, Personalizzazione Widget2D/3D, Query, Personalizzazione 3D,
Geolocalizzazione, Altre azioni, Ispettore, Personalizzazione HMI, Flotta/GeoTracciamento/GeoMovimento/NavMeshMove, Rapporti, Mappa termica, Storia del percorso.