ESP8266 (electrodragon relay board) e Sensore tapparella a rotella - CONSIGLI PROGETTAZIONE

621 views
Skip to first unread message

Livio Merola

unread,
Feb 1, 2017, 9:32:27 AM2/1/17
to souliss-it
ciao Ragazzi

rieccomi a tediarvi con i mie dubbi...

premesso che ho installato souliss su queste schede electrodragon per controllare le tapparelle e grazie ai vostri preziosissimi consigli il sistema è in piedi e funzionante da più di un anno:



adesso voglio espandere il sistema collegando alla scheda electrodragon il sensore per atpparella seguente.

Il sensore ha un contatto NC (morsetto 1 e 2 ) che si apre se la tapparella viene alzata/abbassata  e un contatto per relay (sempre NC) che non ho capito a cosa serve (morsetto 3 e 4).

La mia idea è quella di collegare la 5v ad un morsetto (il n. 1)  e collegare l'altro morsetto, il n. 2 ad un pin della scheda electrodragon dichiarato come INPUT che sarà sempre HIGH se la tapparella è ferma e leggere lo stato; se lo stato è LOW aumento una variabile intera che se raggiunge il numero 3 (legge per tre volte il pin in LOW) fa scattare l'allarme;

1) il problema è che essendo un sistema a camme all'avvio lo stato potrebbe essere sia LOW che HIGH, dipende dalla posizione della camma (l'immagine allegata vi può far capire meglio di cosa stò parlando), come posso ovviare al problema?
2) vorrei che l'allarme scattasse solamente se il tipico 41 è attivo e che facesse scattare una sirena collegata ad un'altra scheda electrodragon distante,
3) a cosa serve un contatto per relay NC???
4) che controindicazioni vedete in un sistema del genere
5) se avete suggerimenti per i collegamenti elettrici sensore/scheda electrodragon/esp
vi chiedo di suggerirmi la strada con souliss per poter inviare il comando ad un nodo e come fare in modo che il nodo riceva il comando.

grazie per i consigli preziosi che mi darete...

Livio

20170201_144102.jpg

Lorenzo Giordano

unread,
Feb 1, 2017, 1:45:13 PM2/1/17
to souliss-it

1. Non ho capito cosa intendi con dipende dalla posizione delle camme. Significa che cambia posizione quando qualcuno tenta di aprire le tapparelle indipendentemente dal suo stato iniziale? O cos'altro?

2. Penso sia la funzione tipica dell' ANTITHIEF quella che chiedi.

3. Il contatto NC 3-4 è il tamper ovvero un contatto che si apre se qualcuno tenta di manomettere il dispositivo e serve per azionare l'allarme, anche questo lo potresti collegare ad un ingresso

4. Prima bisogna capire meglio la 1, comunque potresti ricevere falsi allarmi nello start-up

5. Usa il tipico T41 e T42 base così come da esempi ...magari da modificare in base alla risposta 1.

livio....@gmail.com

unread,
Feb 1, 2017, 1:55:37 PM2/1/17
to souli...@googlegroups.com
Ciao Lorenzo

Per rispondere alla domanda relativa al punto 1 ti spiego come è fatto il sensore

All'interno c'è un microswitch che viene attivato e disattivato quando la rotella ruota...La fase in cui il contatto e chiuso (High) è più lunga di quella in cui è aperto (LOW) ma non è escluso che all'avvio il contatto sia aperto (LOW) pertanto non posso mettere a priori nel ciclo if miopin =low fai scattare allarme perché la condizione che la tapparella si stia muovendo (chiudendo o aprendo) potrebbe non essere vera...

Dovrei in qualche modo settare una variabile IMPULSO =0 e aumentarla solo se lo stato precedente cambia...Ma essendo la fase HIGH più lunga della LOW come posso fare?



--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/souliss-it/N8wG80Px4wE/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+...@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/67eb3f96-769b-41c0-96fb-df6d80cc6038%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

-- Inviato dal mio cellulare Android con K-@ Mail.

Lorenzo Giordano

unread,
Feb 1, 2017, 2:59:35 PM2/1/17
to souli...@googlegroups.com
Puoi memorizzare lo stato della rotella prima di inserire l allarme e far azionare l allarme se lo stato cambia... Tipo
If miostato != statoattuale .... Fai scattare allarme.

miostato=statoattuale

Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+unsubscribe@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/67eb3f96-769b-41c0-96fb-df6d80cc6038%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

-- Inviato dal mio cellulare Android con K-@ Mail.

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

Livio Merola

unread,
Feb 2, 2017, 4:24:13 AM2/2/17
to souliss-it
ciao Lorenzo e ovviamente ciao a tutti gli altri

premesso che il codice seguente provato su una Arduino 1 funziona:


int StatoPRIMA=0;
int StatoAttuale=0;
int Impulsi=0;
void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}
void loop() {
  StatoAttuale = digitalRead(2);
  if (StatoAttuale!= StatoPRIMA){
    Impulsi= Impulsi+1;
  }
  if (Impulsi>1){
    Serial.println(Impulsi);
    Impulsi=0;
  }
  StatoPRIMA=StatoAttuale;
}


il difficile adesso è tradurlo in Souliss-ese

Premesso che devo utilizzare un pin degli ESP che già sto utilizzando per le tapparelle e premesso che nel Gateway ho già implementato un T42 che al momento è inutilizzato, le domande sono le seguenti:

1) il t42 del gateway è solo SOFTWARE, serve solamente per impostare le variabili ARMED, NOT ARMED e fare il RESET, corretto?

2) come posso interrogare lo stato del t42 per sapere se lo stato è ARMED o NOT ARMED?

3) sul nodo PEER va impostato qualche tipico e se si quale?

4) come traduco il Serial.println(Impulsi) che faccio con il codice
  if (Impulsi>1){
    Serial.println(Impulsi);
    Impulsi=0;
  }
in "Manda il comando al nodo XXX, chiudi il relay e fai scattare la sirena"?

5) il comandi inseriti nel void loop del codice arduino uno, li metto in una fast del peer ma quanto veloce? non vorrei rischiare né di perdere gli impulsi né di intasare il sistema.

PS dove trovo l'elenco delle fast ammesse (fast_510, fast_2110...)?

Appena mi darete qualche dritta proverò a buttare giù del codice
Grazie a tutti in anticipo
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+...@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/67eb3f96-769b-41c0-96fb-df6d80cc6038%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

-- Inviato dal mio cellulare Android con K-@ Mail.

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+...@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Tapparella_1_WEBCONFIG_106.ino
Gateway_ESP_WEBCONFIG.ino

Giuseppe P.

unread,
Feb 2, 2017, 6:00:23 AM2/2/17
to souliss-it
Io utilizzerei altri sensori per l'allarme sulle tapparelle. Quelli da te postati sembrano più indicati per usarli come fine corsa. Oppure per stabilire se la tapparella è aperta oppure no.

Livio Merola

unread,
Feb 2, 2017, 6:21:19 AM2/2/17
to souliss-it
Giuseppe

li vendono come sensori tapparelle e non vanno bene come fine corsa ne tanto meno per stabilire se la tapparella è aperta o meno, l'impulso viene dato alla stessa maniera si in apertura che in chiusura.

ovviamente non sono gli unici sensori, ma li vorrei mettere in aggiunta a quelli esistenti di un allarme NON fatto in casa


