Posts: 50
Threads: 9
Joined: Nov 2016
Reputation:
0
ok appena torno a casa settimana prox... non mi hanno permesso di portare Arduino in vacanza :-)
Posts: 50
Threads: 9
Joined: Nov 2016
Reputation:
0
11-21-2016, 04:58 PM
(This post was last modified: 11-21-2016, 04:59 PM by migreco.)
Ecco lo sketch che avevo provato.
Per prova avevo preparato uno sketch che mi incrementava un contatore sulla app ogni qual volta si apriva uno sportello ed inoltre inseriva una riga su un db MySql con il timestamps...e volevo aggiungere una notifica push....
// include the library code
#include <LiquidCrystal.h>
/**********************************************************/
int x=0;
int count=0;
int val=0;
int BUTTON=7;
int lettura=0;
int lastlettura=0;
String Msg = "";
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(4, 6, 10, 11, 12, 13);
/*********************************************************/
void setup()
{
lcd.begin(16, 2); // set up the LCD's number of columns and rows:
pinMode(BUTTON,INPUT);
Serial.begin(57600); // Inizializzazione della porta seriale (57600 è la velocità di comunicazione
Serial.println("");
// Abilita la risposta in tempo reale
Serial.println("$PING 200");
Serial.println("$P:D!228;/{^*8L15:0;&L25:0;_T:Aperture;}");
}
/*********************************************************/
void loop()
{
val=digitalRead(BUTTON);
lettura=val;
if ((val == HIGH) and (lettura!=lastlettura) ) {
x=x+1;
lcd.setCursor(1,0); // set the cursor to column 1, line 0
lcd.print("Ha aperto :"); // Print a message to the LCD.
lcd.setCursor(1,1);
lcd.print(x);
lcd.setCursor(6,1);
lcd.print("volte");
int d1=(x/10)%10;
int d2=x%10;
Serial.println(d1);
Serial.println(d2);
Serial.println(x);
Serial.print("#L1"); Serial.println(d1, DEC);
Serial.print("#L2"); Serial.println(d2, DEC);
Serial.println("\n$TCP1:CA:nome.altervista.org:80:GET /inserimento.php?azione=miupanel HTTP/1.1\\r\\nHost: nome.altervista.org\\r\\n\\r\\n");
Serial.print("$CLOUD SEND:PUSH:apertura effttuata ");
lastlettura=lettura;
delay(250);
}
else {
lcd.setCursor(1,0); // set the cursor to column 15, line 0
lcd.print("Ha aperto :"); // Print a message to the LCD.
lcd.setCursor(1,1);
lcd.print(x);
lcd.setCursor(6,1);
lcd.print("volte");
lastlettura=lettura;
delay(250);
}
}
grazie mille
Mic
Posts: 140
Threads: 19
Joined: Apr 2016
Reputation:
4
11-21-2016, 08:02 PM
(This post was last modified: 11-23-2016, 12:45 PM by Technomaker.)
Ciao , ho dato un'occhiata veloce da cellulare , intanto hai scritto Serial.print anziché Serial.println e poi puoi provare a mettere l'istruzione per la notifica prima di x=x+1.
Intanto mi confermi che il resto dello sketch funziona?
Cosa stai usando arduino uno e miupanel?
Posts: 50
Threads: 9
Joined: Nov 2016
Reputation:
0
Si arduino uno + miupanel.... il resto funziona....
Ora provo con Serial.println....
Ti aggiorno
Posts: 140
Threads: 19
Joined: Apr 2016
Reputation:
4
Inoltre ti consiglio di aggiungere qualche delay perché deve fare troppe cose arduino quando il valore è HIGH e rischi che non tutte le istruzioni vengano eseguite.
Posts: 50
Threads: 9
Joined: Nov 2016
Reputation:
0
provato sia con Serial.println che spostando la notifica prima di x=x+1
nessuna notifica.... :-(
Posts: 140
Threads: 19
Joined: Apr 2016
Reputation:
4
Hai controllato dal monitor seriale miupanel se quando lo stato cambia appare la voce $cloud?