Protocollo artnet…chiarimenti sulla sintassi

Home Forum Luce Pro Protocollo artnet…chiarimenti sulla sintassi

Stai vedendo 15 articoli - dal 1 a 15 (di 20 totali)
  • Autore
    Articoli
  • #75582
    Avatar photoiz1kbp
    Participant

    ciao a tutti..
    Uso per i miei service un soft sviluppato da me.funziona ad un univeso dmx e ad ora ,si è rilevato un valido prodotto.Purtroppo il problema è nato dal fatto che ora i fari intelligenti usano una quatita di canali dmx tale per cui il caro singolo universo dmx è orami un po strettino.Il mio programma funziona benissimo ma è “limitato” ad un universo DMX.Usare piu interfaccie DMX potrebbere essere una soluzione ma è “scomodo” portare un’altra linea dmx verso il palco.Sto quindi studiando il protocollo artnet per implementare questa tecnologia nel mio programma.Ad ora il sistema sembra funzionare nel senso che ho costruito un’interfaccia artnet con arduino,ho implementato il protocollo nel mio software , e ,dopo un po di aggiustamenti, il sistema funiona. Ma , c’è sempre un ma,volevo vedere se quello che ho fatto è compatibile con le interfacce commerciali (per avere piu universi).Ho istallato un secondo pc un simulatore artnet e collegato il mio programma via rete (come dovrebbe essere nella realta).Risultato: il simulatore dice NIENTE ATTIVITA.
    A questo punto arriva la domanda :qulacuno conosce in maniera approfondita il protocollo in modo che possa spingermi a fare una domanda piu tecnica circa le sequene di invio stringhe?
    Grazie a chiunque possa darmi una mano.

    mario

    #75602

    Quesito interessante… Anch’io sto smanettando con Artnet e Arduino.
    Secondo me è un problema di settaggi sul PC ricevente. Come sono settati i due computer e l’arduino come rete (IP, subnet mask…)?

    #75608
    Avatar photoiz1kbp
    Participant

    Ciao Daniele, per semplicita ho messo tutto nella rete locale e per porta quella standar di artenet:
    192.168.0.x/6454 255.255.255.0
    So che Artnet prevede mask ed indirizzi differenti, ma nel protocollo non è indicata come mandataria e lascia libera scelta, l’importante è che siano nella stessa rete.
    Per simulatore ho provato quello Free “ArtNetominator” e questo programma non mi permette di mettere altri dati se non l’indirizzo fisico.
    Ho provato anche in locale (programma e simulatrore sullo stesso pc) con 127.0.0.1 installando il trial di wysiwyg e realizzer 3d ma nel simulatore non vedo alcuna attivita.
    Nel mio programma mando semplicemente la stringa riguardante il dato dmx dato che gli altri comandi per ora non mi interessano.
    Tuttavia nel protocollo sono previsti parecchi tipi di messaggi con tempistiche neanche troppo strette (parecchi ms) e mi domandavo se per caso ci fosse una sequenza di stringhe da mandare per essere 100% compatibile artnet.
    Per ora con ardunio , andando a leggere solo il dato con identificativo 5000 (DMX data) usando la stringa standar,funziona…sarei tentato di acquistare una intefaccia commerciale (una economica) per avere la prova del 9…ma le finanze piangono un po.
    Hai idee ?
    Grazie
    Mario

    #75614

    Ma come sono strutturati i pacchetti ArtNet che trasmetti? Su questa pagina trovi una tabella che mostra come devono essere i pacchetti trasmessi. https://en.wikipedia.org/wiki/Art-Net

    Domanda… il codice sull’Arduino che riceve l’ArtNet è stato scritto da te oppure lo hai scaricato?

    #75624
    Avatar photoiz1kbp
    Participant

    CIao Daniele,
    la sintassi della stringa che trasmetto è quella presente nell’sdk dato dalla artistic L. l’ho verificata piu volte, anche con wireshark, ed è corretta.
    Il codice di lettura di arduino l’ho scaricato e poi adattato alle mie esigenze per arduino uno.
    E qui viene il bello,cioè che la engine rx risponde correttamente alle mie interrogazioni tramite lan quindi presumo che la mia routine di trasmissione sia corretta.Ora sto provando a costruire un nodo ex novo che ho trovato su Internet (per mega) e che a detta di chi lo ha fatto, funziona.Vedo cosa succede.

    #75702

    Pensandoci mi viene in mente una cosa… hai controllato la presenza di eventuali firewall nei computer oppure qualche blocco per i pacchetti UTP nell’access point?

    #75705
    Avatar photoiz1kbp
    Participant

    Si ci avevo gia pensato ,una delle prime cose.le prove le faccio su 2 pc senza FW,tramite router con tutto permesso (la famosa demilitary zone).
    Come ti scrivevo,la sintassi della stringa che mando, letta tramite wireshark sul pc che fa da monitor, è corretta.Infatti il mio codice risponde correttamente alla richieste 5000(dati) e 2000(poll).
    So che cè qualche cosa che manca…ma non so bene cosa.
    Tempo fa stavo implementando l’smpte nel mio programma.Ci ho perso qualche mese..poi alla fine ho scoperto che era una questione di timing di invio stringa: io la madavo ogni 20 ms…mentre lo standard è di 80ms o piu.(pensa te!!!)
    Ora sto riscrivendo ex novo di mio pugno il codice di arduino,lasciando perdere quello che ho trovato, basandomi unicamente sul protocollo artent di artistic (un plico di molte pagine…molto interessanti!!).Vediamo che cosa risco a combinare! 😉

    #75858
    Avatar photoiz1kbp
    Participant

    Bho…ho creato un nodo exnovo con soft mio (senza guardarne altri di esempio), seguendo il manuale di C e arduino per essere sicuro della sintassi,dando retta alle direttive Artistic.Risultato:il mio programma ed iul nuovo nodo funzionano benissimo (due universi DMX, comandi di poll etc).Provando con i simualtori: NADA!!!!! LA cosa che mi fa ben sperare è che il simulatore non vede neppure artnet dei programmi tipo WYSIWYW e Realizzer 3d.
    Mi vien da pensare che si debba per forza settare la rete con indirizzo 2.0.x.x e subnet tipo 255.0.0.0 anche se da specifiche questa cosa non è obbligatoria.
    In questo momento cambiare gli indirizzi sulla mia rete è un po un casino…ergo…direi che il mio sistema è ok.
    Se nel frattempo qualcuno avesse qualche illuminazione , aggiorni pure il mio post.Io farò altrettanto
    Buona salute a tutti!

    Mario

    #75879

    Bene,
    io ho intenzione di realizzare più o meno la stessa cosa.
    Quando ho tempo proseguirò e manderò aggiornamenti

    #76117
    Avatar photoiz1kbp
    Participant

    Ciao Daniele…
    penso di essere arrivato ad un punto fisso:
    con questa configurazione funziona perfettamente….
    {0x90, 0xA2, 0xDA, 0x00, 0x5A, 0x82}; // mac add dello shield
    { 2, 0, 0, 10}; // ip nodo
    { 2, 255, 255, 255}; // indirizzo di broadcast
    { 2, 0, 0, 1}; // indirizzo router
    { 255, 0, 0, 0}; // subnet classe A

    con questa configurazione non funziona nulla

    {0x90, 0xA2, 0xDA, 0x00, 0x5A, 0x82}; // mac add dello shield
    { 192, 168, 0, 199}; // ip nodo
    { 192, 255, 255, 255}; // indirizzo di broadcast
    { 192, 168, 0, 254}; // indirizzo router
    { 255, 255, 255, 0}; // subnet classica di casa

    ho preso un router muletto (per non incasinare il mio di casa) e l’ho configurato come ArtNet comanda sulla rete 2 (non la 10…dedicata ad ip fissi).
    In questo ambito tutto funziona.
    Messo fermo che l’hard è quindi ok, ho spostato tutto sulla rete di casa (vedi sopra> 168…) e come per incanto…non va piu nulla.
    Alla fine della fiera mi vien da pensare che i programmi commerciali sono preimpostati per la rete 2 o 10(infatti sui trial che ho provato non ho trovato pagine di setup particolari). E cosi pure mi vien da pensare che le interfacce commerciali seguano la stesas strada.
    Quindi a questo punto posso dire che la sintassi che ho usato per spedire byte dal mio programma verso artnet è giusta e quindi ho settato il mio programma per andare in udp sulle rete tipo 2.x.x.x ,per stare sullo standar!!!
    Mi tengo il router muletto configurato per artnet,onde evitare casini di rete mettendo una classe A sul router di casa.
    Direi che ora…posso andare avanti nello sviluppo…. l parte peggiore è passata
    Mario

    #76184

    Ok, potrebbe essere.
    Nel mio sistema, appena possibile, implementerò un’estensione ArtNet ma, se possibile, vedrò di scrivere entrambi i software (trasmissione e ricezione) per non avere problemi del genere (se la linea ArtNet ha poco “carico” può anche “condividere” una rete già utilizzata per altro senza dover necessariamente riconfigurare tutto).

    Riguardo al tuo problema penso che tu abbia ragione. Leggevo che i programmi che utilizzano ArtNet, se non trovano una LAN con IP settato appositamente (2.x.x.x o 10.x.x.x), cambiano l’IP di una LAN esistente. Non è che magari i software hanno riconfigurato un’interfaccia di rete che non stavi utilizzando?

    #76267
    Avatar photoiz1kbp
    Participant

    Ciao Daniele,
    Riguardo la possibilita che i prg cambiassero l’Ip di una lan esistente e non piu utiulizzate non saprei dirti.
    Io per ora ho configurato un doppio IP sula scheda lan dl pc che uso per sviluppare in modo modo da far coesistere i due sistemi sugli stessi “fili”.Cosi facendo sviluppo in ambiente 192 in modo da avere a disposizione i vari strumenti che mi necessitano (Internet,altri pc ed altro di casa mia) e testo direttamente in ambiente 2 senza cambiare sistema o montare altre rete a parte.
    Per quanto riguarda i programmi commerciali, ho provato pure con Freestyle e il simulatore di artnet e non succede nulla.Rimango sempre piu dell’idea che questi programmi sono un po troppo chiusi, anche se Artistic da ampie possibilita (sulla carta) di configurazione.

    #79284

    Ciao, ho implementato (con successo) il protocollo ArtNet anche nel mio mixer luci che utilizzo per alcuni (piccoli) eventi per togliere le porte seriali che, sopratutto ultimamente, mi hanno dato problemi.
    Per quanto riguarda i nodi artnet-dmx ho seguito questo progetto (https://www.instructables.com/id/ESP8266-Artnet-to-DMX/) che utilizza dei moduli WiFi molto economici programmabili con l’IDE di Arduino. Il progetto è molto completo e, oltre a non richiedere cavi per il collegamento (puoi sempre interporre un access point su cavo ethernet per non rischiare di perdere il segnale su distanze elevate), ti permette di gestire due universi per nodo e di comandare anche le strip led indirizzabili.
    Sul mio mixer, programmato in C#, ho aggiunto una routine che trasmette ciclicamente i pacchetti ArtNet all’impianto luci e ho fatto in modo che la trasmissione possa avvenire sia in broadcast che agli indirizzi IP dei nodi (con la predisposizione per più universi – ora il mio mixer ne gestisce solo uno).
    Il sistema funziona molto meglio del passaggio tramite Arduino via seriale (PC—-SERIALE—->ARDUINO>DMX), si blocca molto meno spesso e trasmette i dati in maniera più fluida. Ho provato ad utilizzare ArtNetominator (software visualizzatore di dati ArtNET reperibile gratuitamente in rete) e riesco a vedere ciò che viene trasmesso.

    #79290
    Avatar photoiz1kbp
    Participant

    Ciao Daniele,sono contento!!
    Si, quel progetto lo avevo visto pure io ma non lo avevo sviluppato sia per mancanza di tempo che di risorse.
    Personalmente preferisco gli impianti “filati”, dato che dove normalmente opero,ho un insieme di reti wifi e microfonici da far paura, ed il rischio di sganci è reale e frequente.
    Ho usato pure io il monitor art-net ma non sono mai riuscito a vedere nulla.
    Ho controllato e rincontrollato la stringa trasmessa ma …niente: il monitor non vede nulla mentre il nodo funziona benissimo.
    Buona a sapersi che il tuo progetto funziona alla grande!!!
    Se mi venisse l’attimo fuggente..chissa che riprenda in mano tutta la baracca e studi la versione wifi

    Ciao

    Mario

    #79297
    Avatar photoAndrea
    Participant

    Ciao Daniele,
    non hai mai pensato di utilizzare il protocollo sACN o E1.31? Non avresti la limitazione dell’indirizzo solo sui 2. o i 10. e per stabilizzare il tutto puoi andare in Unicast o in Multicast. Se vuoi approfondire vedi Espixelstick di Forkineye su Github, c’è una versione del software per gestire il DMX out + eventuali strisce indirizzabili.

Stai vedendo 15 articoli - dal 1 a 15 (di 20 totali)
  • Devi essere loggato per rispondere a questa discussione.
Vai alla barra degli strumenti