Il giorno giovedì 2 febbraio 2017 12:00:23 UTC+1, Giuseppe P. ha scritto:

Lorenzo Giordano

unread,
Feb 2, 2017, 7:05:18 AM2/2/17
to souliss-it
Premesso che non ho ancora usato il T41 e T42 ma dalla wiki mi sembra di capire:

1) No serve anche per inserire lo stato di Allarme o disattivarLo :  Souliss_T4n_Alarm; Souliss_T4n_ReArm

2) probabilmente basta leggere if mOutput (ANTITHEFT)== Souliss_T4n_Antitheft (Armato) o Souliss_T4n_NoAntitheft(No Armato)

3) IL T41 è per il Gateway, il T42 per il Peer vanno impostati con lo stesso slot

4) vedi punto 1  ovvero
   
if (Impulsi>1){
    mInput (ANTITHEFT) = Souliss_T4n_Alarm
    Impulsi=0;

PS: Non so se quanto scritto funziona ma io farei così ...guarda anche gli esempi, ce ne sono 2 sotto wifi

Livio Merola

unread,
Feb 4, 2017, 4:54:43 PM2/4/17
to souliss-it
ciao Lorenzo

ecco in allegato i miei file...NON so se sono funzionanti o meno poiché ho un problema Hardware...o meglio il mio problema è mentale e cognitivo...non capisco un H di circuiti.

premesso che ho messo su il codice che trovate in allegato, ho collegato l'ingresso uno del sensore rotella a 3,3v , l'ingresso 2 del sensore rotella a gpio15 della schedina in oggetto
ma appena alimento il tutto la schedina non risponde ne dai comandi fisici (i pulsanti a muro) ne si collega al wifi...

visto che i pin 3-4, 12 e 13 sono impegnati per i pulsanti e i relè, che pin posso usare e come collego il sensore????
Posso usare il pin ADC?
A quale numero corrisponde (3-4-5-1????)
devo utilizzare qualche resistenza per far leggere il valore in modo corretto?
in souliss come lo dichiaro?


A livello di codice è giusto mettere il mio codice in una fast 510 o sarebbe più corretto inserirlo nel loop fuori dalle fast?



Vi ringrazio per l'aiuto.

Livio
Gateway_ESP_WEBCONFIG.ino
Tapparella_1_WEBCONFIG_106.ino

Lorenzo Giordano

unread,
Feb 5, 2017, 3:03:23 AM2/5/17
to souli...@googlegroups.com
Ora non posso guardare con il cell i tuoi sketch ma ti dico subito che gpio0-2-15 non devono essere usati come input. Li più usare casomai come output altrimenti allo startup ti si blocca la ESP.
Prova intanto a cambiare gpio...

Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

livio....@gmail.com

unread,
Feb 5, 2017, 1:08:04 PM2/5/17
to souli...@googlegroups.com
Ciao Lorenzo

Vi aggiorno..

Ho cambiato i pin impostando il pin 1(tx) come output e il pin 3 (rx) come input
Ho imposto il pin 1 HIGH alla'avvio,

Hi spostato tutta la procedura di controllo fuori dalla fast 510 perché dentro la fast mi dava problemi di aggiornamento dello stato del nodo anche se il tutto funzionava in parte.
Il t41 del gateway mi segnalava l'allarme ma solamente se staccavo fisicamente il filo dal pin 3, con la rotella non funzionava.

Adesso che la procedura di controllo della rotella è fuori dalla fast non ho problemi di aggiornamento dello stato dei nodi ma ho tutti i nodi in allarme(prima era in allarme solamente il gateway).


Dove sbaglio?

Stasera quando torno a casa vi invio il codice del nodo, quello del gateway non è cambiato



Per altre opzioni visita https://groups.google.com/d/optout.

Lorenzo Giordano

unread,
Feb 6, 2017, 7:20:21 AM2/6/17
to souliss-it
Livio, strano che con fast 510 fosse troppo lento.... mettili in una fast 50, non lasciarli nel loop perché tutto il sistema souliss funziona con questi timer altrimenti sballi tutto sugli altri tipici.

Secondo lo schema che hai postato il pin 1 è RX e il pin 3 è GPIO4, mentre dovresti anche avere al pin 6 il GPIO5 libero (se non l'hai già usato).
Sia GPIO4 che GPIO 5 hanno già resistenza di pull-down da 10K nella scheda.
Usa GPIO4 (pin3) e GPIO5 (pin6) che è meglio , al limite se ne hai uno solo libero usa il GPIO15 per l'output.

Verifica con il tester se hai i 3,3V o 0 sul pin3 quando si ruota la rotella, se SI potrebbe trattarsi di disturbi quindi mettici una resistenza di pull-down da 10K (che in parallelo a quella interna dovrebbe fare 5K che secondo me è meglio per ESP)
Se NO verifica bene il circuito esterno ed il funzionamento della rotella ...attento a non collegare i morsetti del tumper al posto di quelli della rotella perché quelli son sempre chiusi 

per il resto non saprei, ma intanto andrei per gradi per risolvere almeno il problema del funzionamento della rotella.

Ciao
Lorenzo
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+...@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/souliss-it/N8wG80Px4wE/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+...@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/CANVP0WRsgFVcF%2B5XkfRoo6bmrPKLzaE3qeHR0YAz-YHRdcapfw%40mail.gmail.com.
Per altre opzioni visita https://groups.google.com/d/optout.

Livio Merola

unread,
Feb 6, 2017, 2:41:07 PM2/6/17
to souliss-it
ciao Lorenzo  e tutti gli altri

c'è qualcosa che non mi torna...ti spiego;

per il sistema tapparelle che funziona bene io nel codice caricato su ESP ho utilizzato

const int openCmdPin =  4;      //  Open Command from pushbutton
const int closeCmdPin =  5;      // Close Command from pushbutton
const int openRelayPin =  12;      // Open Relay
const int closeRelayPin =  13;      // Close Relay

Fisicamente il pulsante apertura dichiarato openCmdPin =  4 nel codice è collegato a quello che nella foto è contrassegnato dal 4 (secondo pin, piedini alti, partendo da DX)
Stessa cosa per il pulsante chiusura dichiarato closeCmdPin =  5 (terzo piedino, piedini bassi, pasrtendo da DX).


Nello schema corrispondono a  quelli che sono dichiarati gpio4 e gpio5 (ma che dal tuo ragionamento corrisponderebbero rispettivamente a 3 e 6)

quindi seguendo le indicazioni dell'immagine (NON dello schema elettrico) ho la seguente situazione
PIEDINI ALTI:
  • GND
  • 5V
  • GPIO15
  • BTN2  (NON posso utilizzarlo o mi sbaglio??? perché collegato al pulsante per il boot in flash mode)
  • 4 (corrisponde a GPIO4 perché mi funziona con il pulsante di apertura)
  • RX
PIEDINI BASSI
  • 3,3V
  • OP1
  • BTN1 (NON posso utilizzarlo o mi sbaglio??? perché collegato al pulsante per il reset)
  • 5 (corrisponde a GPIO5 perché mi funziona con il pulsante di chiusura)
  • ADC
  • TX
ora se devo utilizzare il GPIO15 come output seguendo la logica dei pin 4 e 5 immagino di doverlo dichiarare:
 pinMode(15, OUTPUT);

e NON
pinMode(7, OUTPUT)
come indicato nello schema. o mi sbaglio????

sempre seguendo la stessa logica che pin posso utilizzare come input di quelli rimanenti???
immagino TX o RX  ma come li dichiaro nel codice?
pinMode(?????????????, INPUT);

seguendo le indicazioni di questa immagine avevo ipotizzato PIN1=TX e PIN3=RX



ecco perché sono confuso....

ILLUMINAMI per favore...

Livio

Lorenzo Giordano

unread,
Feb 10, 2017, 7:17:56 AM2/10/17
to souliss-it
Livio, il pin che usi nello sketch è il numero del GPIO quindi è esatto che per il GPIO 1 5 usi il pin 15.

Per TX e RX sono la seriale e dubito che tu possa usarli come I/O (almeno per le mie poche conoscenze si posso usare gli I/O come seriale ma non viceversa).

il BTN1/2 da schema sono collegati al GPIO0 e GPIO2 quindi quelli che gestiscono il flash mode.
Tieni presente che hanno una resistenza di pull-up e che sono in parallelo ai relativi pulsanti fisici che ci sono sulla scheda quindi li puoi usare come input se sei sicuro che durante il boot siano sempre aperti  ... per esempio li puoi usare per i pulsanti sali/scendi delle tapparelle (che sono chiusi solo quando li premi) ma non per il contatto dell'allarme .. ricordati di collegarli un capo a GND e l'altro al pulsante e che lavoreranno all'incontrario (quando lo stato dell input diventa basso allora dovrai far eccitare il relè corrispondente.

Spero di aver chiarito ...

Ciao
Lorenzo

Livio Merola

unread,
Mar 3, 2017, 3:36:59 PM3/3/17
to souliss-it
ciao Ragazzi,

sto cercando di cambiare strada con questi benedetti sensori contaimpulsi


// ogni quanti ms controllare il numero di impulsi
const unsigned long IMP_CHECK_INTERVAL_MS = 500;
// variabile utilizzata per la temporizzazione del controllo
// del numero di impulsi
unsigned long _impCheckIntervalPrevMillis = 0;
// se rilevo questo numero di impulsi nell'arco
// di tempo identificato da IMP_CHECK_INTERVAL_MS,
// segnalo allarme
const byte NUM_IMPULSI_ALLARME = 3;
// variabile utilizzata per contare gli impulsi
// il qualificatore "volatile" è necessario in quanto
// questa variabile viene utilizzata sia dalla ISR
// che dal ciclo principale
volatile byte numImpulsi = 0;

// funzione chiamata all'arrivo di un interrupt;
// il nome specifico non è importante;
// questa funzione deve essere il più breve possbile
void contaImpulsiISR() {
numImpulsi++;
}

// funzione eseguita quando viene rilevata la condizione allarme
void allarmeRilevato() {
// codice di esempio
Serial.println("allarme");
}

void setup() {
// impostazinoe della seriale hardware
// il serial monitor dell'IDE deve essere impostato
// sulla stessa velocità di tramissione
Serial.begin(115200);
digitalWrite(4, HIGH);
// segnala che la funzione denominata "isr" va eseguita
// quando lo stato del pin legato all'interrupt zero (su Arduino UNO è il pin 2)
// cambia stato
attachInterrupt(5, contaImpulsiISR, CHANGE);
}

void loop() {
  if (millis() - _impCheckIntervalPrevMillis >= IMP_CHECK_INTERVAL_MS) {
  _impCheckIntervalPrevMillis = millis();
noInterrupts();
boolean allarme = (numImpulsi >= NUM_IMPULSI_ALLARME) ? true : false;
numImpulsi = 0;
interrupts();
if (allarme) {
  Serial.println("allarme");
}
}
}


ho collegato il tutto ad una ESP12e

ho il pin 4 dichiarato come HIGH e lo collego alingresso del sensore,
l'uscita del sensore è collegato al pin 5 a cui aggancio l'interrupt

il problema è che non rileva l'impulso,

aprendo il monitor seriale mi accorgo che se tocco con la mano uno dei due collegamenti (si ho lasciato un po' di filo scoperto per le mie prove) viene rilevato un impulso immediatamente...

ci vorrà qualcosa di elettrico da collegare tipo resistenza????? e se si come????

perché invece con un arduino nano collegato all'interrupt0 (pin D2) mi funziona bene?

Livio Merola

unread,
Mar 4, 2017, 3:02:24 AM3/4/17
to souliss-it
scusate ma questa non la capisco proprio.....


ho preso come accessorio del sensore a rotellas la scheda contaimpulsi,
la scheda contaimpulsi aziona un relè se conteggia X impulsi in un certo tempo....

fisicamente funziona....se supera tre impulsi scatta il relè e si sente il click

allora penso   il relè ad una ESP12 cosi leggo lo stato del pin e se è HIGH mando i comandi che mi servono a souliss,

i collegamenti sono i seguenti

RELE' --- ESP
Com-->VCC
NA--GPIO4

testo il tutto

risultato

il tester collegato con il negativo a GND di ESP e con il positivo al GPIO4 mi segnala correttamente e cioè

quando il relè non è eccitato mi segnala 0,01 Volt
quando giro la rotella e si attiva il relè mi segnala 5 volt

la seriale invece mi segnala sempre lo stato del gpio4 a LOW

perché?
rotella.ino

Livio Merola

unread,
Mar 4, 2017, 3:33:43 AM3/4/17
to souliss-it
a questa mi rispondo da solo.....

sulla scheda di electrodragon ESP8266 SMD Adapter board


la stampa del pin 4 e 5 sono invertite rispetto al pinout dell'esp12e


e vuoi vedere che funziona anche senza scheda contaimpulsi???????????

accidenti a me che leggo i valori dai fili e non dal pin della schedina.......

Livio Merola

unread,
Mar 6, 2017, 1:51:14 PM3/6/17
to souliss-it
ciao Ragazzi,

dopo la sorpresa dell'inversione della stampa sulla schedina ho modificato i collegamenti di conseguenza e tutto funziona solo con ESP12 senza nessuna scheda contaimpulsi di mezzo.....

l'unica anomalia che riscontro però è che il messaggio di allarme me lo da sempre, ogni volta che c'è il cambio dello stato del pin da HIGH a LOW, sena tener conto della costante NUM_IMPULSI_ALLARME che io ho settato a 3


// ogni quanti ms controllare il numero di impulsi
const unsigned long IMP_CHECK_INTERVAL_MS = 500;
// variabile utilizzata per la temporizzazione del controllo
// del numero di impulsi
unsigned long _impCheckIntervalPrevMillis = 0;
// se rilevo questo numero di impulsi nell'arco
// di tempo identificato da IMP_CHECK_INTERVAL_MS,
// segnalo allarme
const byte NUM_IMPULSI_ALLARME = 3;
// variabile utilizzata per contare gli impulsi
// il qualificatore "volatile" è necessario in quanto
// questa variabile viene utilizzata sia dalla ISR
// che dal ciclo principale
volatile byte numImpulsi = 0;
// funzione chiamata all'arrivo di un interrupt;
// il nome specifico non è importante;
// questa funzione deve essere il più breve possbile
void contaImpulsiISR() {
numImpulsi++;
}
const int rotellaPin =  5;      // the number of pin of RotellaSensor



if (millis() - _impCheckIntervalPrevMillis >= IMP_CHECK_INTERVAL_MS) {
_impCheckIntervalPrevMillis
= millis();
noInterrupts
();
boolean allarme = (numImpulsi >= NUM_IMPULSI_ALLARME) ? true : false;
numImpulsi
= 0;
interrupts
();
if (allarme) {
Serial.println("allarme");

   mInput
(ANTITHEFT) = Souliss_T4n_Alarm;
}
}


in pratica appena lo switch della rotella viene azionato parte il messaggio di allarme invece che partire dopo tre volte.

inoltre vorrei dare un tempo per resettare il conteggio parziale degli impulsi, nel senso che se il conteggio degli impulsi e inferiore a NUM_IMPULSI_ALLARME e passano 5 minuti senza che il conteggio NUM_IMPULSI_ALLARME sia arrivato al numero prefissato, il conteggio si azzeri


come posso modificare il codice in allegato?


Temo che fra FAST e millis mi sono un po' perso....


Grazie per l'aiuto..........
rotella.ino

Lorenzo Giordano

unread,
Mar 6, 2017, 2:12:53 PM3/6/17
to souliss-it
Livio ti stai complicando la vita con millis .....

per quanto tempo deve rimane azionato il contatto prima di far scattare l'allarme ... se per esempio ti va bene da 510 a 1020 ms allora puoi usare una fast 510ms


io farei così:
- setta una variabile boolean per esempio preallarme=false

nella fast 510ms  inserisci
se contatto=1 e preallarme=true => allarme =true
se contatto=1 => preallareme=true
se contatto=0 => pre-allarme=false, allarme = false

così la prima volta che entraqn nella fast se il contatto è attivo setta preallarme=true, la seconda volta che entra nella fast 510ms se è il contatto è ancora a 1 invia allarme altrimenti riporta il preallarme a false e non succede nulla.
Tra una fast e l'altra passa da min 510ms a max 510ms*2 che è il tempo in cui il contatto deve rimanere a 1 per azionare l'allarme

Ciao
Lorenzo

livio....@gmail.com

unread,
Mar 6, 2017, 2:58:16 PM3/6/17
to souli...@googlegroups.com
Lorenzo

Purtroppo lo switch non rimane nella stessa condizione , appena la rotella gira di pochissimo passa da High a LOW e poi diventa subito High...

Quindi mi serve conteggiare gli impulsi...Che al momento non riesco a conteggiare come vorrei e non so se dipende dalla combinazione fast+millis ( sicuramente perché lo stesso codice tolto dalla fast e fatto girare su una esp senza souliss mi conteggia correttamente gli impulsi grazie anche agli interrupt....)

Ora non capisco dove mi incarto..

Poi con il tuo metodo non riuscirei a dirgli dopo 5 minuti mi azzeri il conteggio degli impulsi e in più se apro la tapparella molto lentamente diciamo dopo 1100 ms non mi segnalerebbe l'allarme...oppure mi sbaglio?









Per altre opzioni visita https://groups.google.com/d/optout.

Lorenzo Giordano

unread,
Mar 6, 2017, 3:43:04 PM3/6/17
to souli...@googlegroups.com
Livio, se ho ben capito devi contare gli on off e resettarli dopo x tempi.

Allora.mettilo i una fast veloce il conteggio ..una fast 50ms dovrebbe funzionare.

Poi in una fast più lenta metti il reset dopo 2 cicli che non cambia il conteggio.
Ciao
Lorenzo

Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+unsubscribe@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/047bc2fb-9e6b-4d3f-a6b3-f84199658979%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

-- Inviato dal mio cellulare Android con K-@ Mail.

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.

Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

Livio Merola

unread,
Mar 11, 2017, 4:48:14 AM3/11/17
to souliss-it
Lorenzo risolto

Dopo vi allego il codice....

Ho aggiunto al sensore rotella anche due PIR,
Adesso ho
1)la necessità di inviare un comando ad un altro nodo (un nodo con un relè che azioni una sirena
2) di inviare il comando solo se l'allarme è attivato

Suggerimenti?!?!?!

Lorenzo Giordano

unread,
Mar 11, 2017, 8:55:43 AM3/11/17
to souliss-it
questo è il comando classico: if (mOutput (ANTITHEFT) = Souliss_T4n_InAlarm) Send(addr, slotSouliss_T1n_OnCmd);

Se usi il T41 dove hai il relè della sirena e il T42 sugli altri nodi l'informazione di Allarme On dovresti già averla e quindi potresti usare direttamente sul nodo del relè:

 if (mOutput (ANTITHEFT) = Souliss_T4n_InAlarm)   mInput(RELE)= .Souliss_T1n_OnCmd.. o qualcosa del genere ;) 

Prova e vedrai ... guardati anche gli esempi....

Io stò litigando ancora un po' con la misurazione dell'energia (lo devo fare a tempo perso perchè moglie e figli nn vogliono che tolga tensione a tutta la casa)...poi prima o poi rivedo anche l'allarme ... quindi fai esperienza che poi condividiamo.

Livio Merola

unread,
May 16, 2017, 2:41:50 PM5/16/17
to souliss-it
Ciao Lorenzo e . .tutto.tuttouppo ovviamente

Mi ci vorrebbe una giornata da 36 ore per potermi dedicare almeno e ore al giorno a souliss...

Cmq veniamo a noi...

Sono riuscito a far funzionare il sensore a rotella contegfiando ècorrettament gliimpulsi e aggiungendo il doppio PIR...dando la logica che scatti l'allarme solamente se entrambi i pir sono in Allarme...

Premesso che ogni modo è formato da un sensore rotella è un sensore pir(doppio PIR ovviamente ma considerato come e se fosse unico) vorrei avere la possibilità di attivarli tutti tramite t41 oppure solo i pir oppure solo le rotelle,

Inoltre vorrei poter escludere singolarmente un sensore rotella su un nodo o un sensore pir su un altro...

Insomma vorrei poterli attivare/disattivare per tipo(rotella o PIR) o singolarmente magari una rotella di un nodo e il PIR di un altro nodo..

Che struttura Dovrei utilizzare??? T11 t24 t18 t95 ( qui li sto sparando a caso)

Posso escludere con un interruttore il watchdog??? Non l'ho testato a fondo ma temo che i falsi allarmi siano frequenti.

PS scusate gli errori ma sto scrivendo da cellulare.

Livio Merola

unread,
May 25, 2017, 4:34:22 PM5/25/17
to souliss-it
Mi rispondo da solo.....


in allegato i tre file di esempio con 
  1. Gateway
  2. Nodo Motore Tapparella
  3. Nodo Sensore Rotella con Doppio PIR
Il nodo tre contiene la funzione ATTACH INTERRUPT per fare da contaimpulsi al sensore Rotella;
Sulla Carta funziona, in modalità debug con seriale gli allarmi vengono rilevati correttamente...
Ho inserito anche una funzione che resetta gli impulsi ogni 10 minuti circa se non viene superata la soglia di allarme.

Ho inserito dei T11 per gestire singolarmente lo stato (ATTIVATO/DISATTIVATO dell'intero nodo, solo del sensore rotella o solo del doppio PIR
posso in definitiva
  1. Disattivare/attivare TUTTO il nodo (sensore rotella + PIR)
  2. Disattivare/attivare Solo il Sensore Rotella
  3. Disattivare Attivare solo il doppio PIR

IL T41 dell'antifurto è inserito nel Gateway 

La domanda è

Come faccio a leggere lo stato del T42 dal nodo peer??

vorrei mettere un'altra condizione e cioè che il nodo peer deve eseguire questo codice solamente se lo stato del T42 Souliss_T4n_Antitheft è ARMED;
  


             if ((statoPIR==1) and (statoPIR1 ==1) and(mOutput(Sensore_Attivo)==Souliss_T1n_OnCoil) and (mOutput(PIR_Attivo)==Souliss_T1n_OnCoil)){
                 
//Serial.println("allarme PIR");
                  mInput
(ANTITHEFT) = Souliss_T4n_Alarm;
               
}

 ho provato leggendo  mOutput(ANTITHEFT) ma non funziona, la seriale mi dava sempre 0 anche quando lo attivavo.

Altro quesito...il limite preimpostato di 40-42 era riferito ai nodi o ai dispositivi??
se fossero dispositivi come si aument  il numero, in quale file è impostato?


Vi chiedo inoltre di dare un'occhiata al codice....magari posso eliminare qualcosa che non mi serve

PER Giuseppe, il LASTIN senza il codice per il lastin lo avevo messo per la funzione Pushetta ma visto che non sono riuscito a farla funzionare...ciccia lo toglierò...

Altri sistemi di notifica sul cellulare (con email o notifiche varie) da sperimentare ne conoscete? vorrei avere un'avviso in caso di allarme rilevato;
Con Tasker si riesce a fare qualcosa? con OpenHab qualche consiglio?

Vi posto le foto dell PCB realizzato e dell'involucro stampato in 3d, del sensore rotella e di uno dei doppi PIR con il suo involucro stampato in 3d....

FINE SETTIMANA all'insegna del montaggio...mi moglie sarà contenta.....

SEMPRE PER GIUSEPPE, eri tu che avevi realizzato il termostato Souliss con lo schermo nextion? puoi condividere il codice e lo schema?

Grazie a tutti  per il supporto e l'aiuto che mi avete dato e grazie in anticipo a chi mi darà dei consigli per migliorare il codice e in particolare a Lorenzo che fino ad ora mi ha sia  sOpportato  che sUpportato :-P
Gateway_ESP_WEBCONFIG.ino
Sensor_Alarm_2PIR_ROTELLA_113.ino
Tapparella_1_WEBCONFIG_106.ino
20170525_220525.jpg
20170525_220538.jpg
20170525_220656.jpg
20170525_220717.jpg
20170525_220735.jpg

Lorenzo

unread,
May 25, 2017, 4:57:38 PM5/25/17
to souliss-it
Ciao Livio,
Ottimo Lavoro...sei arrivato quasi alla fine.

Ultimamente sono un po' impegnato ma appena riesco vedo se posso darti una mano.

cerco di darti qualche risposta veloce alle tue domande (quelle più semplici)

1. Altro quesito...il limite preimpostato di 40-42 era riferito ai nodi o ai dispositivi??NODI vai tranquillo i 40 dispositivi li ho superati senza grossi problemi ;)
2. con OpenHab qualche consiglio? Io uso in OpenHab Telegram e funziona alla grande ...devi però crearti prima un bot su cui riceverai le notifiche

Per il resto complimenti ...io uso ancora i millefori le schede non le sò fare ... per i contenitori ti sei preso una stampante 3D? Come va? Che modello usi?
Per la moglie siamo nelle stesse condizioni:  mia moglie quando inizio a dire ... sabato dovrò togliere corrente per una mezzoretta ...inizia ad imprecare :) :)

