Domotica Open Source – Souliss – Supernodo con Freakduino Chibi v1.1 e scheda ethernet ENC28J60

Ad oggi Souliss non prevede “Chibi + scheda ENC28J60” tra le configurazioni di base facilmente impostabili tramite il file di configurazione veloce “QuickCfg”.

Poco male, disabilitiamolo ed impostiamo manualmente tutti i file di configurazione di Souliss.

Prima di tutto assicuriamoci che la scheda ENC28J60 abbinata ad Arduino funzioni correttamente. Infatti, tolta la sua funzionalita wireless onboard, Chibi diventa tale e quale ad Arduino, quello classico

Per iniziare collego la scheda ethernet ENC28J60 a Chibi in questo modo (stessi collegamenti che faremmo sulla scheda Arduino originale):

<pre>—————————

Collegamenti modulo Ethernet HR911105A

basato su chip Microchip ENC28J60

SCK: pin 13 di Arduino

SO: pin 12 di Arduino

SI: pin 11 di Arduino

CS: pin 10 di Arduino

RESET: pin reset di Arduino

—————————</pre>

Test di Souliss con “Arduino + ENC28J60 Ethernet Shield”

Carico uno sketch tra quelli proposti tra gli esempi: “Souliss_ex01_HelloWorld_eth1” andrà benissimo.

Prima, però, è necessaria una piccola modifica al file Souliss/conf/QuickCfg.h

Selezioniamo la Board Type 0x05, così:

define    QC_BOARDTYPE            0x05

Poi colleghiamo un led al pin 9 (anche senza resistenza), ed un pulsante al pin 2  (è necessaria la resistenza di pulldown)

A questo punto carichiamo lo sketch ed eseguiamo il test.

Ho già parlato di questo test e della configurazione dell’applicazione Android in questo articolo: http://www.xorse.it/domotica-partiamo-con-souliss.html

Test di Souliss con “Chibi + ENC28J60 Ethernet Shield”

Adesso, per testare il funzionamento di Souliss sulle schede Chibi, ho bisogno di caricare souliss su entrambe le mie Chibi board.

Una delle due schede, dovrà funzionare da supernodo, cioè il nodo collegato sia alla rete LAN che alla rete formata dai moduli radio 2.4 GHz (non wifi) di Chibi.

Per fare in modo che tutto funzioni sarà necessario, come detto in premessa, configurare manualmente il sistema, infatti la configurazione che mi accingo a provare non è prevista direttamente tramite il file “Quick Configuration”.
Ad uno ad uno apro i vari file di configurazione e modifico le impostazioni:

file “conf/QuickCfg.h”
#define    QC_ENABLE            0x00

file “conf/ethUsrCfg.h”
# define ETH_ENC28J60 1

file “conf/hwBoards.h”
# define BOARD_MODEL 0x01
# define COMMS_MODEL 0x02

file  “conf/vNetCfg.h”
# define VNET_SUPERNODE 1
# define VNET_MEDIA1_ENABLE 1 // probabilmente non serve modificare, è già il valore di default
# define VNET_MEDIA2_ENABLE 1 // probabilmente non serve modificare, è già il valore di default

le modifiche seguenti sono da prendere “con le pinze”, provare a fare piccole variazioni in caso di instabilità del supernodo:

file “conf/chibiUsrCfg.h”
#define CHB_RX_POLLING_MODE  1 (dalla vers. 4.4.5 non è possibile modificare, perchè l’IDE restituisce errore di compilazione)
#define CHB_MAX_PAYLOAD   100
#define CHB_MAX_FRAME_RETRIES   10
#define CHB_MAX_CSMA_RETRIES    8

Fatte queste piccole modifiche, siamo pronti per caricare lo sketch “Souliss_ex02_FiatLux_eth1” e verificare che tutto funzioni correttamente.
Prima di fare l’upload ricondiamoci di selezionare il tipo di arduino corretto per la Chibi: “Arduino Pro or Pro Mini, 3.3V, 8 MHz, ATMega328”.

Step 2:
Per verificare che anche l’interfaccia radio della Chibi funzioni a dovere carichiamo lo sketch “Souliss_ex02_FiatLux_eth2”, predisponiamo due pulsanti (istruzioni all’interno dello sketch) e, dopo aver letto le righe che seguono, eseguiamo l’upload.

ATTENZIONE:

  1. Gli indirizzi dei nodi devono essere assegnati rispettando dei prefissi, che dipendono dal tipo di comunicazione usata:
    -da 0x0000 a 0x65FF se il nodo comunica via ethernet;
    -da 0x6500 a 0xAAFF se il nodo comunica via radio 2.4GHz;
  2. I nodi presenti nel sistema Souliss devono essere dichiarati all’interno del supernodo

Infatti i nomi e l’indirizzamento delle interfacce di comunicazione dei nodi, all’interno degli sketch, sono stati dichiarati in questo modo:
#define network_address_1 0x0011
#define network_chibi_address1 0x6511
#define network_chibi_address_2 0x6512

Sketch Supernodo: Souliss_ex02_FiatLux_eth1_CHIBI.zip (406)

Sketch Nodo: Souliss_ex02_FiatLux_eth2_CHIBI.zip (371)

Quanto scritto e proposto è stato accuratamente testato ma nonostante ciò non escludo la presenza di eventuali errori. Saranno graditi commenti e consigli.

One Reply to “Domotica Open Source – Souliss – Supernodo con Freakduino Chibi v1.1 e scheda ethernet ENC28J60”

  1. Ciao Antonino,

    in effetti non risulta tra le configurazioni disponibili e non è mai stata ufficialmente testata.

    Però questo tuo articolo è di spunto per aggiungere nelle prossime versioni la configurazione diretta attraverso QuickCfg.h

    Grazie mille!

    Saluti,
    Dario.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

wp-puzzle.com logo