Arduino Forum

International => Italiano => Software => Topic started by: Puso on Aug 21, 2018, 03:35 pm

Title: esp8266...mi sono arenato
Post by: Puso on Aug 21, 2018, 03:35 pm
Ciao a tutti
dunque mi sono rimesso a tentare di capire il wifi,ho la chiavetta USB con modulo 8266 sopra e ne no un altro con la schedina ad un rele integrata.

Dunque sono quasi a metà dell'opera nel senso che con i comandi AT sono riuscito a collegarmi alla rete wifi di casa(almeno credo).
Poi ho connesso il tutto ad Arduino UNO con questo schetc
Code: [Select]

void setup()
{
 Serial.begin(115200);
 mySerial.begin(115200);
 while (!Serial) {} // aspetto che abbia aperto il SerialMonitor
  Serial.println("Started");

 
  mySerial.write("AT\r\n"); //  invio un comando, è necessario inviare un ritorno a capo e una nuova riga
}

void loop()
{
 if(Serial.available())
    {
     char a=Serial.read();
     mySerial.print(a);
    }
 if(mySerial.available())
    {
     char b=mySerial.read();
     Serial.print(b);
    }
 }
 


Sembra rispondere(a volte)...poi mi sono arenato.... :smiley-fat:  :smiley-fat:

Non so piu come andare avanti,sul web c'è un gran casino in merito e persino trovare la lista dei comandi AT in italiano sembra impossibile ,e persino sul Megatopic mi rimanda  a pagine chiuse.

Non ci capisco più niente....ho capito solo che il modulo si deve collegare al mio router di casa(con SSID e PASSWORD) e fin qui credo di esserci riuscito,......poi????? :smiley-confuse:  :smiley-confuse:  :smiley-confuse:  :smiley-confuse:

Title: Re: esp8266...mi sono arenato
Post by: gpb01 on Aug 21, 2018, 03:45 pm
... poi ... ma tu che ci vuoi fare?   Perché, una volta connesso il modulo alla rete ... a che ti serve ?  Quale applicazione vuoi realizzare ?

Guglielmo
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 21, 2018, 03:50 pm
Ciao Gugliemo
per il momento vorrei solo capire come far (tramite telefono) scattare il rele del primo(quello con rele integrato) e par accendere il pin 13 su ArduinoUNO col secondo.

Ma mi sono arenato ho gia fatto vari tentativi ed a parte capire che i moduli sono funzionanti per il resto non ci salto fuori,sono giorni che guardo sul web,ma sono ad un punto fermo.
Title: Re: esp8266...mi sono arenato
Post by: gpb01 on Aug 21, 2018, 04:04 pm
Senza stare troppo ad impazzire, ti sei già studiato la libreria Webbino (https://forum.arduino.cc/index.php?topic=433776.0) di SukkoPera ? Funziona anche con gli ESP8266 e fa, con l'esempio "di base", quello che chiedi :D

Guglielmo
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 21, 2018, 04:08 pm
no quella mi è sfuggita...domani a mente fresca me la studio.
grazie per il momento.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 22, 2018, 12:10 pm
Ho dato un occhiata...poi ho rinunciato.

Il problema è che ho gia problemi con BLINK(che con un milione di spiegazioni,ci manca solo che appaia qualkuno a casa mia e lo fa lui al posto mio)...ma io non ci salto fuori.

Dunque ho seguito tutto passo passo:

- messo la chiavetta usb con esp8266 nel pc ed aperto una pagina vuota con Void e Loop vuoti e l'ho caricato.
-poi ho fatto i comandi AT di base, con CWMODE=2(per essere sicuro) e mi sono collegato al ruter di casa.
-poi ho scaricato BLINK su telefono.....poi sono andato sul sito col pc(per capire come funzionava),quindi ho fatto un prova e mi sono fatto inviare la Mail con l'autenticazione.
-Ho copiato spudoratamente lo schect in esempio
Code: [Select]


#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "AUTENTICAZIONE ARRIVATA VIA MAIL";
char ssid[] = "RUTER DI CASA";
char pass[] = "PASSWORD DEL RUTER DI CASA";

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
}


