L'applicazione descritta in questo articolo mostra come collagare la scheda di espansione SX16 al modulo OpenPicus FlyPort per realizzare un nodo con ingressi ed uscite a relè controllabile via LAN Wi-Fi.

In questo articolo vediamo come collegare una scheda di espansione ingressi/uscite SX16 ad un modulo FlyPort della serie OpenPicus, per realizzare un sistema che ci permette: di controllare tramite relè fino a sei carichi (48V/2A), di sorvegliare lo stato di 24 linee di cui 8 optoisolate e di rilevare la temperatura; tramite una semplice interfaccia WEB o una applicazione desktop il tutto su una connessione LAN Wi-Fi.
Hardware e collegamenti elettrici
Realizzare il dispositivo descritto è necessario disporre di: una scheda espansione I/O SX16B (SX16B - Scheda di espansione IN/OUT) nella versione stand alone e di un modulo FlyPort (Modulo openpicus FlyPort con interfaccia Wi-Fi 802.11 certificata b/g/n) completo di SDK Nest.
La scheda SX16B stand alone, a differenza della versione base, è equipaggiata con il blocco di alimentazione ed un micro PIC. Il PIC 16F628 montato sullo zoccolo U9 andrà rimosso in quanto il programma di controllo delle linee I/O verrà fatto girare sul micro PIC 24F256FJ106GA presente sul FlyPort.
Nella tabella che segue vengono riportati i 10 collegamenti da effettuare tra la scheda SX16 e il modulo FlyPort montato sull'SDK Nest e il modulo FlyPort da solo.
SX16B - EXPANDER IN | FlyPort su NEST | FlyPort | SEGNALE |
JP2 PIN 1 | JP9 SDA | PIN 3 | I2C SDA |
JP2 PIN 2 | JP9 SCL | PIN 1 | I2C SCL |
JP2 PIN 3 | JP2 IN5 | PIN 2 | IN CLOCK |
JP2 PIN 4 | JP1 IN2 | PIN 7 | IN DATA |
JP2 PIN 5 | JP1 IN1 | PIN 5 | IN STROBE |
JP2 PIN 6 | JP2 IN5 | PIN 2 | OUT CLOCK |
JP2 PIN 7 | JP1 IN3 | PIN 9 | OUT STROBE |
JP2 PIN 8 | JP2 IN4 | PIN 11 | OUT DATA |
JP2 PIN 9 | JP10 +5V | PIN 16 | Vcc +5V |
JP2 PIN 10 | JP10 GND | PIN 22 | GND |
Il sistema SX16 & FlyPort può essere alimentato direttamente a 5V se il FlyPort è montato sulla Nest o da 9V a 12V AC/DC (corrente 500mA) se si passa dalla SX16B (PWR JP13)
Programmare il modulo FlyPort
In questo articolo vengono forniti, nella sezione download, due firmware per il FlyPort. Il primo programma, presente nel file FLYPORT_SX16_BASE.zip, contiene le funzioni base per interfacciare il FlyPort alla SX16, il cui unico funzionamento consiste nel legge ciclicamente: ingressi, temperatura e attiva i sei relè.
Il secondo programma, contenuto nel file FLYPORT_SX16_PRO.zip, trasforma il binomio FlyPort & SX16 in un vero e proprio nodo input/output controllabile tramite interfaccia WEB (integrata nel modulo FlyPort) o socket TCP/IP. Oltre a poter monitorare lo stato dei 24 ingressi, la temperatura tramite il sensore DS1621 presente sulla SX16, e controllare i 6 relè;

tramite interfaccia WEB è possibile impostare i parametri di rete LAN del modulo FlyPort:


Per caricare uno dei due programmi nella memoria del FlyPort è necessario scaricare ed installare su un PC Windows l'IDE OpenPicus Ambiente di sviluppo IDE per il FlyPort Wi-Fi.
Successivamente decomprimere il file FLYPORT_SX16_BASE.zip o FLYPORT_SX16_PRO.zip sul proprio hard disk. Montare il FlyPort sulla scheda Nest e collegarla via USB al PC (Se richiesti i driver : CDM 2.04.16 WHQL Certified.zip). Dall'IDE cliccare OpenProject e selezionare il file .conf contenuto nella path in cui è stato precedentemente decompresso il file Zip. Se non vogliamo modificare nulla nel progetto, compilarlo cliccando sul tasto CompileProject e trasferirlo sul FlyPort cliccando sul tasto DownloadFirmware. Dalla finestra Picus - Brutus Bootloader selezionare la porta COM assegnata dal sistema operativo alla Nest e cliccare su download.

Al primo avvio il FlyPort partirà con la configurazione Wi-Fi ad-hoc con: ssid AREASX, nessuna protezione e DHCP server (192.168.1.100) che assegna un unico IP. Per riconfigurare il sistema sarà necessario collegarsi da un PC con scheda wireless Wi-Fi al nodo FlyPort & SX16, accedere tramite browser (Firefox o Chrome) all'indirizzo http://192.168.1.100 ed effettuare i settaggi necessari per accedere alla propria rete wireless.

Software di controllo desktop
Per controllare apparato così realizzato via TCP possiamo utilizzare qualsiasi tipo di linguaggio che ci consenta che ci consenta di gestire dei socket TCP/IP come per esempio: python, C, Visual Basic, PHP e così via.
L'applicazione di esempio distribuita sia in formato sorgente che in pacchetto autoinstallante, esegue poche semplici operazioni.
Una volta aperto un socket TCP/IP all'indirizzo IP del modulo FlyPort (porta tcp/ip 1470) in ascolto sulla rete, invia comandi composti da pacchetti di sei byte.
Il programma in esecuzione sul FlyPort, una volta riconosciuto ed eseguito il comando, restituisce un pacchetto di risposta composto sempre da sei byte; tale pacchetto effettua il percorso inverso rispetto al precedente fino ad arrivare all'applicazione client in VB6 che lo interpreta e ne mostra a video il risultato.

Protocollo di comunicazione con la SX16B & FlyPort
Nelle tabelle che seguono vengono riassunti i comandi da inviare e le risposte ricevute dal FlyPort collegato alla scheda SX16B.
Acquisizione della temperatura
|
|
Comando per il controllo dei relè
|
|
Acquisizione dello stato dei 24 ingressi
|
|
Link utili
Articolo: Modulo openpicus FlyPort con interfaccia Wi-Fi 802.11 certificata b/g/n
Articolo: Ambiente di sviluppo IDE per il FlyPort Wi-Fi
Download