Ciao e Buon lavoro
Lorenzo


Il giorno giovedì 25 maggio 2017 22:34:22 UTC+2, Livio Merola ha scritto:
Mi rispondo da solo.....


in allegato i tre file di esempio con 
  1. Gateway
  2. Nodo Motore Tapparella
  3. Nodo Sensore Rotella con Doppio PIR
Il nodo tre contiene la funzione ATTACH INTERRUPT per fare da contaimpulsi al sensore Rotella;
Sulla Carta funziona, in modalità debug con seriale gli allarmi vengono rilevati correttamente...
Ho inserito anche una funzione che resetta gli impulsi ogni 10 minuti circa se non viene superata la soglia di allarme.

Ho inserito dei T11 per gestire singolarmente lo stato (ATTIVATO/DISATTIVATO dell'intero nodo, solo del sensore rotella o solo del doppio PIR
posso in definitiva
  1. Disattivare/attivare TUTTO il nodo (sensore rotella + PIR)
  2. Disattivare/attivare Solo il Sensore Rotella
  3. Disattivare Attivare solo il doppio PIR

IL T41 dell'antifurto è inserito nel Gateway 

La domanda è

Come faccio a leggere lo stato del T42 dal nodo peer??

vorrei mettere un'altra condizione e cioè che il nodo peer deve eseguire questo codice solamente se lo stato del T42 Souliss_T4n_Antitheft è ARMED;
  


             if ((statoPIR==1) and (statoPIR1 ==1) and(mOutput(Sensore_Attivo)==Souliss_T1n_OnCoil) and (mOutput(PIR_Attivo)==Souliss_T1n_OnCoil)){
                 
//Serial.println("allarme PIR");
                  mInput
(ANTITHEFT) = Souliss_T4n_Alarm;
               
}

 ho provato leggendo  mOutput(ANTITHEFT) ma non funziona, la seriale mi dava sempre 0 anche quando lo attivavo.

Altro quesito...il limite preimpostato di 40-42 era riferito ai nodi o ai dispositivi?? NODI vai tranquillo

Giuseppe P.

unread,
May 25, 2017, 8:08:39 PM5/25/17
to souliss-it
Livio sto lavorando su una nuova grafica.
Posto due foto - NEXTION + habPanel ooenHAB + pushetta

E cmq nel codice gira anche pushetta alla grande, mentre sul raspy dove ho openhab, ho anche grafana

Quando sarà ultimato posto lo sketch


Il giorno giovedì 25 maggio 2017 22:34:22 UTC+2, Livio Merola ha scritto:
> Mi rispondo da solo.....
>
>
>
>
> in allegato i tre file di esempio con GatewayNodo Motore TapparellaNodo Sensore Rotella con Doppio PIR
> Il nodo tre contiene la funzione ATTACH INTERRUPT per fare da contaimpulsi al sensore Rotella;
> Sulla Carta funziona, in modalità debug con seriale gli allarmi vengono rilevati correttamente...
> Ho inserito anche una funzione che resetta gli impulsi ogni 10 minuti circa se non viene superata la soglia di allarme.
>
>
> Ho inserito dei T11 per gestire singolarmente lo stato (ATTIVATO/DISATTIVATO dell'intero nodo, solo del sensore rotella o solo del doppio PIR
> posso in definitivaDisattivare/attivare TUTTO il nodo (sensore rotella + PIR)Disattivare/attivare Solo il Sensore RotellaDisattivare Attivare solo il doppio PIR
Screenshot_2017-05-26-01-57-25.png
20170512_213101.jpg
2017-05-26 02.04.27.png

Livio Merola

unread,
May 26, 2017, 12:29:58 AM5/26/17
to souliss-it
Ciao Lorenzo e Giuseppe...e ovviamente a tutti gli altri.


Lorenzo la stampante 3d l'ho presa su aliexpress, una cinese che si basa su prusa reprap della zonestar, doppio estrusore, autolivellante (che non serve a un cavolo).

Un po' di sbattimento per montarla(ci sono le istruzioni passo passo) e parecchio sbattimento per allineare gli ugelli e per livellare il piatto...ma poi stampa molto bene a patto che imposti tutti i parametri di temperatura riempimento ecc...tutto per poco più di 200 euro anche se la qualità non è eccelsa.

Giuseppe se hai una versione anche vecchia di souliss smart termostato va bene uguale, volevo capire solo come integrare souliss con nextion.


Per Lorenzo e Giuseppe

Quando avete tempo e possibilità mi dite Come faccio a leggere lo stato del T42 sul gateway dal nodo peer??


Per Giuseppe....cavolo pushetta era bello ma nel mio codice non funziona, non so dove sbaglio.

Per Lorenzo, hai un esempio di notifica via telegram?

Grazie ancora a tutti.

Lorenzo

unread,
May 27, 2017, 7:36:41 AM5/27/17
to souliss-it
Giuseppe, molto bello il tuo progetto ..complimenti !!

Livio, che cosa hai bisogna per le notifiche con telegram su OH? Basta che scarichi il binding (nella sezione action) e segui la sua wiki è abbastanza semplice.
La parte più ostica è quella di creare il bot su telegram ma dal sito di telegram c'è anche lì la spiegazione.
Qui su Souliss l'argomento mi sembra un po' OT... se vuoi casomi ti posto degli screenshot delle notifiche

Ciao
Lorenzo

Livio Merola

unread,
May 31, 2017, 3:36:14 PM5/31/17
to souliss-it
Ciao Ragazzi

ho modificato la If che controlla il sensore rotella nel seguente modo
            if ((numeroImpulsiRilevati>=NUM_IMPULSI_ALLARME) and (mOutput(Rotella_Attivo)==Souliss_T1n_OnCoil) and (mOutput(Sensore_Attivo)==Souliss_T1n_OnCoil) and (mOutput(ANTITHEFT)==Souliss_T4n_Antitheft)){
               
//Serial.println("allarme ");
                mInput
(ANTITHEFT) = Souliss_T4n_Alarm;
                numeroImpulsiRilevati
=0;
             
}

inserendo 

and (mOutput(ANTITHEFT)==Souliss_T4n_Antitheft)


perché il mi dava lo stato ALARM anche se il t41 del nodo gateway era in stato OFF-NOT ARMED

però continua a darmi allarme appena alzo/abbasso la tapparella anche se l'allarme è non inserito

dove sbaglio?

in allegato il codice sia del gateway con il t41 che del nodo con il t42
Sensor_Alarm_2PIR_ROTELLA_113.ino
Gateway_ESP_WEBCONFIG.ino

Livio Merola

unread,
Jun 4, 2017, 2:51:48 PM6/4/17
to souliss-it
Ciao esperti di elettronica

Con il mio nodo sensore rotella e doppio pin ho un problema....doppio pir, SOLAMENTE UN NODO SU 7, quando attivo l'allarme mi manda subito lo stato alarm sul t42/t42.
Se escludo il doppio pir solo su quel nodo (ho messo​ un t11 su ogni nodo ed eseguo la logica solo se il t11 e in) e attivo tutti gli altri funziona regolarmente, il codice è lo stesso per tutti i nodi, da cosa può dipendere? Che test posso fare,sia software che hardware?

Ho già provato a sostituire i pir ma il risultato é lo stesso, appena attivo il t41 scatta immediatamente lo stato alarm


Giuseppe P.

unread,
Jun 8, 2017, 12:03:36 PM6/8/17
to souliss-it
Cosa intendi per doppio pir? Vuoi dire in parallelo? E cioè due pir collegati fisicamente ad un solo pin e di conseguenza gestiti da un solo slot?

Livio Merola

unread,
Jun 8, 2017, 2:45:31 PM6/8/17
to souliss-it
ciao Giuseppe

ammetto che sono stato un po' povero di informazioni...scusatemi ma ero dal telefonino..

mi faccio perdonare e aggiorno/riformulo la questione aggiornando anche le specifiche...resta il problema di un solo PIR DOPPIO di un solo nodo

comunque partiamo con le modifiche

Poiché il T41/T42 non è ancora implementato nel binding OPENHAB ho deciso di "Emularlo" senza eliminare il T41/T42 dal gateway e dai nodi perché altrimenti non avrei potuto sapere quale slot e di conseguenza nodo era in allarme.
Per emularlo ho inserito un T11 nel gateway e un T13 per ogni nodo



Partendo dal GATEWAY in una FAST_110ms

ho inserito il seguente codice che mi "sincronizza" il T11 e il T41, se attivo con il T11 l'allarme, mi attiva il T41

            if ((mOutput(Allarme)==Souliss_T1n_OffCoil) and (mOutput(ANTITHEFT)==Souliss_T4n_Antitheft)){
              mInput
(ANTITHEFT)=Souliss_T4n_NotArmed;
           
}
           
else if ((mOutput(Allarme)==Souliss_T1n_OnCoil) and (mOutput(ANTITHEFT)==Souliss_T4n_NoAntitheft)){
              mInput
(ANTITHEFT)=Souliss_T4n_Armed;
           
}

in una FAST_510ms ho invece inserito questo pezzo di codice che se lo stato dell'allarme è cambiato attiva o disattiva i T13 dei nodi e setta il T41/T42 in attivato o disattivato

              if ((mOutput(Allarme)==Souliss_T1n_OnCoil) and (StatoPrima != String(mOutput(Allarme)))){
                 
RemoteInput(Peer_address_n8, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n9, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n10, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n11, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n12, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n13, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n14, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n15, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n16, 0, Souliss_T1n_OnCmd);
                 
RemoteInput(Peer_address_n17, 0, Souliss_T1n_OnCmd);
                  mInput
(ANTITHEFT)= Souliss_T4n_Armed;
           
}
             
else if  ((mOutput(Allarme)==Souliss_T1n_OffCoil) and (StatoPrima != String(mOutput(Allarme)))){
                 
RemoteInput(Peer_address_n8, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n9, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n10, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n11, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n12, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n13, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n14, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n15, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n16, 0, Souliss_T1n_OffCmd);
                 
RemoteInput(Peer_address_n17, 0, Souliss_T1n_OffCmd);  
                  mInput
(ANTITHEFT)= Souliss_T4n_NotArmed;
           
}
           
StatoPrima=String(mOutput(Allarme));


il tutto funziona, l'unica pecca è che non è molto reattivo l'invio dei comandi con il RemoteInput, a volte lo stato dei T13 sui nodi non si aggiorna subitissimo, a volte perde qualche colpo su qualche nodo, se avete idee migliori o suggerimenti su come alleggerire il tutto ve ne sarei grato;

SECONDO VOI se questo pezzo di codice lo mettessi in una FAST più veloce, rallenterei ancora di più il sistema ???

Allego Screenshot di come appare in souliss app sia il gateway che il nodo



altra questione è il DOPPIO PIR

per ogni NODO ci sono due hc-sr501 collegati a PIN diversi, 

controllo lo stato dei due PIN, se entrambi sono HIGH invio il comando di allarme ad uno slot solo quello del T42

              statoPIR=digitalRead(PIR_Pin);
              statoPIR1=digitalRead(PIR1_Pin);
          
    
    
              if ((statoPIR==1)
                  and (statoPIR1 ==1)
                  and (mOutput(Sensore_Attivo)==Souliss_T1n_OnCoil)
                  and (mOutput(PIR_Attivo)==Souliss_T1n_OnCoil)
                  and (mOutput(Allarme)==Souliss_T1n_OnCoil)
                  //and (mOutput(ANTITHEFT)!=Souliss_T4n_NoAntitheft))  {
                  //Serial.println("Allarme PIR");
                  mInput (ANTITHEFT) = Souliss_T4n_Alarm;
                }

la cosa strana che, a parte gli indirrizzi IP e Vnet il codice dei nodi è identico per tutti, ma solamente su uno, appena attivo l'allarme, il PIR manda in allarme l'allarme (scusate il giorco di parole)

quello che mi viene in mente è provare a mettere una resistenza da 5 o due K fra il Pin OUT e GND sui pir (come ho letto da qualche parte) ma se avete altri consigli da darmi ...li accetto volentieri prima di smontare interamente il nodo (devo aprire il cassonetto della finestra e non ne ho gran voglia a dire la verità) 

COSA FUNZIONA BENE
il sensore rotella ( ho montato un sensore rotella per ogni nodo insieme al doppio pir) mi sta dando soddisfazione, FUNZIONA DA DIO, e al momento in tutti i test che ho fatto NON HAPERSO UN COLPO.

Funziona COSI COSI la comunicazione e la reattività dei nodi, prima che aggiungessi i nodi dei sensori avevo solo i nodi per le tapparelle e devo essere onesto la reattività dei comandi mi sembrava maggiore, magari ho sbagliato io qualcosa ma per questo ho chiesto di controllare a voi che avete un occhio più esperto e conoscete souliss meglio di me.


NON funziona bene o forse ho sbagliato qualcosa io il watch dog dei sensori....anche se la salute dei dispositivi è al massimo o poco sotto se la salute non si aggiorna il watchdog manda in allarme tutto...magari dipende dal fatto che la comunicazione e l'aggiornamento degli stati è meno reattiva....ma come posso migliorarla?


NON FUNZIONA PER NIENTE
Pushetta...io non sono riuscito a farlo funzionare....porca misera....


IMPLEMENTAZIONI FUTURE
A) mi piacerebbe mettere delle batterie di emergenza magari che fossero sempre sotto carica ed entrassero in funzione alla mancanza di corrente...vorrei utilizzare delle 18650, anche se l'autonomia è di poche ore la corrente non manca quasi mai dalle nostre parti e quindi servirebbe ad evitare solamente che il ladro tolga corrente e di conseguenza l'allarme non funzioni più (per Giuseppe..lo so che mi hai detto di affidarmi a sensori più seri...ma ripeto l'allarme serio c'è già...questo è un plus), avete schemi e suggerimenti su come fare in modo che le batterie siano sempre sotto carica e che allo stesso tempo alimentino l'esp?
Secondo voi ci sarebbero problemi di sicurezza/incendi/scoppi  alla lunga se mettessi un power bank collegato alla porta di ricarica e allo stesso tempo collegato all'uscita il mio circuiot con l'esp?

...mi speigo meglio,dalla 220 collego un trasformatore a 5 volt che alimenta il circuito di ricarica delle batterie (la presa di ricarica micro usb di un normale powerbank) poi invece IN CONTEMPORANEA collego l'uscita a 5 volt (la presa usb di un normale powerbank) all'alimentazione del mio nodo, rischio di scoppiare o incendiarmi?

B)  attivazione e disattivazione con token NFC oltre che da app/tablet
Gateway_ESP_WEBCONFIG.ino
Sensor_Alarm_2PIR_ROTELLA_113.ino
GatewaySoulissAPP.jpg
SensoreFinestraSoulissAPP.jpg