E NON FUNZIONA >:(  >:(  >:(  :'(  :'(  :'(  :'(

gia mi appare un errore nell'IDE "error: espcomm_upload_mem failed".

Qualkosa è andato meglio cambiando esempio ed utilizzando ESP su Arduino 1 tramite softserial....qualkosa il monitor seriale mi dava....un mucchio di attesa perche il modulo non si collega(eppure dovrebbe essere gia collegato tramite i precedenti comandi AT).


NON CI CAPISCO PIU NIENTE..... :smiley-fat:  :smiley-fat:  :smiley-cry:  :smiley-cry:  :smiley-cry:  :smiley-small:  :smiley-small:  :smiley-small:
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 11:00 am
Dunque ho rifatto molte prove compresi gli esempi di webbino...tutti falliti.

Però ho notato una cosa rimettendo il modulo sulla chiavetta USB ed riguardando i comandi AT, al comando
" AT*CIFSR" mi dovrebbe dire sia a quale indirizzo IP si è collegato il modulo ESP, sia l'indirizzo IP del modulo stesso,
ma entrambi gli indirizzi sono diversi da quello del mio Ruter di casa (ho controllato con il telefono anch'esso collegato al wifi di casa).

Cosa sto sbagliando???
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 23, 2018, 11:21 am
 
Code: [Select]
"error: espcomm_upload_mem failed".
Questo è un errore di upload, nel senso che l'IDE non riesce a caricare il software sull'ESP. Questo probabilmente avviene perché l'ESP non è in flash mode, in cui si entra mettendo GPIO0 a massa all'accensione. Se il tuo adattatore non ha un pulsante per fare questo, dovrai trovare un modo.

Inoltre lascia perdere i comandi AT, all'utilizzatore finale non servono a niente.

Infine nota che il Blynk che usi tu si scrive con la Y, se lo scrivi con la I sembra che parli del comune sketch di test e si crea solo una gran confusione.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 11:46 am
Ciao SukkoPera

effettivamente non vedo pulsanti di reset sul mio adattatore (cavolo ne ho comprato uno gia bello e pronto con la sua schedina già montata...e ci devo saldare un pulsante >:(  >:(  :(  :( ).

Lo stesso messaggio di errore mi appare anche quando carico uno schect vuoto(per i comandi AT)....ed anche con gli altri esempi.
In realtà prima lo schetc si carica senza errori.....poi esce l'errore.

L'impressione è che ho avuto è si carichi qualkosa (altrimenti non si caricherebbe neppure lo schetc vuoto..credo).....e se non ricarico uno schetc vuoto dopo aver caricato un qualsiasi esempio non funzionano neppure i comandi AT, per questo credo che in realtà qualkosa si carichi.

Dimenticavo sto usando ( Generic ESP8266 Module, con i parametri di default).

Scusate per il Blink al posto del Blynk.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 12:35 pm
OKKKK :D
qualkosa è successo......dunque ho stagnato un pulsantino come dicevi SukkoPera....ora qualkosa vedo.

....(ma vi sembra che devono vendere chiavette in cui ci devo saldare un pulsante io????   :smiley-eek-blue:  :smiley-eek-blue: )......
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 23, 2018, 12:53 pm
In realtà secondo me hai sbagliato acquisto. Avresti dovuto comprare un NodeMCU o un Wemos D1 Mini: sono entrambi ESP con un minimo di contorno che ne facilita l'utilizzo.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 01:10 pm
OK per il momento grazie

superato questo ostacolo ora sono pronto per impazzire ...andando avanti sul mio percorso con esp.

Ora posso chiudere le 780Mila pagine che avevo aperto sul PC.......non vorrei fare confusione, con le prossime confusioni che faccio.

A proposito una domanda....ho notato che su tutti gli esempi che ho guardato nella libreria di Webbino...l'SSD e la PASS...vengono richiesti dichiarati 2 volte.......cosa ci devo scrivere nella prima richiesta e cosa nella seconda???
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 23, 2018, 02:09 pm
Anche qua fai attenzione: SSID e SSD sono due cose diverse, tu stai parlando del primo.

In Webbino metti entrambe le volte lo stesso SSID e password.

Prima di tutto, però, ricorda di modificare webbino_config.h, trova questa parte:

Code: [Select]
#define WEBBINO_USE_WIZ5100
//~ #define WEBBINO_USE_WIZ5500
//~ #define WEBBINO_USE_ENC28J60
//~ #define WEBBINO_USE_ENC28J60_UIP
//~ #define WEBBINO_USE_ESP8266
//~ #define WEBBINO_USE_ESP8266_STANDALONE
//~ #define WEBBINO_USE_WIFI
//~ #define WEBBINO_USE_WIFI101
//~ #define WEBBINO_USE_DIGIF



e falla diventare così:

Code: [Select]
//#define WEBBINO_USE_WIZ5100
//~ #define WEBBINO_USE_WIZ5500
//~ #define WEBBINO_USE_ENC28J60
//~ #define WEBBINO_USE_ENC28J60_UIP
//~ #define WEBBINO_USE_ESP8266
#define WEBBINO_USE_ESP8266_STANDALONE
//~ #define WEBBINO_USE_WIFI
//~ #define WEBBINO_USE_WIFI101
//~ #define WEBBINO_USE_DIGIF
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 03:33 pm
cos'è..un trabocchetto????

in pratica metto la riga 1 come descrizione(//Descrizione) e metto quell'altra come definizione togliendo (  //  ).

Sto ancora resettando le mie confusioni fino ad oggi......ma appena ho fatto almeno un milione di tentativi per scoprire le differenze, mi faccio risentire.

la metto in STANDALONE(che non so cosa vuol dire ma mi fà ridere).
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 23, 2018, 03:44 pm
Diciamo che di tutte quelle righe deve essercene solo una NON commentata. Quando scarichi Webbino ti trovi quella relativo all'Ethernet Shield (WIZ5100). Tu devi commentare quella e scommentare quella relativa all'ESP standalone. Se preferisci, cancella tutte le altre e lascia solo quella.

Standalone vuol dire che c'è solo l'ESP e non un ESP collegato ad un Arduino.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 03:58 pm
ok.....capito

ma scusa,se volessi(appena ci provo), provare anche a con una Arduino UNO oppure Mega,quale dovrei usare??....
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 23, 2018, 04:12 pm
Beh, dipende da come lo vuoi mettere in rete. Se con ESP allora WEBBINO_USE_ESP8266, se con l'Ethernet Shield allora WIZ5100, se con una scheda basata su ENC28J60 allora quella, ecc... Le varie #define dovrebbero essere abbastanza autoesplicative, insomma.

In ogni caso, non te lo consiglio. A meno di particolari necessità (= molti pin), l'ESP8266 è di gran lunga più potente del 328 di Arduino Uno e funziona benissimo da solo.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 23, 2018, 04:33 pm
....allora provo in STENDALONE( :o  :P  :smiley-lol:  :smiley-lol:  :smiley-lol: )...poi magari provo da farlo comunicare con una board Arduino tramite Serial.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 11:35 am
webbino_config.h..... :smiley-confuse:  :smiley-confuse: ..NON lo trovo ho cercato in tutti gli esempi.
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 11:55 am
Lo trovi nella cartella della libreria. Sotto sketchbook\libraries\webbino insomma.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 12:17 pm
non la trovo..... :'(  :'( .....ho aggiunto la libreria webbino nell'esempio  "LedControl..di webbino".....si sono caricate 3 librerie (#include <Webbino.h> #include <webbino_config.h> #include <webbino_debug.h>).....ho aperto anche la cartella dello schetc...emi sono ritrovato dopo aver fatto un po di casino nella pagina di GitHub........ :smiley-roll-blue:  :smiley-roll-blue:  :smiley-roll-blue:  :smiley-cry:  :smiley-cry: ma tutte quelle definizioni che hai scritto sopra...non le trovo :smiley-roll-sweat:  :smiley-roll-sweat: ..ho cercato pure sotto il letto(tanto lo sò che prima o poi qualkuno mi consiglia di cercarle pure lì) :smiley-kiss:  :smiley-eek-blue:  :smiley-cry:  :smiley-cry:  :smiley-cry:
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 12:49 pm
...dunque tento di spiegarmi meglio....

dopo i successi di ieri grazie a Sukko, (aver saldato un pulsante sul mio acquisto sbagliato di adattatore USB) ed esser finalmente riuscito a caricare i primi esempi di Blynk(quello dove appare la scritta e quello dove lampeggia il led azzurro sul dispositivo ESP),......dopo un pò mi sono stancato di guardare la lucina che lampeggiava...quindi mi sono cimentato in altri esperimenti....tutti falliti.

-ho spostato il dispositivo sulla sua schedina relè originale nella speranza che facesse scattare il relè..(fallito).
-ho provato a copiare tanti esempi di Blynk..(falliti tutti)
-ho provato a copiare tanti esempi di Webbino..(falliti tutti)

 una cosa che ho notato è, che qualsiasi esempio carico,al momento della VERIFICA, mi appare lo setsso maledetto errore "exit status 1...Errore durante la compilazione per la scheda"QUALSIASI SCHEDA METTO")....e stavo solo Verificando.
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 01:40 pm
Ma Webbino come l'hai installato? Dal Library Manager? Hai scaricato lo zippone e l'hai scompattato manualmente nella cartella delle librerie?

Gli esempi vanno aperti dall'apposito menù, non vanno "copiati".
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 02:09 pm
 :o  :o ...presente come fanno gli esseri umani mentalmente sani che si cimentano con Arduino????

"...Sketch....includi libreria...Webbino".

 :smiley-confuse:  :smiley-confuse:  :smiley-roll-sweat:  :smiley-roll-sweat:  :smiley-small:  :smiley-small:
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 02:11 pm
Ma se non l'hai installata prima, come può comparirti nel menù "Includi Libreria"?
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 02:25 pm
è installata metto un esempio
Code: [Select]

/***************************************************************************
 *   This file is part of Webbino.                                         *
 *                                                                         *
 *   Copyright (C) 2012-2016 by SukkoPera                                  *
 *                                                                         *
 *   Webbino is free software: you can redistribute it and/or modify       *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation, either version 3 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   Webbino is distributed in the hope that it will be useful,            *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with Webbino. If not, see <http://www.gnu.org/licenses/>.       *
 ***************************************************************************/

#include <Webbino.h>

// Instantiate the WebServer
WebServer webserver;

// Instantiate the network interface defined in the Webbino headers
#if defined (WEBBINO_USE_ENC28J60)
#include <WebbinoInterfaces/ENC28J60.h>
NetworkInterfaceENC28J60 netint;
#elif defined (WEBBINO_USE_WIZ5100) || defined (WEBBINO_USE_WIZ5500)
#include <WebbinoInterfaces/WIZ5x00.h>
NetworkInterfaceWIZ5x00 netint;
#elif defined (WEBBINO_USE_ESP8266)
#include <WebbinoInterfaces/AllWiFi.h>

#include <SoftwareSerial.h>
SoftwareSerial swSerial (7, 8);

// Wi-Fi parameters
#define WIFI_SSID        "ssid"
#define WIFI_PASSWORD    "password"

NetworkInterfaceWiFi netint;
#elif defined (WEBBINO_USE_WIFI) || defined (WEBBINO_USE_WIFI101) || \
  defined (WEBBINO_USE_ESP8266_STANDALONE)
#include <WebbinoInterfaces/AllWiFi.h>

// Wi-Fi parameters
#define WIFI_SSID        "ssid"
#define WIFI_PASSWORD    "password"

NetworkInterfaceWiFi netint;
#elif defined (WEBBINO_USE_DIGIFI)
#include <WebServer_DigiFi.h>
NetworkInterfaceDigiFi netint;
#endif

// Pin to control, make sure this makes sense (i.e.: Use D0 on NodeMCU)!
const byte ledPin = 7;

// Pin state (True -> ON)
boolean ledState = false;


/******************************************************************************
 * PAGE FUNCTIONS                                                             *
 ******************************************************************************/

void ledToggle (HTTPRequestParser& request) {
char *param;

param = request.get_parameter (F("state"));
if (strlen (param) > 0) {
if (strcmp_P (param, PSTR ("on")) == 0) {
ledState = true;
digitalWrite (ledPin, HIGH);
} else {
ledState = false;
digitalWrite (ledPin, LOW);
}
}
}


/******************************************************************************
 * DEFINITION OF PAGES                                                        *
 ******************************************************************************/

#include "html.h"

const Page page01 PROGMEM = {index_html_name, index_html, ledToggle};

const Page* const pages[] PROGMEM = {
&page01,
NULL
};


/******************************************************************************
 * DEFINITION OF TAGS                                                         *
 ******************************************************************************/

#define REP_BUFFER_LEN 32
char replaceBuffer[REP_BUFFER_LEN];
PString pBuffer (replaceBuffer, REP_BUFFER_LEN);

PString& evaluate_onoff_checked (void *data) {
boolean st = reinterpret_cast<int> (data);
if (ledState == st) {
pBuffer.print ("checked");
}

return pBuffer;
}

PString& evaluate_webbino_version (void *data __attribute__ ((unused))) {
pBuffer.print (WEBBINO_VERSION);

return pBuffer;
}


EasyReplacementTag (tagStateOnChecked, ST_ON_CHK, evaluate_onoff_checked, true);
EasyReplacementTag (tagStateOffChecked, ST_OFF_CHK, evaluate_onoff_checked, false);
EasyReplacementTag (tagWebbinoVer, WEBBINO_VER, evaluate_webbino_version);

EasyReplacementTagArray tags[] PROGMEM = {
&tagStateOnChecked,
&tagStateOffChecked,
&tagWebbinoVer,
NULL
};


/******************************************************************************
 * MAIN STUFF                                                                 *
 ******************************************************************************/

void setup () {
Serial.begin (9600);
Serial.println (F("Webbino " WEBBINO_VERSION));

Serial.println (F("Trying to get an IP address through DHCP"));
#if defined (WEBBINO_USE_ENC28J60) || defined (WEBBINO_USE_WIZ5100) || defined (WEBBINO_USE_WIZ5500)
byte mac[6] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55};
bool ok = netint.begin (mac);
#elif defined (WEBBINO_USE_ESP8266)
swSerial.begin (9600);
bool ok = netint.begin (swSerial, WIFI_SSID, WIFI_PASSWORD);
#elif defined (WEBBINO_USE_WIFI) || defined (WEBBINO_USE_WIFI101) || \
  defined (WEBBINO_USE_ESP8266_STANDALONE)
bool ok = netint.begin (WIFI_SSID, WIFI_PASSWORD);
#elif defined (WEBBINO_USE_DIGIFI)
bool ok = netint.begin ();
#endif

if (!ok) {
Serial.println (F("Failed to get configuration from DHCP"));
while (42)
;
} else {
Serial.println (F("DHCP configuration done:"));
Serial.print (F("- IP: "));
Serial.println (netint.getIP ());
Serial.print (F("- Netmask: "));
Serial.println (netint.getNetmask ());
Serial.print (F("- Default Gateway: "));
Serial.println (netint.getGateway ());

webserver.begin (netint, pages, tags);
}

// Prepare pin
pinMode (ledPin, OUTPUT);
}

void loop () {
webserver.loop ();
}
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 02:50 pm
Boh, se non sai COME l'hai installato non posso aiutarti a capire DOVE è installato. Devi trovare una cartella che si chiama Webbino nel tuo hard disk e dentro ci troverai webbino_config.h, da modificare come detto sopra.

Gli esempi, ripeto, aprili dal menù, non copiarli a mano.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 24, 2018, 03:03 pm
ok...domani ci provo..oggi sono già abbastanza confuso.

grazie per il momento.

PS

il fatto degli umani normarlmente sani non era personale...riguarda quelli come me che vorrebbero imparare.

Domani ci riprovo grazie per ora.

Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 03:07 pm
Prova a usare il "Trova file" di Windows e vedi se trova sto benedetto webbino_config.h.

Finché non fai questa modifica, gli esempi di Webbino non compileranno perché proverà a includere la libreria Ethernet, che ovviamente su ESP non esiste.
Title: Re: esp8266...mi sono arenato
Post by: brunello22 on Aug 24, 2018, 04:00 pm
@sukko....  qual'è la libreria PString corretta ?

Ho appena messo l'IDE 1.8.6 e installato da library manager la webbino.
Da' chiaramente errore perchè manca la PString.h , ho provato a installare questa  (https://github.com/johnmccombs/arduino-libraries/tree/master/PString), ma mi da' una sfilza di errori. Allora sono andato a copiare la libreria PString che avevo nell' IDe 1.8.5 e quest'ultima non da' problemi

Dato che anche l'OP non avra' sicuramente installato detta libreria ( vedi errori che gli dà), dove reperire quella corretta ?
Title: Re: esp8266...mi sono arenato
Post by: brunello22 on Aug 24, 2018, 04:18 pm
Mi rispondo da solo, ecco il link corretto 
http://arduiniana.org/libraries/pstring/
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 24, 2018, 04:23 pm
Esatto, il download è questo: http://arduiniana.org/PString/PString3.zip (http://arduiniana.org/PString/PString3.zip).

Il link esatto era comunque presente sulla homepage di Webbino (https://github.com/SukkoPera/Webbino#dependencies).
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 25, 2018, 01:21 pm
Purtroppo mi tocca ammetterlo...non sono ancora pronto per Webbino.....oggi ho dovuto ripristinare il PC dopo i vari tentetivi con le librerie.

Però nonostatne tutti i casini che ho combinato(non si carica più lo sketch vuoto..quindi i comandi AT non rispondono più) almeno sono riuscito a fare un piccolo passo in avanti.

Tornando a Blynk (sempre con chiavetta usb)adesso riesco a vedere quando premo il bottone sul telefono....po pero mi sono accorto che se stacco la chiavetta USB e la ricollego,non vedo più niente....finche non ricarico lo Sketch.
Title: Re: esp8266...mi sono arenato
Post by: SukkoPera on Aug 25, 2018, 01:38 pm
Il bello è che tutto quello che devi fare con Webbino è modificare due righe in sto cavolo di webbino_config.h, poi fa tutto lui.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 25, 2018, 01:48 pm
scusami Sukko,ma prima devo prendere confidenza con sto cavolo di modulo ESP...comunque l'ho trovato il file....ma poi ho fatto dei casini ....e siccome non ci saltavo più fuori ho preferito fare un passo indietro........
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 26, 2018, 11:35 am
Dunque,per il momento credo di aver risolto parte dei problemi in questo modo, innanzitutto ho caricato sul modulo ESP tramite chiavetta un classico esempio Blynk.
Code: [Select]

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = " AUTETICAZIONE";
char ssid[] = "ROUTER DI CASA";
char pass[] = "PASSWORD";

BLYNK_WRITE(V1)
{
  int pinValue = param.asInt();
  Serial.print("V1 ");
  Serial.println(pinValue);
}

BLYNK_WRITE(V3)
{
  byte V_3=(param.asInt());
  Serial.print("V3 ");
  Serial.println(V_3);
}

void setup()
{
 Serial.begin(9600);
 Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
}


Poi ho caricato uno sketch differente su arduino Uno
Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial mySerial(6,5); // RX, TX
char a=Serial.read();
char b=mySerial.read();
char c=0;..........................//SEMBRA INUTILE
void setup()
{
 Serial.begin(9600);
 mySerial.begin(9600);
}

void loop()
{
 if(Serial.available())
    {
     a=Serial.read();
     mySerial.print(a);
    }
 if(mySerial.available())
    {
     b=mySerial.read();
     Serial.print(b,DEC);
   
    }
    c=b;
if(c,DEC==864932481310){Serial.println("ciao...belli");}........//QUI NON DA NIENTE
 
  }
 


I due dispositivi comunicano almeno sembra,il problema è che a parte leggere sul SerialMonitor, non riesco ad utilizzare il dato.

Ho provato ad aggiungere la "char c"si leggendo in caratteri,sia in decimale, insomma facendo un pò di tentativi, ma niente da fare.

Come faccio a sfruttare la variabile char b,oltre che leggerla sul monitor?
Title: Re: esp8266...mi sono arenato
Post by: Patrick_M on Aug 26, 2018, 12:37 pm
non ho capito il senso di
Code: [Select]

c=b;


e comunque un char non può avere un valore di 5 byte
Code: [Select]

c==864932481310

dal reference:
"The char datatype is a signed type, meaning that it encodes numbers from -128 to 127. For an unsigned, one-byte (8 bit) data type, use the byte data type."
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 26, 2018, 12:42 pm
in pratica vorrei sfruttare il valore che leggo sulla char b .

il senso di c=b..era la speranza di copiare il valore di b su un altra variabile da poter poi utilizzare per fare altre cose.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 26, 2018, 01:22 pm
non ho capito :(  :(  :smiley-confuse:  :smiley-confuse:  :'(  :'(
Title: Re: esp8266...mi sono arenato
Post by: Patrick_M on Aug 26, 2018, 03:22 pm
allora:
Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial mySerial(6,5); // RX, TX
char a=Serial.read();
char b=mySerial.read();
char c=0;..........................//SEMBRA INUTILE
void setup()


qui sei all'inizio quindi le seriali non sono ancora inizializzate per cui
Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial mySerial(6,5); // RX, TX
char a;  // la serial non esiste ancora
char b;
char c=0;..........................//SEMBRA INUTILE  // e lo è
void setup()


poi, questo cosa ti stampa?
Code: [Select]

 if(mySerial.available())
    {
     b=mySerial.read();
     Serial.print(b,DEC);
   
    }


e quindi quando fai c=b
c avrà lo stesso contenuto che ti stampava prima.....
ma per ogni azione successiva puoi benissimo usare b per cui
Code: [Select]

if(b=="QualsiasiValoreValidoPerChar"){Serial.println("ciao...belli");}........//QUI NON DA NIENTE
 
  }



Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 27, 2018, 06:11 pm
Serial.print (b,DEC)..lo avevo messo perche in char mi scrive il valore V1(tasto virtuale di Blynk, ma lo segna verde e non compila), quindi ho provati a mettere i decimali per farlo compilare , infatti compila.

La char c, lo sapevo che era inutile..era giusto per tentare un ultima arrampicata sui vetri.

Il problema è che a anche scritto " if(b=="QualsiasiValoreValidoPerChar"){Serial.println("ciao...belli");} "......non succede nulla.
Title: Re: esp8266...mi sono arenato
Post by: Patrick_M on Aug 27, 2018, 11:00 pm
si ma che valore ti da
Serial.print (b,DEC)  ??
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 28, 2018, 05:41 pm
con V1 a 0 da 864932481310

con V1 a 1 da 864932491310

se metto un println me li scorpor in decine

86
49
32
48\49 (questo è il numero che cambia tra acceso e spento dal telefono)
13
10

ma il risultato non cambia, niente scritta"ciao belli"
Title: Re: esp8266...mi sono arenato
Post by: Patrick_M on Aug 28, 2018, 07:25 pm
non ti sei accorto che non è UN char ma SEI char???? E che quindi o li concateni un un'altra variabile e poi controlli cosa c'è scritto...oppure analizzi esclusivamente se ricevi 48 o 49
praticamente se
if(b=="QualsiasiValoreValidoPerChar")
lo fai diventare
if(b=='48')
o 49 a seconda di cosa vuoi interpretare vedrai che funziona
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 28, 2018, 08:49 pm
Patrick_M ....SEI UN GRANDE

effettivamente qualke dubbio mi era venuto mettendo il PrintLN, ma non riuscivo ancora a saltarci fuori.

Ora effettivamente "ciao belli" mi appare tutte le volte che appare  49, quindi 1volta se il tasto telefono è 0,
2 volte se il tasto telefono è 1. (infatti la seconda cifra è sempre 49 indipendentemente dallo stato del tasto telefono).

Cosa mi consigli per concatenare le varie char????...al momento mi viene in mente un array, ma mi sembra troppo architettonico per questa cosa.

Grazie comunque per avermi aiutato.
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 30, 2018, 07:06 pm
Concatenare la Char, stavo guardando sulle referenze Arduino.cc  ho trovato :

concat oppure string...no e che al momento c'ho capito molto......ma almeno e questa la strada giusta??
Title: Re: esp8266...mi sono arenato
Post by: Puso on Aug 31, 2018, 09:31 pm
non so come si fa a cambiare il titolo del Topic....ma RISOLTO.
posto lo sketch per i posteri
Code: [Select]

SoftwareSerial mySerial(6,5); // RX, TX
char a=0;
char b=0;
String B="";

void setup()
{
 Serial.begin(9600);
 mySerial.begin(9600);
}

void loop()
{
 if(Serial.available())
    {
     a=Serial.read();
     mySerial.print(a);     
    }
  if(mySerial.available())
    {           
     B="";     
     while(mySerial.available())
          {
           b=mySerial.read();
           B.concat(b);
           Serial.println(B);
           delay(10);
           if(B=="V_11"){Serial.println("ciao belli");}
          }         
     }
}


ora CONCATENATE le Char che arrivano dal modulo ESP posso andare avanti.
 ;D  ;D  ;D  ;D
Title: Re: esp8266...mi sono arenato
Post by: Puso on Sep 01, 2018, 02:37 pm
 :o  :o  :smiley-confuse:  :smiley-confuse:

Mi sono accorto di un piccolo problema,

 ora è vero che riesco a inviare dal telefono dei comandi virtuali che ESP interpreta e scrive sul monitor, poi con arduino leggo,concateno e di conseguenza posso ad esempio cambiare stato ai pin.

Ma per fare il contrario,cioè scrivere una cosa qualsiasi e leggerlo dal telefono,come faccio?
Title: Re: esp8266...mi sono arenato
Post by: Puso on Sep 02, 2018, 01:47 pm
ho provato a caricare questo su ESP
Code: [Select]

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "codide blynk";
char ssid[] = "ruter di casa";
char pass[] = "password";

boolean Print=0;
char a=0;
char b=0;
String B="";

void LETTURE()
{
 if(Serial.read())
   {
    Print=1;           
    B="";     
    while(Serial.read())
         {
          b=Serial.read();
          B.concat(b);
          delay(10);
         }
   }   
 if(! Serial.read())
   {
    if(Print==1)
      {
       Blynk.virtualWrite(V0, B);
       Blynk.virtualWrite(V1, B);
       Serial.println(B);       
       Print=0;         
      }       
   }

BLYNK_WRITE(V0)
{
  int pinValue = param.asInt();
  Serial.println(pinValue);
}
BLYNK_WRITE(V1)
{
  Blynk.virtualWrite(V1, B);
}
BLYNK_READ(V2)
{
  Blynk.virtualWrite(V2, B);
}
void setup()
{
 Serial.begin(9600);
 Blynk.begin(auth,ssid,pass);
}

void loop()

  LETTURE();
  Blynk.run();
}



...i BLYNK_WRITE (V__)ed i BLYNK_READ(V__) sono per provare.



e questo su Arduino
Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial mySerial(6,5); // RX, TX
SoftwareSerial mySerial1(11,10); // RX, TX
boolean Print=0;
boolean Write=0;
char a=0;
char b=0;
String B="";
void setup()
{
 Serial.begin(9600);
 mySerial.begin(9600);
 mySerial1.begin(9600);
}
void TRASMETTI()
{
 if(Write==0)
   {   
    delay(1000);
    mySerial1.write("1");
    delay(1000);
    mySerial1.print("1");
    Write=1;
   }     
   
}
void RICEVI()
{
 if(mySerial.available())
   {
    Print=1;           
    B="";     
    while(mySerial.available())
         {
          b=mySerial.read();
          B.concat(b);
          delay(10);
         }
   }   
 if(! mySerial.available())
   {
    if(Print==1)
      {
       Serial.println(B);       
       if(B=="V0 0"){Serial.println("SPENTO");}
       if(B=="V0 1"){Serial.println("ACCESO");}

       if(B=="V1 1"){Serial.println("AVANTI");}
       if(B=="V2 1"){Serial.println("DESTRA");}
       if(B=="V3 1"){Serial.println("INDIETRO");}
       if(B=="V4 1"){Serial.println("SINISTRA");}
       Print=0;           
      }
   }
}
void loop()
{
TRASMETTI(); 
RICEVI();
}




Oltr che no trasmettere niente mi sono accorto che se metto nel loop il void"TRASMETTI", non funziona più neanche il void "RICEVI".
Title: Re: esp8266...mi sono arenato
Post by: Puso on Sep 03, 2018, 07:25 pm
Avete qualke consiglio????....non ci salto fuori con sto maledetto modulino ESP ::)  ::)  :smiley-roll-sweat:  :smiley-roll-sweat:  :smiley-cry:  :smiley-cry:  :smiley-cry:  :smiley-cry:  :smiley-cry:
Title: Re: esp8266...mi sono arenato
Post by: Puso on Sep 06, 2018, 07:19 pm
Per SuKKoPera

ciao abbandonato blynk perche non ci salto fuori sto tentando con Webbino,facendo ricerche sono incappato in www.webbino.it  volevo sapere se è tuo.

Altra cosa ho letto il megatopic Webbino ma non ci ho capito molto(da hobbysta con la 3 media inferiore) ...potresti farmi un piccolo esempio(SEMPLICE) per cambiare stato ad un PIN su arduino1 o Mega usando il telefono(con quale APP???)...... e viceversa leggere lo stato di un altro PIN sempre sul telefono???? (ovviamente utilizzando il ruter di casa).

Almeno per avere uno spunto da cui partire.