Ciao Michele,
Souliss supporta diverse interfacce di comunicazione, astratte attraverso vNet. Per questo motivo c'è un indirizzamento unico, indipendente dal fatto che si usi ethernet o altro.
Se stai usando uno degli sketch di esempio (io faccio riferimento all'esempio 2), nella parte iniziale trovi delle istruzioni di configurazione:
Definitions
Configuration file Parameter
vNet_Config.h #define VNET_SUPERNODE 0
vNet_Config.h #define VNET_MEDIA1_ENABLE 1
vNet_Config.h #define VNET_MEDIA2_ENABLE 0
vNet_Config.h #define VNET_MEDIA3_ENABLE 0
vNet_Config.h #define VNET_MEDIA4_ENABLE 0
vNet_Config.h #define VNET_MEDIA5_ENABLE 0
MaCaco_Config.h #define Json_MAP_EN 1
ethUsrCfg.h #define ETH_CLASS 1
ethUsrCfg.h const uint8_t DEFAULT_BASEIPADDRESS[] = {...}
ethUsrCfg.h const uint8_t DEFAULT_SUBMASK[] = {...}
ethUsrCfg.h const uint8_t DEFAULT_GATEWAY[] = {...}
ethUsrCfg.h const uint8_t MAC_ADDRESS[] = {...}
It's important define the proper MAC address for each board, two nodes
that share the same MAC address will not communicate. You can found a
proper MAC address on the sticker behind the board.
All'interno del file ethUsrCfg.h trovi le definizioni dell'indirizzo IPBASE e le altre configurazione di rete, il file è nella cartella della libreria vNet.
L'indirizzo IP è configurato in due parti, la base è nel file ethUsrCfg.h e consiste nell'indirizzo di base della rete (si ottiene filtrandolo per la subnet mask), ad esempio:
Se la tua configurazione di rete è 192.168.1.17 e la subnet mask 255.255.255.0, l'indirizzo IPBASE da inserire in ethUsrCfg.h è 192.168.1.0 con relativa subnetmask e gateway. L'ultimo ottetto (17) dell'indirizzo IP va definito come indirizzo del nodo all'interno dello sketch, dove trovi:
#define network_address_1 0x0011
Questo è l'indirizzo del nodo, che espresso in decimale è 17, puoi usare indifferentemente
#define network_address_1 0x0011 (esadecimale)
o
#define network_address_1 17 (decimale)
A questo punto, il nodo nel tuo sketch sarà identificato solo con il suo indirizzo vNet (0x0011 o 17dec).
Nell'intestazione dell'esempio ci sono anche altri settaggi da configurare prima della compilazione, ad esempio devi indicare quale media usare (ethernet nel tuo caso VNET_MEDIA1_ENABLE 1) e l'abilitazione dell'interfaccia JSON (#define Json_MAP_EN 1).
Fatto questo il tuo nodo dovrebbe rispondere alle richieste HTTP fornendoti lo stato dei dispositivi controllati e permettendoti di inviare comandi, oltre che accettare comandi da pulsanti hardware.
Per controllare che il tutto funzioni ci sono due passaggi da fare: il primo effettuare un ping all'indirizzo IP; il secondo è aprire il browser internet e chiamare http://INDIRIZZOIPNODO/status al quale dovresti ricevere una risposta del tipo:
({"id" : [{"hlt" : "255", "slot" : [{ "typ" : "12", "val" : "1"},{ "typ" : "12", "val" : "1"},{ "typ"
: "11", "val" : "0"},{ "typ" : "0", "val" : "0"},{ "typ" : "0", "val" : "0"},{ "typ" : "0", "val" :
"0"},{ "typ" : "0", "val" : "0"},{ "typ" : "0", "val" : "0"}]}]})
Raggiunto questo punto potrai passare all'utilizzo dell'interfaccia web di esempio (inclusa nella directory dello sketch) oppure al client Android.
Considera che l'esempio che stai utilzzando è scritto per una rete con due nodi, dove entrambi possono inviare comandi sullo stesso carico elettrico.
Saluti,
Dario.