Luca Remigio

unread,
Jun 9, 2017, 3:05:47 AM6/9/17
to souli...@googlegroups.com
ciao Livio,
scrivo solo per avvisarti che siamo in fase di sviluppo avanzata del nuovo binding per OH2 che prevederà anche i tipici T4n.
Per cui, se può risparmiarti un po di lavoro, forse ti conviene aspettare.
Non so però ancora darti una data.
Spero di averti dato una buona notizia.
Luca.


--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

livio....@gmail.com

unread,
Jun 9, 2017, 3:11:49 AM6/9/17
to souli...@googlegroups.com
Ottima notizia...non vedo l'ora....

Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/souliss-it/N8wG80Px4wE/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+...@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.

Per altre opzioni visita https://groups.google.com/d/optout.

Livio Merola

unread,
Jun 11, 2017, 4:15:21 PM6/11/17
to souliss-it
Al quesito del sensore doppio pir che non funzionava e mandava in allarme il T41 appena veniva attivato mi rispondo da solo....per forza se inverti negativo e positivo dell'alimentazione del PIR.....che svista...

Giuseppe P.

unread,
Jun 12, 2017, 7:12:13 PM6/12/17
to souliss-it
Ciao Livio, anche se puoi sempre utilizzare la vecchia sintassi RemoteInput, cambiala con la Send...e poi per ovviare al tuo problema che ho già riscontrato io su di un nodo che tempo fa avevo messo in piedi, distanzia ogni send con un delay anche se non è il max, magari da (500)ms, con il mio nodo io dovevo inviare dei comandi dal nextion touch dove avevo inserito per ogni tasto uno scenario per comandare i nodi nella rete e mi sono accorto che a volte dovevo premere due volte per far passare tutti i comandi. Probabilmente questo accade perché i pacchetti dati vengono inviati rapidamente intasando la rete souliss

