nkarama Δημοσ. 15 Νοεμβρίου 2015 Δημοσ. 15 Νοεμβρίου 2015 Καλησπέρα, επειδή έχω να ασχοληθώ με HTML απο την εποχή του Νώε (απο HTML2.0) θα ήθελα την βοήθειά σας. Εχω ένα Raspberry Pi το οποίο μαζέυει 2 τιμές float απο μερικά Αrduinos (θερμοκρασία και υγρασία απο 4 δωμάτια και εξωτερικό χώρο). Το πρόγραμμα στο RPI είναι γραμμένο σε C και τα δεδομένα έρχονται τόσο απο το SPI bus όσο και απο το I2C. Οι αισθητήρες/arduinos στέλνουν δεδομένα κάθε 10 λεπτά. Υπάρχουν 10 διαφορετικές μεταβλητές σε αυτό το πρόγραμμα που κρατούν τις τρέχουσες τιμές οπως στέλνονται. Αυτές τις μεταβλητές φυσικά μπορώ να τις κάνω ότι θέλω, πχ να τις γράφω σε ένα αρχείο, να τις βάζω σε μια database, etc. Οτι θα βολέψει καλύτερα. Θα ήθελα τώρα αυτά τα δεδομένα να τα οπτικοποιήσω. Στο RPI θα τρέχει ένας web server και θα ήθελα να σερβίρει μια απλούστατη σελίδα με την τρέχουσα θερμοκρασία και υγρασία για κάθε δωμάτιο καθώς και την ιστορικότητα για τις τελευταίες 24 ώρες. Θα ήθελα την γνώμη σας με ποιό τρόπο θα μπορούσε να γίνει κάτι τέτοιο, με τα εξής δεδομένα: - Πρέπει να είναι κάτι "ανάλαφρο" γιατί το RPI δεν είναι για πολλά. - Αν υπάρχει δυνατότητα για απεικόνηση γραφημάτων για τιμές προηγούμενες των 24 ωρών (σε άλλες σελίδες) Υπάρχει κάτι έτοιμο που να προτείνετε για τα charts? Ψαχουλέυοντας στο net έπεσα πάνω στο charts.js αλλά δεν ξέρω το πόσο εύκολο θα είναι να πάρω δεδομένα απο εξωτερική πηγή. Θα ήταν χρήσιμη η χρήση μιας DB ή να κάτσω στα απλά και απέριτα CSV αρχεία? Ευχαριστώ εκ των προτέρων για κάθε βοήθεια. Νίκος
alou Δημοσ. 16 Νοεμβρίου 2015 Δημοσ. 16 Νοεμβρίου 2015 Το ανάλαφρο σε νοιάζει όσον αφορά τη διαδικασία αποθήκευσης και δημιουργίας των δεδομένων, που θα είναι λογικά json. Ανάλογα τι παραμετροποίηση δίνεις σε αυτό που σερβίρεις, πιθανώς να σε συμφέρει να αποθηκεύεις json αρχεία έτοιμα για το κάθε view και να τροποποιούνται πχ κάθε μέρα / ώρα κλπ. (από εκεί θα ξεκίναγα) Το library που θα χρησιμοποιήσεις, προφανώς javascript, δεν έχει και πολύ μεγάλη σημασία εφόσον το render θα γίνει στον browser και απλά θα σερβίρεις δεδομένα και html. Οπότε πας στην πιο απλή λύση που σε καλύπτει, μια χαρά μου ακούγεται το chartJS και είναι πολύ εύκολο να το χρησιμοποιήσεις με 5 γραμμές javascript και δεδομένα σε μορφή json. Αν όμως θες real time παρακολούθηση θερμοκρασιών πχ και alert όταν ανέβει η θερμοκρασία πάνω από Χ για να μη χαλάσει ο κιμάς, θα πρέπει να υποστηρίξεις κάτι πιο πολύπλοκο τοπικά ή να αποθηκεύεις σε λύσεις τύπου firebase που θα κάνουν το real time πολύ πιο εύκολο, χωρίς να στραγγίξεις το pi με setinterval
nkarama Δημοσ. 16 Νοεμβρίου 2015 Μέλος Δημοσ. 16 Νοεμβρίου 2015 Ευχαριστώ για την απάντηση, Αναλαφρο εννοούσα αν γίνετε να μην χρησιμοποιείτε το Raspberry για να φτιάξει τα γραφήματα, οπως πχ το MRTG που στέλνει στον browser έτοιμο GIF το οποίο το φτιάχνει ο webserver. Δεν έχω ιδέα τι είναι το json αλλά θα προσπαθήσω να μάθω. Φαντάζομαι είναι text αρχεία κάποιας μορφής? Τώρα κοιτάω και το d3.js το οποίο μου φαίνεται επίσης πολύ καλό. Θέμα με alerts κτλ δεν έχω, μιας και απο το κυρίως πρόγραμμα που διαβάζει τα δεδομένα απο τους αισθητήρες μπορω να κάνω ότι θέλω (θα τα στέλνω με SMS, αλλά αυτό είναι για αργότερα). Οπότε τελικά, μάλλον θα προχωρήσω με το να αποθηκεύω τα δεδομένα σε text files και να τα διαβάζω απο εκεί... Ευχαριστώ πολύ ξανά, Νίκος
anvasila Δημοσ. 16 Νοεμβρίου 2015 Δημοσ. 16 Νοεμβρίου 2015 To Raspberry θα έχει πρόσβαση στο internet? Εάν ναι τότε μπορείς να χτίσεις ένα API που θα δέχεται/στέλνει δεδομένα και να κάνει αυτό όλη τη δουλειά των υπολογισμών. Η παρουσίαση των γραφημάτων θα γίνετε από web(www.kati.gr, με αποτέλεσμα να έχεις πρόσβαση στα στατιστικά από παντού) ή θα τα στέλνει έτοιμα στο Raspberry με API και θα κάνει αυτό την παρουσίαση. Υ.Γ. Ακούγεται ενδιαφέρον project και θα με ενδιέφερε να ασχοληθώ. Αν θέλεις στείλε μου ένα inbox να το συζητήσουμε περαιτέρω, μήπως και καταλήξουμε σε κάτι καλό.
doctor_667 Δημοσ. 16 Νοεμβρίου 2015 Δημοσ. 16 Νοεμβρίου 2015 Όπως σου είπαν τα παιδιά, θα χρειαστεί να φτιάξεις ένα ΑΡΙ που θα επιστρέφει JSON και εσύ με μια από τις βιβλιοθήκες που βρήκες θα φτιάχνεις τα γραφήματα. Επειδή έχω χρησιμοποιήσει και τις δύο βιβλιοθήκες, οι δυνατότητες τους και ο σκοπός τους είναι εντελώς διαφορετικός. Το chart.js είναι καλό για κάτι απλό αν αυτό είναι που θες και πολύ εύκολο να το χρησιμοποιήσεις. Το d3.js από την άλλη έχει απίστευετες δυνατότητες και μπορείς να κάνεις άπειρα πράγματα με τα δεδομένα σου. Αυτό φυσικά το κάνει πιο δύσκολο να το μάθεις. Οπότε ζυγίζεις τι θες να κάνεις και κρίνεις τι είναι καλύτερο.
nkarama Δημοσ. 17 Νοεμβρίου 2015 Μέλος Δημοσ. 17 Νοεμβρίου 2015 Σας ευχαριστώ όλους. Τελικά νομίζω ότι η περισσότερο απλή λύση για την δική μου περίπτωση είναι η d3.js. Παρόλο που θα χρησιμοποιήσω μόνο ένα ελάχιστο (μηδαμινό) μέρος απο τις δυνατότητές της, έχει ήδη έτοιμα API's για το parsing CSV αρχείων, οπότε φαίνεται ότι θα μου κάνει την ζωή ευκολότερη. Το όλο project δεν είναι τίποτε σπουδαίο. Απλά μετράω την θερμοκρασία και την υγρασία των δωματίων στο σπίτι μου καθώς και την εξωτερική και θέλω να απεικονίζω τις τελευταίες 24 ώρες. Θα το προσπαθήσω μόνος μου, όλο και κάτι θα βγάλω.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα