Arduino Souliss e ESP8266

ESP8266: Primo test come gateway.

Con pochi euro ho acquistato sul sito di www.dx.com, due pezzi di ESP8266 da programmare con il framework di Souliss , nello specifico il modello scelto è il ESP-01.

ESP8266
ESP-01

Il collegamento effettuato per la programmazione è il seguente:

Prog_ESP8266

Da tener ben presente che il chip funziona a 3,3V e non a 5V come per Arduino, il pin di GPIO0 durante la programmazione viene collegato a GND, successivamente, nel mio test, viene collegato a un led con opportuna resistenza, per verificarne il funzionamento. Nel mio programmatore, un CP2102, il filo verde con nome RES in realtà è il 3,3V che serve ad alimentare il ESP8266, il Jumper nel caso della foto di seguito è nella posizione di accensione del LED, spostandolo tutto a destra viene messo GPIO0 a GND e quindi nello stato di programmazione.

ESP8266_zoom

 

In questa prova il ESP8266 viene programmato come gateway, essendo l’unico nodo sulla rete di test, e dopo averne accertato il funzionamento modificherò opportunamente il software  per lavorare come peer sulla mia rete souliss.

Software Arduino Souliss e ESP8266

Il software caricato è il seguente:


/**************************************************************************
    Souliss - ESP8266 test come gateway

 Questo è l'esempio per il controllo un LED tramite un pulsante o l'applicazione
 Android SoulissApp (scaricabile da Play Store). 

 Eseguire questo codice su ESP8266 come WiFi SoC.

***************************************************************************/

// Configurare il framework
#include "bconf/MCU_ESP8266.h"
#include "conf/Gateway.h"
#include "conf/IPBroadcast.h"

// **** Definisco il nome e la password della rete WiFi a cui mi connetto ****
#define WIFICONF_INSKETCH
#define WiFi_SSID "xxxxxxx" //scrivi tra virgolette il nome della tua rete
#define WiFi_Password "xxxxxxxx" //scrivi tra virgolette la password della tua rete 

// Includere codice del framework e librerie
#include <ESP8266WiFi.h>
#include <EEPROM.h>
#include "Souliss.h"

// Questo identifica il numero della logica LED
#define MYLEDLOGIC 0 

// Definire la configurazione di rete
// in base alle impostazioni del router
uint8_t ip_address[4] = {192, 168, 2, 10};
uint8_t subnet_mask[4] = {255, 255, 255, 0};
uint8_t ip_gateway[4] = {192, 168, 2, 1};
#define Gateway_address 10
#define myvNet_address ip_address[3]
#define myvNet_subnet 0xFF00
#define myvNet_supern Gateway_address

// **** Define here the right pin for your ESP module ****
#define OUTPUTPIN 0

void setup()
{
 Initialize();

 // Impostare i parametri di rete
 Souliss_SetIPAddress(ip_address, subnet_mask, ip_gateway);
 SetAsGateway(myvNet_address); 

 // Definire una semplice logica di luce a LED
 Set_SimpleLight(MYLEDLOGIC); 

 pinMode(OUTPUTPIN, OUTPUT); // Pin alimentazione LED
}

void loop()
{
 // Qui iniziamo il ciclo
 EXECUTEFAST() {
 UPDATEFAST(); 

 // Elaboriamo la logica e relativo ingresso
 // e uscita ogni 50 millisecondi
 FAST_50ms() {
 // Set del LED come da comando
 Logic_SimpleLight(MYLEDLOGIC);
 DigOut(OUTPUTPIN, Souliss_T1n_Coil, MYLEDLOGIC);
 } 

 // Qui si gestisce la comunicazione
 FAST_GatewayComms(); 

 }
} 

Di seguito la figura illustra il messaggio finale della compilazione ed in basso a destra i parametri settati relativi alla tipologia di chip usato.

Comp_ESP8266
Compilazione ESP8266

Le figure di seguito illustrano il funzionamento relativo al tipico T11 con uscita sul GPIO0, quella di sinistra in stato di ON e a destra lo stato di OFF

ESP8266_ON
ESP8266 ON
ESP8266_OFF
ESP8266 OFF

 

 

 

 

Inserisco  un breve video del funzionamento.

Lascia un commento

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

This blog is kept spam free by WP-SpamFree.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.