Di Maio, Dario

unread,
Jun 13, 2017, 4:29:12 PM6/13/17
to souli...@googlegroups.com

Non conviene usare un delay, ma fare in modo che i comandi siano eseguiti in fasi diverse, in modo da non fermare il nodo.

Ad esempio usando SHIFT invece che FAST si possono realizzare invii separati e cadenzati.

Dario.

On 13 Jun 2017 01:12, "Giuseppe P." <giusepp...@gmail.com> wrote:
Ciao Livio,  anche se puoi sempre utilizzare la vecchia sintassi RemoteInput, cambiala con la Send...e poi per ovviare al tuo problema che ho già riscontrato io su di un nodo che tempo fa avevo messo in piedi, distanzia ogni send con un delay anche se non è il max, magari da (500)ms, con il mio nodo io dovevo inviare dei comandi dal nextion touch dove avevo inserito per ogni tasto uno scenario per comandare i nodi nella rete e mi sono accorto che a volte dovevo premere due volte per far passare tutti i comandi.  Probabilmente questo accade perché i pacchetti dati vengono inviati rapidamente intasando la rete souliss

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.
Per postare messaggi in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/b91a8fa4-9e32-4906-8d95-1966cbfc8565%40googlegroups.com.
Per ulteriori opzioni, visita https://groups.google.com/d/optout.

Giuseppe P.

unread,
Jun 13, 2017, 11:40:57 PM6/13/17
to souliss-it
Quoto Dario Di Maio, avevo dimenticato della SHIFT....ahahaha


Il giorno martedì 13 giugno 2017 22:29:12 UTC+2, Di Maio, Dario ha scritto:

Non conviene usare un delay, ma fare in modo che i comandi siano eseguiti in fasi diverse, in modo da non fermare il nodo.

Ad esempio usando SHIFT invece che FAST si possono realizzare invii separati e cadenzati.

Dario.

On 13 Jun 2017 01:12, "Giuseppe P." <giusepp...@gmail.com> wrote:
Ciao Livio,  anche se puoi sempre utilizzare la vecchia sintassi RemoteInput, cambiala con la Send...e poi per ovviare al tuo problema che ho già riscontrato io su di un nodo che tempo fa avevo messo in piedi, distanzia ogni send con un delay anche se non è il max, magari da (500)ms, con il mio nodo io dovevo inviare dei comandi dal nextion touch dove avevo inserito per ogni tasto uno scenario per comandare i nodi nella rete e mi sono accorto che a volte dovevo premere due volte per far passare tutti i comandi.  Probabilmente questo accade perché i pacchetti dati vengono inviati rapidamente intasando la rete souliss

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+...@googlegroups.com.

