Ανάλυση και Σύνθεση Τηλεπικοινωνιακών Διατάξεων (ΤΗΛ412) Παρουσίαση εργασίας εξαμήνου Ανάπτυξη απομακρυσμένου δικτύου αισθητήρων Πολυτεχνείο Κρήτης Τμήμα ΗΜΜΥ Telecom Lab Χειμερινό Εξάμηνο 2010-2011 Αθανασοπούλου Γεωργία (2006030030) Αλιμπέρτης Εμμανουήλ (2006030080) 1/15
Μετρήσεις από τον Ψηλορείτη απευθείας στο γραφείο μας στα Χανιά;;; Απομακρυσμένο χωράφι Επίβλεψη μετρήσεων από το σπίτι Μετρήσεις στο χωράφι Πηγή: http://agrotopos.blogspot.com/2009/03/blog-post_12.html 2/15
Η προϋπάρχουσα δομή του δικτύου αισθητήρων Ροή πληροφορίας του δικτύου αισθητήρων: Κόμβοι δικτύου gateway κόμβος εφαρμογή λήψης και παρουσίασης σε ένα host PC. O gateway κόμβος δέχεται όλες τις μετρήσεις από όλους τους υπόλοιπους κόμβους. Είναι ένα development kit του 8051 που συνδέεται μέσω του serial port (UART) στο PC και μεταφέρει έτσι τις μετρήσεις στο Sensor Network Host Application(εφαρμογή σε c++) για παρουσίαση. Πηγή: Asteris Megasthenis, Sensor Network Host Application Πηγή: Asteris Megasthenis, Sensor Network Host Application 3/15
Ο νέος gateway κόμβος που υλοποιήθηκε Μη πρακτική λύση η μόνιμη παρουσία PC στο χωράφι για να πάρουμε τις μετρήσεις. Η απομακρυσμένη αποστολή των μετρήσεων στο σημείο που θέλουμε εμείς παραμένει πρόβλημα αφού σταθερή πρόσβαση στο Ιnternet (π.χ. adsl) είναι δύσκολο να υπάρξει στον αγρό. Υπάρχει κάτι που να λύνει ταυτόχρονα και τα δύο προβλήματα; To δίκτυο κινητής τηλεφωνίας (GSM) 4/15
Σύνδεση του gateway με τον με το GSM modem H επιλογή του serial port ως διασύνδεση μεταξύ modem και microcontroller (gateway κόμβος) ήταν ένα από τα βασικά κριτήρια αγοράς. Γιατί serial port; Γιατί είναι πιο απλό στο προγραμματισμό του σε σχέση με το USB και το USB στη δική μας περίπτωση δεν θα προσέφερε κάτι παραπάνω. Εν τέλει το ήδη απλό Serial Port αποδείχτηκε πολύπλοκο στην ανάπτυξη. Προβλήματα: Διαφορετικό βύσμα σειριακής σε κάθε συσκευή. Τα καλώδια σύνδεσης του modem με τον gateway αλλά και με το PC σχεδιάστηκαν εξ αρχής και κολλήθηκαν από εμάς. 5/15
Προγραμματισμός GSM modem από τον gateway Ο gateway(microcontroller) στέλνει εντολές(AT commands) στο modem μέσω του σειριακού καλωδίου. AT commands: μικρές εντολές που χρησιμοποιούνται για ενέργειες όπως αποστολή SMS, δημιουργία κλήσης κλπ. (πχ AT+CPIN=xxxx για εισαγωγή κωδικού PIN). Ενδεικτικό παράδειγμα κώδικα gateway: #define connectToTCPServerWIP "AT+WIPCREATE=2,1,\"147.27.38.124\",\"51325\"\n" sendCommandToModem(connectToTCPServerWIP); do{//this while loop will detect the answer from the modem if(((modemReceiveBuffer[0]=='\0') &&…&&(modemReceiveBuffer[7]=='\n'))) {…break;} if(((modemReceiveBuffer[19]=='2')&&(modemReceiveBuffer[20]==',')&&(modemReceiveBuffer[21]=='1'))) {… break;} }while(1);//waiting ANSWER do while 6/15
Προγραμματισμός GSM modem από τον gateway Προβλήματα : Η ζωή του μηχανικού με τα manuals. Διαφορετική εταιρία σχεδίασε το modem και διαφορετική το πουλάει πλέον, με αποτέλεσμα όλα τα manuals και το documentation να είναι διάσπαρτα στο internet. Τον έλεγχο της σωστής ροής των εντολών ο gateway τον υλοποιεί με χειρισμό του κατάλληλου buffer για την επικοινωνία μέσω σειριακής. Εκτελώντας σε αυτόν “παράλληλα” εισαγωγή, αναζήτηση και διαγραφή, δυσκολεύει πολύ ο συγχρονισμός αλλά απαιτείται και αρκετή μνήμη. 7/15
Αποστολή δεδομένων μέσω του GSM Modem (SMS vs GPRS) SMS: Τις μετρήσεις του δικτύου αισθητήρων τις αποστέλλουμε περιλαμβάνοντας τες σε απλά SMS. Ο δέκτης της πληροφορίας είτε θα έχει αδικαιολόγητη πολυπλοκότητα (π.χ. κινητό συνδεδεμένο μέσω USB σε υπολογιστή να προωθεί για επεξεργασία τα SMS που δέχεται) είτε αυξάνει αδικαιολόγητα το κόστος (i. virtual numbers, ii. αγορά για δέκτη δεύτερου GSM Modem) Tα SMS έχουν σχετικά υψηλό αριθμό απωλειών και δεν υπάρχει τρόπος για ανάκτηση. Κόστος ανά byte πολύ υψηλότερο σε σχέση με το GPRS. Μόλις 160 bytes/SMS. Σ’ ένα κλιμακωμένο δίκτυο σε συνδυασμό με τις απώλειες καθιστούν το SMS δύσκολο στο χειρισμό και ασύμφορο 8/15
Αποστολή δεδομένων μέσω του GSM Modem (SMS vs GPRS) GPRS: Προσθέτει κάποια πολυπλοκότητα στον αποστολέα αλλά εξαλείφει όλα τα άλλα μειονεκτήματα του SMS. από τα GSM Modems υποστηρίζεται TCP/IP over GPRS που είναι με διαφορά η πιο Generic λύση που θα μπορούσαμε να έχουμε με δυνατότητες κλιμάκωσης και με τα πλεονεκτήματα του TCP. Τελική επιλογή: GPRS καθώς είναι πολύ πιο ευέλικτο. Προβλήματα : Η ζωή του μηχανικού με τα manuals. Η εταιρία που σχεδίασε το GSM modem είχε υλοποιήσει δυο εντελώς διαφορετικά APIs για την υποστήριξη TCP/IP over GPRS. Για να βρεθεί ποια έκδοση είχε το modem έπρεπε να γνωρίζουμε το firmware του. Όμως λόγω του διάσπαρτου documentation ούτε αυτό ήταν εύκολο. 9/15
FSM του gateway κόμβου 10/15 Initialization Gateway (MCU) Close connection Initialization GSM Initialization GPRS Send data over GPRS with TCP/IP TCP/IP connect Initialization TCP/IP Yes No Wait data from sensor network Reconnect GPRS Check if GPRS is OK 10/15
Λήψη, επεξεργασία και αποθήκευση της πληροφορίας στον Web Server Web Server: Ένα PC που είναι συνδεδεμένο στο διαδίκτυο και δέχεται δεδομένα πάνω από TCP/IP socket. To GSM Μodem φροντίζει ώστε να ενθυλακώνονται τα TCP/IP πακέτα στο GPRS και τελικά να μεταφέρονται στο PC μας. O Web Server τρέχει σε ένα Linux PC. Είναι γραμμένος σε C για λόγους ταχύτητας. Προβλήματα : Συμβατότητα χαρακτήρων από τον gateway(microcontroller) στον server. 11/15
Λήψη, επεξεργασία και αποθήκευση της πληροφορίας στον Web Server Επιλέχθηκε το σύστημα βάσεων δεδομένων mySQL: Free, Open Source και σε συνδυασμό με υψηλές επιδόσεις Η χρήση βάσης δεδομένων επιτρέπει την αποθήκευση μετρήσεων από ένα κλιμακωμένο δίκτυο αισθητήρων 12/15
Άμεσα επόμενα βήματα Τελειοποίηση της υλοποίησης του παραπάνω συστήματος Σύνδεση με τον περσινό κώδικα του gateway Αποκωδικοποίηση των δεδομένων και αποθήκευση τους στην βάση δεδομένων Ανάπτυξη Web περιβάλλοντος για την παρουσίαση της πληροφορίας. Έτσι θα υπάρχει πρόσβαση στις μετρήσεις από οποιοδήποτε laptop ή κινητό στον κόσμο, το οποίο έχει πρόσβαση στον internet 13/15
Μελλοντικά βήματα Αξιοποίηση του embedded περιβάλλοντος που προσφέρει το modem. Με χρήση του openAT προγραμματιστικού περιβάλλοντος που προσφέρεται (παρόμοιο με το eclipse). Αυτό θα βοηθήσει σε προβλήματα μνήμης που αντιμετωπίζουμε με τον microcontroller. Αυτόματη ειδοποίηση, με email ή SMS εάν κάποιος κόμβος διψάσει. Ολοκληρωμένο πληροφοριακό σύστημα διαχείρισης μέσω Web και ενσωμάτωση χάρτη όπου θα φαίνονται οι κόμβοι και οι μετρήσεις Mobile application 14/15
Ευχαριστούμε για τη προσοχή σας! Ερωτήσεις;;; 15/15