Παράδειγμα GAT: Ειδοποίηση με SMS για αλλαγές κατάστασης στις Εισόδους

Αυτό είναι ένα παράδειγμα για μια από τις πιο συχνά χρησιμοποιούμενες λειτουργίες, η οποία είναι η ειδοποίηση ορισμένων παραληπτών ("πελάτες") για αλλαγές κατάστασης που συμβαίνουν στις εισόδους της συσκευής GAT.
Σε αυτό το παράδειγμα, οι είσοδοι τάσης συνδέονται με μηχανικούς διακόπτες, πράγμα που σημαίνει ότι ελέγχουμε αν υπάρχει τάση σε κάποια είσοδο ή όχι.

GAT-1 example 1 preview

Το σενάριο αυτής της εφαρμογής είναι το εξής:

  • Όταν ενεργοποιηθεί η είσοδος τάσης #1 , ο
    πελάτης #1 θα λάβει το μήνυμα " Input #1 ON".

  • Ο πελάτης #2 θα ενημερωθεί τόσο για την ενεργοποίηση όσο
    και για την απενεργοποίηση της εισόδου τάσης #2 ,
    με τα μηνύματα "Input #2 ON"και "Input #2 OFF"αντίστοιχα.
  • Όταν ενεργοποιηθεί η είσοδος τάσης #3 ,
    όλοι οι πελάτες θα λάβουν το μήνυμα "Input #3 ON".
  • Τα παραπάνω υλοποιούνται με το παρακάτω πρόγραμμα εφαρμογής:

    TN ;Telephone Numbers list
    1111111111 ;Client #1
    2222222222 ;Client #2
    3333333333 ;Client #3

    IM 1 1 ;Input #1 event Messages go to client #1
    "Input #1 ON" ;Activation message
    ""  ;No deactivation message

    IM 2 2 ;Input #2 event Messages go to client #2
    "Input #2 ON" ;Activation message
    "Input #2 OFF" ;Deactivation message

    IM 3 9 ;Input #3 event Messages go to all clients
    "Input #3 ON" ;Activation message
    "" ;No deactivation message

    Αυτό το απλό πρόγραμμα εφαρμογής περιέχει δύο διαφορετικές εντολές ρύθμισης παραμέτρων:

    • Η εντολή "TN" χρησιμοποιείται για την ενημέρωση της συσκευής GAT με τους αριθμούς τηλεφώνου των 3 πελατών.
    • Η εντολή "IM" χρησιμοποιείται για τη ρύθμιση των μηνυμάτων που αποστέλλονται ως αντίδραση σε κάθε συμβάν εισόδου τάσης.

    Όλες οι εντολές και τα μηνύματα είναι γραμμένα με απλά λατινικά γράμματα (ASCII).

    Σε αυτό το κείμενο προγράμματος χρησιμοποιούμε μια ωραία δυνατότητα της εφαρμογής " GATcomm ":
    Τα σχόλια σε ένα πρόγραμμα είναι πολύ χρήσιμα για να το κατανοήσει ο χρήστης,
    είτε όταν το πρόγραμμα γίνεται πολύπλοκο
    είτε όταν έχει περάσει λίγος χρόνος από την αρχική γραφή.
    Το ( πράσινο ) κείμενο μετά τον χαρακτήρα " ; " είναι σχόλια, τα οποία μπορούν να γραφτούν σε οποιαδήποτε γλώσσα.
    Ο χρήστης μπορεί να προσθέσει σχόλια σε οποιαδήποτε θέση του προγράμματος.
    Κάθε κείμενο που ξεκινά με τον χαρακτήρα " ; " και μέχρι το τέλος της γραμμής θεωρείται σχόλιο.

    Μπορείτε εύκολα να ανεβάσετε αυτό το πρόγραμμα στη συσκευή GAT με τη βοήθεια της εφαρμογής "GATcomm"
    ή να στείλετε στη συσκευή GAT ένα SMS όπως το παρακάτω:

    0000
    TN
     1111111111 2222222222 3333333333
    IM 1 1 "Input #1 ON" ""
    IM 2 2 "Input #2 ON" "Input #2 OFF"
    IM 3 9 "Input #3 ON" ""

     
    Το " 0000 " στην αρχή του μηνύματος είναι ο κωδικός ασφαλείας, ο οποίος είναι απαραίτητος ώστε η συσκευή GAT να δέχεται οποιαδήποτε εντολή.

     

    Ένα βήμα παρακάτω...
    Σε ορισμένες περιπτώσεις, πρέπει να φιλτράρουμε τις εισόδους τάσης για να αποφύγουμε ψευδείς συναγερμούς λόγω ηλεκτρικού ή μηχανικού θορύβου ή οποιωνδήποτε άλλων ανεπιθύμητων σύντομων συμβάντων.
    Αυτό γίνεται αυξάνοντας τον χρόνο απόκρισης της τάσης εισόδου.
    Ο προεπιλεγμένος χρόνος απόκρισης των εισόδων τάσης είναι 1 δευτερόλεπτο, οπότε αν είμαστε εντάξει με αυτό δεν χρειάζονται περαιτέρω εντολές.
    Ας πούμε ότι για το παραπάνω παράδειγμα χρειαζόμαστε διαφορετικούς χρόνους απόκρισης και συγκεκριμένα:

    • 3 δευτερόλεπτα για την είσοδο τάσης #1
    • 5 δευτερόλεπτα για την είσοδο τάσης #2
    • 20 δευτερόλεπτα για την είσοδο τάσης #3

    Η εντολή για τη ρύθμιση αυτής της παραμέτρου είναι η " IT " και για να επιτύχουμε το επιθυμητό αποτέλεσμα πρέπει να προσθέσουμε τις ακόλουθες εντολές στο πρόγραμμα:

    IT 1 30   ;Input #1 reaction time: 3 seconds
    IT 1 50   ;Input #2 reaction time: 5 seconds
    IT 1 200 ;Input #1 reaction time: 20 seconds

     

    Έτσι το πλήρες πρόγραμμα γίνεται ως εξής:

    TN ;Telephone Numbers list
    1111111111 ;Client #1
    2222222222 ;Client #2
    3333333333 ;Client #3

    IM 1 1 ;Input #1 event Messages go to client #1
    "Input #1 ON" ;Activation message
    ""  ;No deactivation message

    IM 2 2 ;Input #2 event Messages go to client #2
    "Input #2 ON" ;Activation message
    "Input #2 OFF" ;Deactivation message

    IM 3 9 ;Input #3 event Messages go to all clients
    "Input #3 ON" ;Activation message
    "" ;No deactivation message

    IT 1 30   ;Input #1 reaction time: 3 seconds
    IT 2 50   ;Input #2 reaction time: 5 seconds
    IT 3 200 ;Input #1 reaction time: 20 seconds

     

    Στην περίπτωση που η συσκευή είναι ήδη εγκατεστημένη και λειτουργεί σε κάποιο απομακρυσμένο μέρος, μπορούμε να της στείλουμε ένα SMS για να τροποποιήσουμε τις παραμέτρους της ενώ λειτουργεί:

    0000 IT 1 30 IT 2 50 IT 3 200

     

    Σχετικά με τη σύνταξη εντολών

    Αν προσέξετε το παραπάνω μήνυμα, θα παρατηρήσετε ότι οι εντολές είναι όλες σε μία γραμμή. Η συσκευή GAT δέχεται μεγάλη ελευθερία στη σύνταξη εντολών. Η βασική προϋπόθεση είναι ότι το μήνυμα ξεκινά με τον (σωστό) κωδικό ασφαλείας ακολουθούμενο από τουλάχιστον ένα κενό ή χαρακτήρα αλλαγής γραμμής. Ακόμη και ο χαρακτήρας διαστήματος μεταξύ της εντολής και της πρώτης παραμέτρου μπορεί να λείπει, όπως φαίνεται στο ακόλουθο μήνυμα:

    0000 IT1 30 IT2 50 IT3 200

     

    Η προεπιλεγμένη συμπεριφορά επικοινωνίας της συσκευής GAT είναι να απαντά σε οποιοδήποτε εισερχόμενο μήνυμα εντολών με ένα μήνυμα επιβεβαίωσης.
    Το μήνυμα επιβεβαίωσης για το παραπάνω μήνυμα εντολών θα είναι:

    O.K. IT1 30 IT2 50 IT3 200


    που είναι το ληφθέν μήνυμα με μία διαφορά: Ο κωδικός ασφαλείας έχει αντικατασταθεί με "O.K.".
    Σε περίπτωση που η συσκευή GAT βρει κάποιο σφάλμα στο ληφθέν μήνυμα, θα επιστρέψει ένα μήνυμα όπου θα προσπαθήσει να δείξει τη θέση του σφάλματος.
    Ας πούμε λοιπόν ότι στέλνουμε το ακόλουθο μήνυμα:

    0000 IT1 30 IY2 50 IT3 200

     
    Η δεύτερη εντολή είναι γραμμένη λάθος "IY"αντί για το σωστό "IT".
    Η συσκευή GAT θα απαντήσει με το ακόλουθο μήνυμα:

    E013 IT1 30 >IY2 50 IT3 200


    Το μήνυμα απάντησης ξεκινά τώρα με "E013" που σημαίνει " Σφάλμα στη θέση #13 " και ο χαρακτήρας ' > ' εισάγεται ακριβώς πριν από τη λάθος εντολή.

    Αυτό ήταν ένα πρώτο παράδειγμα σχετικά με τον προγραμματισμό και τη λειτουργικότητα των συσκευών GAT.
    Εσκεμμένα δεν ασχοληθήκαμε πολύ με το λογισμικό "GATcomm", για να δείξουμε ότι κάποια απλή δουλειά μπορεί να γίνει απλά γράφοντας και στέλνοντας κάποιες εντολές μέσω SMS με το κινητό τηλέφωνο.