Livio Merola

unread,
Jun 15, 2017, 8:20:45 PM6/15/17
to souliss-it
Grazie infinite Dario e Giuseppe

Quindi metto un paio di send o tre per ogni shift partendo da una SHIFT_110 a salire può andare bene?

Altra domanda per Dario,

Per alleggerire il nodo conviene nel loop conviene verificare se l'allarme è attivo dentro la fast oppure eseguire le fast e le slow solo se l'allarme é attivo?

Non so se sono riuscito a spiegarmi, in pseudo codice le due alternative sono:

Fast_510{
If mOutput(Allarme_attivo)==ONCOIL{
FAI SCATTARE L'ALLARME
}
}

Oppure

If mOutput(Allarme_attivo)==ONCOIL{

Fast_510{
Verifiche fast
}

Fast_110{
Codice fast 110
}


}



Altra domanda per Dario e gli esperti di esp

Ogni due tre giorni un paio di nodi vanno in STALE,

La salute del NODO viene aggiornata regolarmente, ma lo stato dei dispositivi no, non serve nemmeno togliere alimentazione al nodo o spingere il reset, devo riflashare la scheda per farla funzionare ...da cosa può dipendere e come posso verificare o risolvere?


Altra situazione invece mi è capitato che alcuni esp dopo essersi bloccati rimangano in uno stato in cui il led piccolo blu rimane sempre acceso e provando a flashare la schedina ottengo il famoso errore di connessione, sembra che la esp non si connetta con la seriale,

