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.
Il collegamento effettuato per la programmazione è il seguente:
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.
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.
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 OFF |
Di seguito un breve video del funzionamento.
I have tried to run your sketch, but I receive error messages. Is it possible to publish your latest working version ?
RispondiEliminaQuesto commento è stato eliminato da un amministratore del blog.
RispondiElimina