| PinoTux
| Inviato il: 15/11/2012,13:14
|
Bellissima discussione ! Ho letto da qualche parte che il Raspberry non ha il clock integrato, ma dispone del bus I2C, quindi penso che si possa integrare un RTC come quello realizzato per il PPTEA, oppure se abbinato al PPTEA possa sincronizzarsi con lo stesso. È fattibile oppure è ridondante? Se con il comando di cui sopra fai partire un orologio, significa che qualcosa c'è già... Se mi/ci chiarisci/chiarite questo punto... den ghiu Pino
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | NonSoloBolleDiAcqua
| Inviato il: 15/11/2012,13:57
|
Esatto, il Raspberry avendo l'i2c può collegarsi ad un RTC esterno...si può utilizzare anche lo stesso chip utilizzato dal PPTEA. Di fatto il rasp ce l'ha l'orologio (cioè la sua gestione) ma non ha la batteria che fa perdere i dati quando si spegne. Quindi se uno dei due ha l'orologio ...i dati possono rimbalzarsi...uno chiede all'altro. Sinceramente avevo pensato di aggiornare l'ora al rasp ma di fatto può essere fatto anche il contrario...pensavo che il PPTEA poteva accende/spegne il rasp...quest'ultimo consuma molto ma molto di più del PPTEA...quindi alcune operazioni possono essere fatte e poi si spegne il RASPBERRY. Non so se ho risposto...se serve faccio qualche esempio. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | elettro
Watt Gruppo:Utente Messaggi:30
Stato:
| Inviato il: 15/11/2012,14:11
|
hai ragione, io la storia del webserver me la faccio ancora pensando al rasp come server, per usare il tuo server immagino che hai già su qualcosa e tanto vale basarsi su quello, anche perchè immagino sia un server preconfigurato in affitto, su cui hai limitate possibilità di controllo.
CITAZIONE lenta? Mi sorprende questa domanda/osservazione ... c'è un motivo preciso perchè viene fatta questa operazione...i DB che tu ami tanto hanno un fattore di velocità/affidabilità 1/100 rispetto questa primitiva di base. hai ragione, ho detto una cag*ta perchè non ho dati. Il mio ragionamento è che il DB, per quanto più lento ad operazione completa, semplicemente in realtà faccia un gran lavoro di bufering in ram e completi l'operazione su disco in un secondo momento. Però il dato è disponibile fin dalla sua sistemazione in RAM, quindi all'effettivo il dato è disponibile prima e l'uso della macchina (e del disco) ha meno picchi e quindi più cosante nel tempo. Però in effetti se l'operazione rimane solo una append, tanto vale complicarsi poco la vita e usare un plan text, che poi magari venga richesto ed elaborato lato client via javascript, così da spostare il tempo di elaborazione dal server al client.
ok, devo ammette che per me è raro incontrare una persona con le tue conoscenze e sono partito con qualche pregiudizio, invece direi che la soluzione plain text è ok. Ora però vorrei capire la "triangolazione"
| | | | elettro
Watt Gruppo:Utente Messaggi:30
Stato:
| Inviato il: 15/11/2012,14:27
|
CITAZIONE Ho letto da qualche parte che il Raspberry non ha il clock integrato, ma dispone del bus I2C, quindi penso che si possa integrare un RTC come quello realizzato per il PPTEA, oppure se abbinato al PPTEA possa sincronizzarsi con lo stesso. esatto, il rasp non ha un clock PRECISO come un RTC, infatti le varie distribuzioni usano un sistema di aggiiornamento dell'ora via internet per eliminare l'errore indotto dall'uso del clock della CPU. (parliamo di errori nell'ordine di secondi al giorno)
Se il PPTEA possiede un RTC, allora può periodicamente aggiornare l'ora del rasp eliminando la necessità di un time-server.
| | | | NonSoloBolleDiAcqua
| Inviato il: 15/11/2012,14:49
|
Tranquillo, anche io scrivo tante cagate... se non fosse per gli utenti che mi rimettono in carreggiata sarebbe la fine! Ahahahahaa
Per quanto riguarda la triangolazione farò un altro esempio pratico ... in modo da far capire meglio la cosa...spero.
CITAZIONE (elettro @ 14/11/2012, 16:55) da quel che ho visto il PPTEA è un pic con il codice per eseguire un file esterno in simil-basic.. insomma un intrprete. Torniamo un al PPTEA...mi interessa che venga capito fino in fondo. Più o meno è vero che ha un interprete (non è un interprete è molto di più)...ma esegue il programma interno, cioè il suo programma viene inserito da lui stesso (comunicato dal PC che produce un compilato compresso) all'interno della sua eeprom. Se non bastano i 255 Byte di programma allora si può ricorrere all'espansione e quindi esegue un programma che risiede su una memoria esterna. Di fatto il PPTEA,che viene programmato in EABASIC, serve esclusivamente a far avvicinare o a mettere a disposizione delle persone un processore semplice da gestire...non complicato come ARDUINO...anche se per i professionisti del mestiere Arduino è 'semplice'.
Torniamo al pptea-raspberry
Vediamo come potrebbe fare il PPTEA a sapere se il RASPBERRY è vivo ( o morto).... Il PPTEA invia al raspberry in comando <ping> e il raspberry risponde con <pong>
Questo è un esempio del programma scritto in eabasic:
10 'PPTEA-PING PONG SU RASPBERRY 20 SETIO=&H400FF 30 USBOUT ="RASPBERRY TEST PING/PONG" 40 CNT++ 45 PRINT "ERRORI:" & NR 50 RASPSEND="<ping>" &CNT & " " & DATE&CHR(10) 55 RESET_TIMER 60 H=RASPRECEIVE 65 IF TIMER > 1 THEN :NO_RESPONCE 70 IF H="" THEN 60 80 PRINT H 90 WAITS 1 100 GOTO 40 150 :NO_RESPONCE 155 PRINT "NESSUNA RISPOSTA" 160 NR++ 170 GOTO 40
Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | | | | NonSoloBolleDiAcqua
| Inviato il: 15/11/2012,16:46
|
Se contesti i GOTO contesti il BASIC, quindi EABASIC insomma tutto il progetto invece per quanto riguarda l'assenza di indentazione, visto che non deve esserci, mi fai percepire che non sei così esperto come dici...o sbaglio?
Vediamo come spegnere il Raspberry dal PPTEA...ovviamente non possiamo levargli l'alimentazione 'al volo' ma occorre farlo mediante il comando di shutdown. Per accendere il Raspberry basta far in modo di fargli arrivare la 5V sull'alimentazione.
05 ' SPEGNAMO IL RASPBERRY 10 SETIO=&H400FF 15 USBOUT ="RASPBERRY POWERDOWN" 33 RASPSEND="<powerdown>"&CHR(10) 34 H=RASPRECEIVE 35 IF H="" THEN 34 37 PRINT H 40 GOTO 40
Il comando in python per effettuare lo shutdown lo si può fare in questo modo:
import os ....
elif com=="<powerdown>": os.system("init 0"
....
Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | proxygenerator
| Inviato il: 15/11/2012,16:55
|
bolle dai da mangiare ai troll?
| | | | MarKoZaKKa
| Inviato il: 15/11/2012,17:01
|
...per quelli che sanno programmare c'è Arduino... guai a chi mi tocca il PPTEA!!! GRRRRRR!
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | proxygenerator
| Inviato il: 15/11/2012,17:26
|
due righe di spiega sul motivo per il quale occorre spegnere il raspberry
| | | | NonSoloBolleDiAcqua
| Inviato il: 15/11/2012,17:32
|
Bè i motivi possono essere i più disparati...ma quello che mi preme è il risparmio energetico.Il rasp assorbe 2.5W che sono pochi per una abitazione ma sono tanti su un sistema che viene alimentato da pannello solare.
Esempio:sensore agganciato ad un pannello solare Si possono accumulare i dati sul PPTEA e poi si accende a fine dati il rasp, si copiano e e poi si spegne. Oppure si possono fare delle operazioni di connessione per inviare i dati sul server web remoto solo se c'è energia a sufficienza ...magari quando il sole è alto e questa energia viene 'buttata'.
Ti ho convinto?
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | proxygenerator
| Inviato il: 15/11/2012,17:36
|
capito, vuoi sfruttare il rasp come periferica. passo da te
| | | | elettro
Watt Gruppo:Utente Messaggi:30
Stato:
| Inviato il: 15/11/2012,18:23
|
CITAZIONE Se contesti i GOTO contesti il BASIC, quindi EABASIC insomma tutto il progetto invece per quanto riguarda l'assenza di indentazione, visto che non deve esserci, mi fai percepire che non sei così esperto come dici...o sbaglio?
CITAZIONE ...per quelli che sanno programmare c'è Arduino... guai a chi mi tocca il PPTEA!!! GRRRRRR!
CITAZIONE bolle dai da mangiare ai troll? se vi è più comodo questo linguaggio ok, cercavo di capire la scelta e l'ho capito. non ve lo tocco più giuro
CITAZIONE Si possono accumulare i dati sul PPTEA e poi si accende a fine dati il rasp, si copiano e e poi si spegne immagino che il PIC abbia dei pin SPI, quindi in questo caso tanto vale salvare direttamente su SD, magari con filestystem FAT. Sono sicuro che esista già qualcosa, ma purtroppo ci si limita alle SD <= 4gb, perchè da lì in poi non c'è certezza di implementazione della SPI
tra l'altro non avendo l'ACPI non si può "spegnere" il rasp, bisogna aggiungere un relè/mosfet per togliere definitivamente l'alimentazione. Riattaccandola poi si causa il riavvio. E' comunque un'ottima funziona da implementare, un altro caso potrebbe essere che il rasp viene acceso e fa da ponte wifi/ethenet tra micro e internet, così il micro scarica i dati e poi rimanda a nanna il rasp.
| | | | NonSoloBolleDiAcqua
| Inviato il: 15/11/2012,18:50
|
CITAZIONE (elettro @ 15/11/2012, 18:23) non ve lo tocco più giuro Tranquillo, tocca pure...ma cerca di guardare il disegno, non il dettaglio...dai l'impressione di guardare il dito e non la luna. Cerca di essere più costruttivo...siamo (tutti) alle ricerca di soluzioni/migliorie non di problemi.
CITAZIONE (elettro @ 15/11/2012, 18:23) immagino che il PIC abbia dei pin SPI, quindi in questo caso tanto vale salvare direttamente su SD, magari con filestystem FAT. Sono sicuro che esista già qualcosa, ma purtroppo ci si limita alle SD <= 4gb, perchè da lì in poi non c'è certezza di implementazione della SPI Per un certo verso ti sei risposto da solo, però cambiamo registro: ci illustri come si integra una SD da 8 Gb, ma nache 4 vanno bene, sul 2550 , quanto spazio occupa, l'HW necessario e i costi. Attendo una risposta.
CITAZIONE (elettro @ 15/11/2012, 18:23) ...un altro caso potrebbe essere che il rasp viene acceso e fa da ponte wifi/ethenet tra micro e internet, così il micro scarica i dati e poi rimanda a nanna il rasp. A dire il vero questa cosa l'ho già detta io...il tipo di connessione al momento è un dettaglio
-----------------------------------------------------------------------
Proseguiamo ed analizziamo le richieste di Pino...faccio due esempi e completo il discorso della data! Indipendentemente dal fatto che l'RTC è sul PPTEA o sul RASPBERRY possiamo avere sia la data che l'ora sul sistema che vogliamo. C'è anche la possibilità di non avere nessun RTC...quindi basta settare l'ora sul RASPBERRY ogni volta che si accende...oppure se si ha internet lo si fa mediante un comando che invia il PPTEA.
x elettro, ti va di scrivere qualche riga in python e settare l'orario sul rasp mediante la connessione web? mi saresti di aiuto.
IL PPTEA SETTA LA DATA E L'ORARIO SUL RASPBERRY
05 ' IL PPTEA SETTA LA DATE SUL RASPBERRY 10 SETIO=&H400FF 15 USBOUT ="RASPBERRY DATE" 33 RASPSEND="<setdate>2012/11/15 17:31:00" & CHR(10) 34 H=RASPRECEIVE 35 IF H="" THEN 34 37 PRINT H 39 WAITS 1 40 GOTO 40
Questo è il codice in python che gestisce la richiesta:
elif com=="<setdate>" : os.system("date -s \" "+ par + "\" "
IL PPTEA CHIEDE L'ORARIO AL RASPBERRY
05 ' IL PPTEA CHIEDE DATA E ORA AL RASPBERRY 10 SETIO=&H400FF 15 USBOUT ="RASPBERRY DATE" 33 RASPSEND="<date>"&CHR(10) 34 H=RASPRECEIVE 35 IF H="" THEN 34 37 PRINT H 39 WAITS 1 40 GOTO 40
Questo è il codice in python che gestisce la richiesta:
elif com=="<date>" : str_today=time.strftime("%d/%m/%y %H:%M:%S",time.gmtime()) pptea.write(str_today)
Un saluto Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | elettro
Watt Gruppo:Utente Messaggi:30
Stato:
| Inviato il: 15/11/2012,20:36
|
CITAZIONE Per un certo verso ti sei risposto da solo, però cambiamo registro: ci illustri come si integra una SD da 8 Gb, ma nache 4 vanno bene, sul 2550 , quanto spazio occupa, l'HW necessario e i costi. Attendo una risposta. non so come fare per una > di 8gb, serve l'interfaccia apposta MMC, ma per le SD <4gb si va di SPI tranquillissimi: http://digital-diy.com/forum/swordfish-bas...2550-t2021.html Come puoi vedere sono qualche centesimo di resistenze e un euro e mezzo al massimo di regolatore a 3.3v... inutile sottolineare che non servono se il micro sta già lavorando a 3.3V (cosa abbastanza normale se il micro lo permette e risparmiare energia è la priorità)
non avevo mica capito che il chip fosse compilabile nativamente in basic, pensavo che ci caricavi un programma (c o c++) che interpretava un file di testo con i comandi basic. Se questo è comunque possibile da fare, è interessate come sulla SD di possa caricare un file con un nome specifico, e all'avvio del pic, trovato questo file, lo esegua. così diventa facile caricare il codice senza bisogno di programmatori esterni (questa è un'altra cosa che non so.. il pic necessita di programmatori esterni o viene spedito con un boot-loader che permette di caricare il codice direttamente da seriale/usb?)
CITAZIONE settare l'orario sul rasp mediante la connessione web? il protocollo è l'NTP, la via migliore (IMHO) è di usare l'implementazione fornita da debian, quindi si installa i pacchetti "ntp ntp-simple ntpdate", poi basta lanciare da phyton il comando "ntpdate pool.ntp.org" (pool.ntp.org è un cluster di quasi 4000 server NTP sparsi per il mondo, direi che per un bel po' di anni resterà un indirizzo valido) e di aggiorna la data dell'orologio software. E' buona cosa sincronizzare anche l'orologio Hardware con il comando hwclock --systohc è altamente sconsigliato NON aggiornare la data all'avvio, perciò mi sembrerebbe strano che i pacchetti non siano già installati e se va di c*lo magari preconfigurati e lanciati in automatico all'avvio.(guarda nell'elenco dei demoni allì'avvio, immagino che debian si appoggi ancora su INIT 5 vista la sua politica di stabilità, ma se hai una distribuzione di test potrebbe già implementare SystemD)
il comando ntpdate è deprecato, quindi potrebbe non esserci, allora usa il comando "ntpd -qg", però a questo punto sei costretto a modificare il file "/etc/ntp.conf" mettendo la riga "server pool.ntp.org", tra l'altro operazione necessaria per settare il demone.
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|