Sono da buttare o sono recuperabili?? E se sono recuperabili in che modo?

Grazie mille

Livio

Giuseppe P.

unread,
Jun 16, 2017, 12:49:50 AM6/16/17
to souliss-it
Di quali esp parli? 01 o 12?

A che distanza sono dal router wifi?
Ho notato che queste esp soffrono la distanza dal campo wifi.....se hai le esp in piani differenti ti conviene inserire un range extender per la tua rete wifi

livio....@gmail.com

unread,
Jun 16, 2017, 1:00:08 AM6/16/17
to souli...@googlegroups.com
Giuseppe Esp12 ... electrodragon dev board

Sono vicinissimi al router...4-6 metri infatti si collegano ma poi si bloccano...solo un paio...le altre più lontane non fanno una piega

Giuseppe P.

unread,
Jun 16, 2017, 11:36:59 AM6/16/17
to souliss-it
Contralla bene le saldature dei pin ch_pd e reset e che siano ben connesse con resistenza di pulldown

Livio Merola

unread,
Jun 16, 2017, 2:52:11 PM6/16/17
to souliss-it
Ciao Giuseppe,

La resistenza dovrebbe essere integrata nella board o mi sbaglio?!?!?
di seguito link alla scheda tecnica per i più esperti

http://www.electrodragon.com/w/ESP8266_SMD_Adapter_Board



Un problema l'ho riscontrato anche io,circa una resistenza sulla linea Rx che non aiuta il flash della scheda, ma alimentando a 3,3 anziché 5 volt il problema si raggira ne parlano qui nei commenti

http://www.electrodragon.com/product/esp8266-smd-adapter-board/

Ma non credo che incide sulla stabilità

Io ho collegato direttamente il trasformatore al VIN della scheda e al pin EN

Mi consigliate di aggiungere qualche altra resistenza/condensatore????


Altra cosa, vorrei ottimizzare l'invio dell'allarme allo slot di memoria solamente una volta, temo che il sensore quando rileva l'allarme intasi la rete, pensavo di mettere una variabile Boolean INVIATO nella Fast rilevo se i pir o la rotella sono in Allarme, mando l'allarme allo slot t42/t41 e imposto inviato = true, already ciclo successivo controllo se INVIATO = true passo oltre altrimenti invio di nuovo l'allarme al t41/t42...

Per rendere false la variabile INVIATO avevo pensato di impostare in una slow 15 o 30 secondi la variabile a false nel caso fosse true...

Può essere un buon approccio?

Scusate ma scrivo dal telefonino e non riesco a buttar giù del codice...
Message has been deleted

Giuseppe P.

unread,
Jun 16, 2017, 3:46:15 PM6/16/17
to souliss-it
Scusa stai usando una ESP nuda e cruda oppure con questa board?

http://www.electrodragon.com/product/esp8266-smd-adapter-board/

Se stai usando una esp nuda e cruda devi usare lo schema che ti ho allegato

Ciao
Schema stabile per ESP12.png

Giuseppe P.

unread,
Jun 16, 2017, 3:47:13 PM6/16/17
to souliss-it


Il giorno venerdì 16 giugno 2017 17:36:59 UTC+2, Giuseppe P. ha scritto:
Contralla bene le saldature dei pin ch_pd e reset e che siano ben connesse con resistenza di pulldown (rettifico PULLUP)

livio....@gmail.com

unread,
Jun 16, 2017, 3:51:52 PM6/16/17
to souli...@googlegroups.com
Giuseppe con la board del link

16 Giu 2017 ha scritto:
--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "souliss-it" di Google Gruppi.
Per annullare l'iscrizione a questo argomento, visita https://groups.google.com/d/topic/souliss-it/N8wG80Px4wE/unsubscribe.
Per annullare l'iscrizione a questo gruppo e a tutti i suoi argomenti, invia un'email a souliss-it+...@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/souliss-it/cc8faaa1-8c3a-46d0-8279-dc6a1dcbc606%40googlegroups.com.

Per altre opzioni visita https://groups.google.com/d/optout.

Giuseppe P.

unread,
Jun 16, 2017, 3:57:53 PM6/16/17
to souliss-it
E allora la resistenza è già integrata in quella board.....appunto ti dicevo di controllare bene le saldature tra esp e board....

altro non saprei....al massimo puoi provare a caricare lo sketch per il reset della EEPROM e poi ricaricare il tuo, magari per pulirla

Dario Cdj

unread,
Jun 16, 2017, 4:07:47 PM6/16/17
to souli...@googlegroups.com
Allora, la board in questione la uso fin dalla sua prima release e non richiede assolutamente niente, ma avendo il regolatore la devi alimentate min a 5v. Non usare alcuna resistenza per rx o tx. io per precauzione nelle mie schede sin dalla esp01 metto sempre un cap da 1000mf. Per quanto riguarda l'allarme studia prima come funziona di suo la logica, non conosco il tipico,  comunque di solito quando vuoi fare qualcosa una volta (tipo mandare una notifica push) è giusto usare un trigger (quello che vuoi dire con la variabile boolean,etc.). Spero che queste info possano aiutarti, ma vi suggerisco di aprire nuovi topic al posto di andare OT dall'inizio. In questo modo i post non sono più utili ai "posteri"

Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a souliss-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a souli...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages