Se sei già registrato           oppure    

Orario: 20/11/2019 15:56:37  

 

Energia Alternativa ed Energia Fai Da Te > PPTEA

VISUALIZZA L'ALBUM

Pagine: (20)   1   2   3   4   [5]   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20    (Ultimo Msg)


PPTEA : Domotica
FinePagina

shsjk59456
milliWatt


Gruppo:Utente
Messaggi:9

Stato:



Inviato il: 10/7/2012,14:03

Allora sei a buon punto, mettere tre seriali mi pare molto complicato inoltre devi condiderare che la logica TTL o RS232 non va bene per tratte molto lunghe !! molto meglio un bus differenziale come il RS485 o il CAN nati appositamente allo scopo.
Io a suo tempo ho usato i MAXIM perchè spedivano anche i sample ora sembra che li spediscano solo alle aziende mi risulta, penso che anche i Microchip siano perfettamente equivalenti visto che molti pic hanno il CAN bus interno.

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1880

Stato:



Inviato il: 11/7/2012,01:12

...è stato semplice, con l'interfaccia wireless che Bolle ha inserito già dalle prime versioni del PPTEA... ora abbiamo anche la RS232... le prove le ho fatte "in rame" e non in etere, invertendo TX ed RX dei due PPTEA, ed ho fatto passare solo qualche byte, letture degli A/D... non ho ancora sviluppato bene il protocollo di comunicazione domotico, anche perchè non volevo comprare moduli RTX Aurel a 16€ l'uno per poter testare la situazione 1 master n slave... ma adesso col CAN faccine/smile.gif
Ho dato un occhiata veloce ai datasheet dei MAX3050 e del MCP2551-I/P (http://it.rs-online.com/web/p/ricetrasmettitori-can/0402920/) e vedo che sono pin to pin compatibili, al di là del package... dato il costo (0,89€ al pezzo) me ne faccio arrivare qualcuno e provo a giocarci...
Inizialmente, avendo a disposizione sul PPTEA solo l'interfaccia wireless, pensavo di fare una cosa del genere:
i PPTEA slave eseguono il loro codice locale e ciclicamente si pongono in ascolto per eventuali comunicazioni del master; il master può inviare un messaggio ad un singolo slave ( nel protocollo wireless ogni PPTEA ha un ID che viene inviato ad ogni TX) ed attenderne la risposta, oppure un messaggio "broadcast" destinato a tutti gli slave (con o senza bisogno di risposta vedremo)... da quello che ho capito del CAN, dovrebbe essere possibile trasferire questo funzionamento senza problemi e senza interventi sul firmware (che Bolle vorrebbe chiudere senza dover arrivare alla ver.2.16z faccine/smile.gif )



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

shsjk59456
milliWatt


Gruppo:Utente
Messaggi:9

Stato:



Inviato il: 11/7/2012,14:54

Come hardware penso non ci siano problemi vanno bene MCP2551, devi solo mettere a punto il SW dei PPTEA e questo puoi farlo anche adesso collegando i due incrociando RX TX come hai detto.
Non ho visto il SW che ha rilasciato bolle per il wireless potrebbe andare bene, ho un solo dubbio che il slave sia abbastanza veloce nel ricevere i dati del master altrimenti andrebbero persi, sarebbe indispensabile un INTERRUPT sul programma eseguito in locale ma non so se è implementato sul basic del PPTEA ?

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 14/7/2012,21:46

CITAZIONE (shsjk59456 @ 11/7/2012, 15:54)
...ho un solo dubbio che il slave sia abbastanza veloce nel ricevere i dati del master altrimenti andrebbero persi, sarebbe indispensabile un INTERRUPT sul programma eseguito in locale ma non so se è implementato sul basic del PPTEA ?

Il tuo dubbio è lecito. Ci sono due istruzione una wait e una nowait...quella nowait è sotto interrupt...altrimenti perderebbe i dati.
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

Roby_69
Watt


Gruppo:Utente
Messaggi:81

Stato:



Inviato il: 16/7/2012,09:31

CITAZIONE (NonSoloBolleDiAcqua @ 14/7/2012, 22:46)
CITAZIONE (shsjk59456 @ 11/7/2012, 15:54)
...ho un solo dubbio che il slave sia abbastanza veloce nel ricevere i dati del master altrimenti andrebbero persi, sarebbe indispensabile un INTERRUPT sul programma eseguito in locale ma non so se è implementato sul basic del PPTEA ?

Il tuo dubbio è lecito. Ci sono due istruzione una wait e una nowait...quella nowait è sotto interrupt...altrimenti perderebbe i dati.
Ciao
Bolle

Ciao Bolle.
Ma la wait e la nowait di cui stai parlando.... sono istruzioni del PPTEA???
Dal discorso si sta parlando di gestione di interrupt su PPTEA... quindi suppongo di si.

Per la wait (waits e waitms), trovo la descrizione del comando per il PPTEA... la nowait non c'è nella documentazione!
Devo andare dall'oculista? faccine/wacko.gif potrebbe anche essere ... faccine/w00t.gif

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 16/7/2012,13:04

Non devi andare dall'oculista...si sta parlando dei comandi WIFI, il PPTEA gestisce la ricezione in due modalità:
1. Bloccandosi (WIFIINP)
2. Senza bloccarsi cioè NoWait. (WIFIINPNW)
Se non si blocca capito ora?
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

Roby_69
Watt


Gruppo:Utente
Messaggi:81

Stato:



Inviato il: 16/7/2012,14:02

Ciao Bolle.

Mi sa che invece dall'oculista ci devo andare... faccine/sad.gif ... mica avevo capito che si stava parlando di comandi wifi...

 

shsjk59456
milliWatt


Gruppo:Utente
Messaggi:9

Stato:



Inviato il: 17/7/2012,13:57

Ho letto la documentazione e usa delle istruzioni che bloccano l'esecuzione finchè non riceve un dato, oppure si può testare se è stato ricevuto un byte o no. Siccome il master per contattare un nodo deve inviare un minimo protocollo di 10-15 byte non è possibile eseguire altro codice, essendo la tx asincrona non è possibile stabilire il quando !
L'unica possibilità che vedo io è quella che lo slave esegua del codice locale velocemente è poi entri nel polling che controlla la rx seriale e ci rimanga per ricevere una eventuale comunicazione, comunque è una grossa limitazione.
Sarebbe molto utile se venisse implementata nel basic PPTEA una istruzione per ricevere dalla seriale un pacchetto di byte fisso, ma forse si chiede troppo a Bolle che ha già fatto un gran lavoro per tutti

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 17/7/2012,18:34

Devo rileggere tutto per capire ... ora non ho tempo... mi riprometto di farlo.




Modificato da NonSoloBolleDiAcqua - 18/7/2012, 01:02


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

shsjk59456
milliWatt


Gruppo:Utente
Messaggi:9

Stato:



Inviato il: 18/7/2012,14:23

CITAZIONE (NonSoloBolleDiAcqua @ 17/7/2012, 19:34)
Devo rileggere tutto per capire ... ora non ho tempo... mi riprometto di farlo.

Forse non ho chiarito bene, per contattare un nodo slave il master deve inviargli un pacchetto di byte, che poi verranno elaborati. Tutti gli slave collegati in parallelo devono interrompere immediatamente il loro programma e ricevere tutto il pacchetto di byte in un buffer, purtroppo mi pare che attualmente viene salvato solo un byte.
Se ci fosse la possibilità di una istruzione che salvi in un buffer (dimensionando un vettore) un tot di byte che poi è possibile testare se è vuoto o pieno e che disabiliti la rx di altri finchè non viene resettato un flag, sarebbe utilissimo per crearsi una piccola rete per automatismi sia via filo che wireless
Ti ringrazio Bolle dell'attenzione, spero di aver chiarito, lo so che non sono propriamente bravo nell'esprimere i concetti sono + pratico

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 18/7/2012,14:51

CITAZIONE (shsjk59456 @ 18/7/2012, 15:23)
Tutti gli slave collegati in parallelo devono interrompere immediatamente il loro programma e ricevere tutto il pacchetto di byte in un buffer, purtroppo mi pare che attualmente viene salvato solo un byte.

Per quanto riguarda il WIFI vengono memorizzati 4 byte e questi vengono memorizzati e restituiti alla prima interrogazione WIFIINPNW ... indipendentemente da quello che il codice sta combinando.
Per quanto riguarda la seriale si possono ricevere stringhe di 50 caratteri ed anche in questo caso non si deve bloccare nulla e il dato viene dato alla prima interrogazione della seriale mediante il comando SERIALINPSTR.
Penso di aver risposto alla domanda. faccine/smile.gif
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

shsjk59456
milliWatt


Gruppo:Utente
Messaggi:9

Stato:



Inviato il: 19/7/2012,17:06

Ho capito, allora è già meglio quindi è un buffer di 50 byte che si può leggere anche un byte alla volta ? e una volta letti tutti lo segnala come vuoto e restituisce -1 giusto ?
Ho fatto un po di prove con eabasic e non capisco bene l' IF sembra non si possa fare + di una istruzione x volta es:
if f_xt <> 1 then
flag=3
goto 400
end if
Non si può dimensionre + di un vettore ?
Quando si chiude la seriale si svuota il buffer ?
Ciao, ti ringrazio

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 20/7/2012,07:59

Se si legge una stringa dalla seriale e non si è ricevuto nulla, torna una stringa uguale a "".
Si può operare sulla stringa con i comandi che operano su di essa.

Questa è la sintassi dell'IF:
IF CONDIZIONE THEN NUMERO_LINEA [ELSE NUMERO LINEA]

Non si può dimensionare più di un vettore, non si svuota il buffer.

Intanto Jumpy75 sta preparando la DOMOTICA di BASE del PPTEA, un applicazione che si interfaccia al PPTEA con tanto di configurazione...per vederela registratevi sul sito del PPTEA.

ForumEA/PPTEA_IMG_FORUM/Domoticadibase.jpg


Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1880

Stato:



Inviato il: 20/7/2012,13:41

...e quanti dati devo inserire per registrarmi!!! faccine/sad.gif



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

jumpy75

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:685

Stato:



Inviato il: 20/7/2012,13:44

Per registrarti devi inserire veramente pochi dati.....
Questi sono i campi, buon divertimento!!!!

Nome
Cognome
Cellulare
Email
Nick Name
Indirizzo
C.A.P.
Citta
Password
C. Password

 
 InizioPagina
 

Pagine: (20)   1   2   3   4   [5]   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum