View Code? Open in Web Editor
NEW
Plant nasce con scopo didattico, con lo scopo di introdurre tecnologie di programmazione javascript lato server attraverso nodejs. La sua implementazione continua durante un progetto pomeridiano finanziato dal FIS di istituto dell'IS Morano di Caivano (NA).
JavaScript 13.26%
HTML 59.49%
C++ 22.15%
Python 5.10%
plant's Issues
il gateway deve inviare tramite mqtt una sequenza di valori comprensibile a nodeJS.
in particolare la stringa passata avrà questa forma:
String msg= puntoAcq + ',' + temp + ',' + terUm + ',' + AriaUm + ',' + timeAcq;
dove per timeAcq
si intende a sua volta una stringa del tipo:
//anno-mese-giorno-ora-minuto
2018-00-6-10-34
è importante notare come il mese parta da 0, quindi gennaio è 0 febbraio 1 ecc...
il gruppo di lavoro sulla grafica ha due sotto gruppi su due branch: struttura e grafico
bisogna svolgere le seguenti operazioni:
entrambi i gruppi devono caricare le proprie modifiche aggiornando il proprio branch nel proprio account.
aggiornare il branch master rispetto alle modifiche avvenute sul branch upstream master (doceo/plant)
quando il lavoro dei sottogruppi è concluso bisogna portare i due branch sul master
riportare le modifiche portando i grafici nella struttura delle pagine che li inglobano
fare la pull request del branch master al branch master di doceo/plant (nel commento metti il riferimento a questa issue #26 )
manuale di riferimento:
http://rogerdudler.github.io/git-guide/index.it.html
https://git-scm.com/book/it/v1/Diramazioni-in-Git-Basi-di-Diramazione-e-Fusione
le pagine devono essere costruite con approccio modulare. l'intestazione ed il footer deve essere condiviso così le pagine si differenziano solo per il body.
sarebbe interessante quindi strutturare le pagine secondo i template EJS.
bisogna predisporre il sistema all'acquisizione dei dati tramite mqtt.
quando un client si collega riceve il vettore con tutti i dati.
se però rimane connesso e nel frattempo l'applicazione si chiude, al riavvio invia nuovamente lo stresso vettore e nel client si accumulano il doppio dei dati. va azzerato il vettore creato nel client.
bisogna creare un piccolo manualetto, anche in txt, per i comandi base di git.
in particolare:
fare la pull del branch doceo/plant
https://help.github.com/articles/merging-an-upstream-repository-into-your-fork/
creare un branch a partire dal proprio master
fare un commit delle modifiche e relativo push sul branch del proprio account
fare una pull request mettendo nel commento il tag relativo all'issue che si è risolta
aggiornare il proprio master facendo il merge del branch concluso
chiudere un branch
deve essere possibile accedere a tre percorsi distinti: html/index.html html/report.html html/admin.html
#8
vano individuati e gestiti i parametri di default per la visualizzazione di report e grafici.
esempio:
numero di campioni da estrarre per i singoli grafici
periodo temporale per i report
"fine tuning", ovvero: se ho 100 campioni, posso decidere di visualizzare una rilevazione ogni tre.
#8
bisogna ottimizzare il codice utilizzando il modulo path per accedere alle pagine senza vincoli di sistema operativo.
#8
#8
bisogna permettere il log degli eventi che accadono.
quindi bisogna introdurre il modulo MORGAN come indicato nel manuale di Fabio Tessitore
bisogna convertire la variabile vettore statico in dinamico:
aggiornare il branch master da doceo/plant e creare il branch vettore_dati
utilizzando librerie jquery per la generazione di un vettore casuale che genera il grafico.
generando un vettore casuale che ingloba i dati relativi ai 4 grafici e sempre con la stessa libreria distribuire i dati nei relativi grafici.
aggiornare il gruppo che lavora al core sul tipo di vettore che occorre per la generazione del grafico.
aggiornare il proprio account con il branch appena creato.
fare una pull request verso doceo/plant (nel commento metti il riferimento a questa issue #28 )
chiudere il branch appena creato.
#27
bisogna predisporre l'estrapolazione dei dati dal DB mongo.
In particolare:
estrapolare un numero N di dati dalla collezione delle rilevazioni. il valore N è una variabile estratta dalla collezione dei parametri di default.
estrapolare dalla collezione dei parametri un vettore che li contenga tutti.
bisogna cura di concordare con il gruppo che lavora all'interfaccia il criterio con cui si compilano
note:
non bisogna dimenticare di:
fare una pull del repository doceo/plant sul branch master
creare il branch "dati_mongo"
testare e validare le modifiche
pubblicare sul proprio account il branch appena concluso
fare una pull request del branch in oggetto avengo cura di inserire nel commento un riferimento a questa issue (#29 )
fare il merge del branch in oggetto con il proprio master
cancellare il branch
riferimenti:
qui c'è anche qualche esempio di query tramite nodeJS.
https://docs.mongodb.com/manual/tutorial/query-documents/
quando ricevo un dato devo fare due cose:
aggiornare il grafico con il nuovo dato
eliminare dal grafico il primo dato
è uno shift del vettore dei dati che compongono il grafico
prova a fare un avanzamento del master, facendo finta che sia il contributo di qualche altro sviluppatore
Bisogna individuare il metodo per comunicare dati dal core all'interfaccia grafica e viceversa.
il riferimento è al modulo socket, quindi:
creare il branch socket_core
testare il passaggio di una variabile statica alla richiesta di una singola pagina. creare quindi un percorso aggiuntivo che richiede una pagina test.html
testare il passaggio di parametri, quando la pagina è già stata caricata dal client
aggiornare il branch sul proprio account e fare una pull request (nel commento metti il riferimento a questa issue #27 )
fare il merge del branch in questione con il branch master del proprio account
chiudere il branch aperto e fare una pull dal branch upstream doceo/plant
guide di riferimento:
https://git-scm.com/book/it/v1/Diramazioni-in-Git-Basi-di-Diramazione-e-Fusione
http://rogerdudler.github.io/git-guide/index.it.html