Πίνακας περιεχομένων:

Συνδέστε το φυτό σας στο σύννεφο: 10 βήματα
Συνδέστε το φυτό σας στο σύννεφο: 10 βήματα

Βίντεο: Συνδέστε το φυτό σας στο σύννεφο: 10 βήματα

Βίντεο: Συνδέστε το φυτό σας στο σύννεφο: 10 βήματα
Βίντεο: 10 Παιδιά Τηλεοπτικών Σειρών Που Μεγάλωσαν (Τότε vs. Τώρα) (Υπότιτλοι) 2024, Ιούλιος
Anonim
Συνδέστε το φυτό σας στο σύννεφο
Συνδέστε το φυτό σας στο σύννεφο
Συνδέστε το φυτό σας στο σύννεφο
Συνδέστε το φυτό σας στο σύννεφο
Συνδέστε το φυτό σας στο σύννεφο
Συνδέστε το φυτό σας στο σύννεφο

Στο γραφείο μας υπάρχει ένας κάκτος που δεν έλαβε την προσοχή που του άξιζε. Δεδομένου ότι εργάζομαι σε μια εταιρεία πληροφορικής και ήθελα να πειραματιστώ με το LoRa, τις λύσεις χωρίς διακομιστή και το AWS, ονόμασα τον κάκτο μας Steeve και τον σύνδεσα στο σύννεφο. Τώρα μπορείτε να παρακολουθείτε τον Steeve από σχεδόν οπουδήποτε στον κόσμο χρησιμοποιώντας την ιστοσελίδα που έκανα για αυτόν: τη διεπαφή ιστού του Steeve.

Προμήθειες

1 κάκτος / το αγαπημένο σας φυτό

1 Arduino MKR WAN 1300 (κατάστημα Arduino)

1 868mHz/914mHz (εξαρτάται από την τοποθεσία σας) κεραία (Amazon)

1 LoRa Gateway όταν δεν βρίσκεται στην εμβέλεια ενός (Amazon)

2 μπαταρίες ΑΑΑ

1 αισθητήρας TMP102 (Amazon)

1 αισθητήρας υγρασίας εδάφους (Amazon)

Αγώγιμα καλώδια (Amazon)

συγκολλητικό σίδερο

Θήκη μπαταρίας (Amazon)

υπόθεση

προαιρετικό: Τρισδιάστατος εκτυπωτής (εάν μπορείτε να χρησιμοποιήσετε έναν τρισδιάστατο εκτυπωτή τότε δεν χρειάζεστε θήκη μπαταρίας ή θήκη)

Βήμα 1: Εκτύπωση θήκης (προαιρετικό)

Εκτύπωση θήκης (προαιρετικό)
Εκτύπωση θήκης (προαιρετικό)
Εκτύπωση θήκης (προαιρετικό)
Εκτύπωση θήκης (προαιρετικό)

Κατεβάστε αυτό το αρχείο zip, αποσυμπιέστε το και εκτυπώστε τα αρχεία. Τα αρχεία επισημαίνονται με το αναγκαίο ποσό του στοιχείου.

Μη διστάσετε να προσθέσετε κάτι στο καπάκι όπως έκανα.

Τα εκτύπωσα χρησιμοποιώντας ύψος στρώματος 0,2mm και 15% γέμισμα.

Τα κιγκλιδώματα μπορούν να συνδεθούν χρησιμοποιώντας βίδες m3.

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

Βήμα 2: Καλωδίωση

Καλωδίωση
Καλωδίωση
  • Πριν ενεργοποιήσετε το arduino βεβαιωθείτε ότι η κεραία είναι συνδεδεμένη, η ενεργοποίηση του arduino χωρίς την κεραία μπορεί να προκαλέσει ζημιά.
  • Συνδέστε τα πάντα σύμφωνα με το διάγραμμα καλωδίωσης που παρέχεται.
  • Εάν κολλάτε αυτά τα καλώδια, βεβαιωθείτε ότι δεν γεφυρώνετε ακίδες στους αισθητήρες ή το arduino!

Βήμα 3: Δημιουργήστε μια εφαρμογή στο δίκτυο Things

  • Μεταβείτε στη διεύθυνση https://www.thethingsnetwork.org/ και αν δεν έχετε ακόμη λογαριασμό, κάντε έναν.
  • Μόλις έχετε λογαριασμό και συνδεθείτε, μπορείτε να μεταβείτε στην κονσόλα (επάνω δεξιά γωνία, κάντε κλικ στο όνομα χρήστη σας και στη συνέχεια στην κονσόλα).
  • Κάντε κλικ στις εφαρμογές.
  • Μόλις φορτωθεί η σελίδα θα πρέπει να μπορείτε να κάνετε κλικ στην επιλογή "προσθήκη εφαρμογής".
  • Συμπληρώστε τη φόρμα και επιλέξτε τη σωστή περιοχή στο κάτω μέρος. Κάντε κλικ στο "προσθήκη εφαρμογής".
  • Συγχαρητήρια, μόλις δημιουργήσατε μια εφαρμογή στο δίκτυο πραγμάτων. = Δ

Βήμα 4: Σύνδεση του Arduino στο Things Network

Για να προγραμματίσετε το arduino, σας συμβουλεύω να χρησιμοποιήσετε το online arduino ide, αυτό καθιστά πολύ εύκολη τη φόρτωση στην απαραίτητη βιβλιοθήκη.

  • Ανοίξτε την εφαρμογή σας στο δίκτυο πραγμάτων.
  • Θα πρέπει να υπάρχει ένα πεδίο με τίτλο συσκευές, κάντε κλικ στην εγγραφή συσκευής.
  • θα δείτε ένα πεδίο που ονομάζεται Αναγνωριστικό συσκευής. αυτό είναι το όνομα που θέλετε να δώσετε στον αισθητήρα σας. Θα πρέπει να υπάρχει ένα άλλο με ετικέτα Device EUI, αυτό είναι το μοναδικό κλειδί που χρησιμοποιεί το arduino σας για τον έλεγχο ταυτότητας.
  • Για να πάρουμε αυτό το κλειδί πρέπει να αναβοσβήνουμε το arduino με ένα συγκεκριμένο σκίτσο. Το σκίτσο μπορεί να βρεθεί παντού. Αυτό το σκίτσο πρέπει να τρέξει και πάνω από τη σειριακή οθόνη πρέπει να στείλει το eui. Αντιγράψτε το eui από τη σειριακή οθόνη στο πεδίο Device EUI στο δίκτυο πραγμάτων.
  • Κάντε κλικ στην εγγραφή.
  • Τώρα καταχωρήσαμε το arduino μας στο cloud. Ρθε η ώρα να ξεκινήσετε την αποστολή μηνυμάτων.
  • Θα έπρεπε να έχετε ανακατευθυνθεί σε μια σελίδα που ονομάζεται επισκόπηση συσκευής. Εδώ μπορείτε να δείτε τη συσκευή σας eui, την εφαρμογή eui και το κλειδί εφαρμογής.
  • Για να συνεχίσουμε πρέπει να αναβοσβήνουμε το τελικό σκίτσο στο arduino. Το σκίτσο μπορείτε να το βρείτε εδώ.
  • Όταν ανοίξετε αυτόν τον σύνδεσμο, θα δείτε πολλές καρτέλες. Ανοίξτε την καρτέλα μυστικά. Υπάρχουν 2 κλειδιά που πρέπει να αντιμετωπίσετε από το δίκτυο πραγμάτων στο αρχείο μυστικών.
  • Μόλις συμπληρωθούν αυτά τα πλήκτρα, μπορείτε να αναβοσβήσετε το arduino. Θα αρχίσει να στέλνει δεδομένα στο δίκτυο πραγμάτων μία φορά κάθε ώρα.
  • Εάν όλα πήγαν σωστά, θα πρέπει να μπορείτε να δείτε μηνύματα που εισέρχονται στην καρτέλα Δεδομένα στο δίκτυο πραγμάτων κατά την επαναφορά του arduino (το μόνο κουμπί στον πίνακα).

    • Εάν δεν εμφανίζονται δεδομένα από πάνω, αυτό μπορεί να σημαίνει ότι δεν βρίσκεστε στην περιοχή μιας σωστής πύλης LoRa. Μπορείτε να ελέγξετε έναν χάρτη με όλες τις διαθέσιμες πύλες στο https://thethingsnetwork.org. Οι πύλες LoRa με ένα κανάλι δεν θα λειτουργούν με το προτεινόμενο arduino.
    • Εάν δεν βρίσκεστε στην περιοχή μιας πύλης, μπορείτε να συνδέσετε τη δική σας πύλη στο δίκτυο πραγμάτων. Αυτές οι πύλες έχουν συνήθως αρκετά καλά μαθήματα για το πώς να τα συνδέσετε. Αναζητήστε στη λίστα ανεφοδιασμού την προτεινόμενη πύλη.

Βήμα 5: Ερμηνεία των δεδομένων στο δίκτυο πραγμάτων

  • Για να λάβουμε χρήσιμα δεδομένα από τα μηνύματα στο δίκτυο πραγμάτων πρέπει να αποκωδικοποιήσουμε το bytestream.
  • Στο δίκτυο πραγμάτων μεταβείτε στην εφαρμογή σας.
  • Θα πρέπει να υπάρχει μια καρτέλα με την ένδειξη "Μορφές ωφέλιμου φορτίου", κάντε κλικ σε αυτήν την καρτέλα.
  • Υπάρχουν 4 κουμπιά το ένα δίπλα στο άλλο: "αποκωδικοποιητής", "μετατροπέας", "επικυρωτής", "κωδικοποιητής".
  • Κάντε κλικ στον αποκωδικοποιητή.
  • Επικολλήστε τον ακόλουθο κώδικα εκεί.

λειτουργία Αποκωδικοποιητής (bytes, port) {// Αποκωδικοποίηση ενός μηνύματος uplink από ένα buffer // (array) bytes σε ένα αντικείμενο πεδίων. var stringToDecode = bin2String (bytes); var res = stringToDecode.split (""); var temp = res [1]; var υγρό = res [3]; var bat = res [5]; var αποκωδικοποιήθηκε = {"θερμοκρασία": temp, "υγρασία": υγρό, "μπαταρία": ρόπαλο}; επιστροφή αποκωδικοποιημένη? } function bin2String (array) {var result = ""; για (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (πίνακας )); } αποτέλεσμα επιστροφής;}

  • Κάντε κλικ στην επιλογή αποθήκευση.
  • Όταν επαναφέρετε το arduino και προβάλετε την καρτέλα δεδομένων σας, θα πρέπει να δείτε ένα όμορφα διαμορφωμένο αντικείμενο json που μπορείτε εύκολα να διαβάσετε.

Βήμα 6: Σύνδεση της εφαρμογής σας με το AWS

Θα χρησιμοποιήσουμε το AWS για να αποθηκεύσουμε και να χρησιμοποιήσουμε τα δεδομένα από το δίκτυο πραγμάτων. Όλοι οι πόροι που πρόκειται να χρησιμοποιήσουμε καλύπτονται από τη δωρεάν βαθμίδα του AWS.

  • Μεταβείτε στο AWS
  • Συνδεθείτε ή δημιουργήστε ένα λογαριασμό.
  • Για να συνδέσετε την εφαρμογή σας στο δίκτυο πραγμάτων στο AWS συνιστώ να ακολουθήσετε αυτό το σεμινάριο:
  • Μόλις ολοκληρώσετε αυτό το σεμινάριο, μεταβείτε στην κονσόλα aws στο τμήμα IoT-Core.
  • Στην αριστερή γραμμή μενού υπάρχει μια ετικέτα "Διαχείριση", κάντε κλικ σε αυτό.
  • Θα πρέπει τώρα να δείτε μια κάρτα με το όνομα του αισθητήρα σας.
  • Και πάλι στην αριστερή γραμμή μενού κάντε κλικ στο "Act"
  • Εάν υπάρχει μια κάρτα με την ένδειξη Store, καλό είναι να πάτε.
  • Εάν όχι, κάντε κλικ στο "Δημιουργία".
  • Συμπληρώστε το όνομα "Store".
  • Εάν θέλετε, μπορείτε να προσθέσετε μια περιγραφή.
  • Ως δήλωση ερωτήματος συμπληρώστε τον ακόλουθο κώδικα: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Στην ενότητα "Ορισμός μίας ή περισσότερων ενεργειών" κάντε κλικ στην προσθήκη ενέργειας.
  • Επιλέξτε "Διαίρεση μηνύματος σε πολλές στήλες ενός πίνακα DynamoDb (DynamoDBv2)".
  • Κάντε κλικ στη διαμόρφωση ενέργειας
  • Κάντε κλικ στη δημιουργία νέου πόρου.
  • Κάντε κλικ στη δημιουργία πίνακα και δώστε ένα όνομα στον πίνακά σας.
  • Κάτω από το πρωτεύον κλειδί συμπληρώστε το "dev_id".
  • Κάντε κλικ στην επιλογή προσθήκη κλειδιού ταξινόμησης
  • Συμπληρώστε τον "χρόνο".
  • Κάντε κλικ στη δημιουργία.
  • Εάν όλα πήγαν καλά, θα πρέπει να επιστρέψετε στη σελίδα διαμόρφωσης ενέργειας.
  • Υπάρχει μια ελαφρώς γκριζαρισμένη περιοχή στην ενότητα "Επιλέξτε ή δημιουργήστε έναν ρόλο για να παραχωρήσετε πρόσβαση AoS IoT για την εκτέλεση αυτής της ενέργειας."
  • Κάντε κλικ στη δημιουργία ρόλου και δώστε ένα όνομα σε αυτόν τον ρόλο.
  • Κάντε κλικ στη δημιουργία ρόλου.
  • Κάντε κλικ στην προσθήκη ενέργειας.
  • Κάντε κλικ στη δημιουργία κανόνα.
  • Θα πρέπει τώρα να έχετε έναν κανόνα που αποθηκεύει αυτόματα όλα τα εισερχόμενα μηνύματα από το δίκτυο πραγμάτων στο DynamoDb.
  • Μπορείτε να ελέγξετε αν λειτουργεί αυτό επαναφέροντας το arduino και κοιτάξτε τον πίνακα DynamoDb που μόλις δημιουργήσατε.
  • Θα πρέπει να υπάρχει μια εγγραφή με το μήνυμα.

Βήμα 7: Δημιουργία Λάμδα

Για να διαβάσουμε τα δεδομένα από το DynamoDB θα γράψουμε μια λάμδα AWS.

  • Στην κονσόλα διαχείρισης AWS στις υπηρεσίες υπάρχει ένας σύνδεσμος με την ένδειξη "Lambda", κάντε κλικ σε αυτόν.
  • Κάντε κλικ στη δημιουργία συνάρτησης.
  • Επιλέξτε ένα όνομα.
  • Ορίστε το χρόνο εκτέλεσης σε python 3.7.
  • Κάντε κλικ στη δημιουργία συνάρτησης.
  • Επικολλήστε αυτόν τον κωδικό στο ενσωματωμένο IDE.

εισαγωγή json

εισαγωγή boto3 χρόνου εισαγωγής από datetime εισαγωγή datetime, timedelta από boto3.dynamodb.conditions import Key, Attr def lambda_handler (event, context): return retreive_data () def retreive_data (): # Λήψη του πόρου υπηρεσίας dynamodb = boto3.resource ('dynamodb') table = dynamodb. Πίνακας ('ΟΝΟΜΑ ΠΙΝΑΚΑ ΕΔΩ') τώρα = datetime.now () χθες = τώρα - timedelta (ώρες = 24) fe = Κλειδί ('ώρα'). μεταξύ (Yesterday.isoformat (), now.isoformat ()) fed = Key ('time'). lt (Yesterday.isoformat ()] respond = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) για f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = reply ['Items '] επιστροφή δεδομένων

  • Αλλάξτε το όνομα του πίνακα σε αυτό που επιλέγετε.
  • Κάντε κύλιση προς τα κάτω στο ρόλο εκτέλεσης.
  • Κάντε κλικ στη δημιουργία νέου ρόλου από πρότυπα πολιτικής aws.
  • Επιλέξτε ένα όνομα.
  • Στα πρότυπα πολιτικής, επιλέξτε "Δοκιμή δικαιωμάτων πλεξούδας" και "Απλά δικαιώματα μικροϋπηρεσίας".
  • Κάντε κλικ στην επιλογή αποθήκευση.
  • Κάντε κλικ στη δοκιμή.
  • Ενδέχεται να εμφανιστεί ένα αναδυόμενο παράθυρο, απλώς επιλέξτε ένα όνομα και αποθηκεύστε το.
  • Κάντε ξανά κλικ στη δοκιμή.
  • Στην κορυφή θα πρέπει να υπάρχει ένα πράσινο banner που να γράφει "Αποτέλεσμα εκτέλεσης: πέτυχε".
  • Όταν κάνετε κλικ σε αυτό το banner, θα πρέπει να δείτε την έξοδο αυτής της συνάρτησης, αυτή θα πρέπει να είναι μια λίστα με ευαισθησία.
  • Λάβετε υπόψη ότι αυτό το σενάριο διαγράφει όλα τα δεδομένα που είναι παλαιότερα από 24 ώρες.
  • Σε περίπτωση που το banner σας δεν είναι πράσινο αλλά κόκκινο, έχετε χάσει κάτι και κάνοντας κλικ σε αυτό το banner θα σας δώσει το πλήρες λάθος σφάλματος. Σε αυτήν την περίπτωση, η Google είναι ο καλύτερος φίλος σας.

Βήμα 8: Δημιουργία τελικού σημείου API

  • Στην κονσόλα διαχείρισης AWS στις υπηρεσίες υπάρχει ένας σύνδεσμος με την ένδειξη "api-gateway", κάντε κλικ σε αυτόν.
  • Κάντε κλικ στη δημιουργία API.
  • Βεβαιωθείτε ότι είναι επιλεγμένα και τα "REST" και "New API".
  • Επιλέξτε ένα όνομα για το api σας.
  • Κάντε κλικ στη δημιουργία API.
  • Θα πρέπει να υπάρχει ένα κουμπί με την ένδειξη ενεργειών στην οθόνη τώρα, κάντε κλικ σε αυτό.
  • Στη συνέχεια, κάντε κλικ στην επιλογή Δημιουργία πόρου.
  • Ως όνομα πόρου θα πρέπει να επιλέξετε κάτι απλό όπως "φυτά" ή "δεδομένα φυτών".
  • Κάντε κλικ στη δημιουργία πόρου.
  • Στα αριστερά θα πρέπει τώρα να υπάρχει το όνομα που μόλις εισαγάγατε. κάντε κλικ σε αυτό το όνομα.
  • Τώρα κάντε ξανά κλικ σε ενέργειες και τώρα κάντε κλικ στην επιλογή προσθήκη μεθόδου.
  • Επιλέξτε GET.
  • Κάντε κλικ στο σημάδι ελέγχου.
  • Θα πρέπει να υπάρχει ένα πλαίσιο κειμένου με την ένδειξη Λειτουργία Λάμδα.
  • Εισαγάγετε εδώ το όνομα που σας δώσατε τη λειτουργία λάμδα.
  • Κάντε κλικ στην επιλογή αποθήκευση.
  • Μπορεί να υπάρχει ένα αναδυόμενο παράθυρο που σας προειδοποιεί ότι δημιουργεί επιπλέον δικαιώματα.
  • Αποδεχτείτε αυτό το αναδυόμενο παράθυρο.
  • Τώρα, κάτω από τις ενέργειες, κάντε κλικ στην επιλογή ενεργοποίηση cors.
  • Κάντε κλικ στην επιλογή "ενεργοποίηση CORS και αντικατάσταση υφιστάμενων κεφαλίδων CORS".
  • Κάντε κλικ στο "ναι,…".
  • Κάντε ξανά κλικ στις ενέργειες και κάντε κλικ στην επιλογή Ανάπτυξη API.
  • Στο στάδιο ανάπτυξης επιλέξτε [New Stage].
  • Επιλέξτε ένα όνομα.
  • Κάντε κλικ στην ανάπτυξη.
  • Έχετε δημοσιεύσει τώρα το api σας online στον κόσμο.
  • Στην οθόνη όπου φτάσατε τώρα κάντε κλικ στο "GET" και στη συνέχεια στον πόρο που δημιουργήσατε.
  • Θα πρέπει να υπάρχει ένας σύνδεσμος στην κορυφή με την ένδειξη "URL κλήσης".
  • Αντιγράψτε αυτόν τον σύνδεσμο.
  • Επικολλήστε το σε πρόγραμμα περιήγησης και πατήστε enter.
  • Θα πρέπει να δείτε τα δεδομένα που βρίσκονται στη βάση δεδομένων.

Βήμα 9: Συνδέστε το φυτό σας στο δίκτυο κοινωνικών φυτών

  • Μεταβείτε στη διεύθυνση
  • Κάντε κλικ στην επιλογή "Σύνδεση".
  • Κάντε κλικ στη δημιουργία λογαριασμού.
  • Συμπληρώστε τη φόρμα για να δημιουργήσετε το λογαριασμό σας.
  • Λάβετε υπόψη ότι το όνομα χρήστη πρέπει επίσης να είναι το email σας.
  • Κάντε κλικ στη δημιουργία λογαριασμού.
  • Mayσως χρειαστεί να επαληθεύσετε το email σας για να μπορέσετε να συνεχίσετε.
  • Βεβαιωθείτε ότι έχετε συνδεθεί.
  • Επιστρέψτε στην αρχική σελίδα (κάντε κλικ στο λογότυπο στην επάνω αριστερή γωνία).
  • Κάντε κλικ στο κουμπί ρυθμίσεων.
  • Συμπληρώστε τη φόρμα, θα πρέπει να συμπληρώσετε κάθε πεδίο.
  • Ο σύνδεσμος προς το api είναι ο σύνδεσμος που αποθηκεύσατε αφού δημιουργήσατε το τελικό σημείο API.
  • Όταν συμπληρωθούν όλα, κάντε κλικ στο κουμπί αποθήκευσης φυτού. το σύστημα θα επαληθεύσει τώρα τον σύνδεσμο api που καταχωρίσατε και αν αυτό είναι σωστό θα αποθηκεύσει την εγκατάστασή σας στο δίκτυο.
  • Επιστρέψτε στην αρχική σελίδα.
  • Μπορείτε τώρα να κάνετε κλικ σε όλα τα φυτά, θα πρέπει να μπορείτε να δείτε όλα τα καταχωρημένα φυτά. το φυτό σας πρέπει επίσης να είναι εκεί. κάντε κλικ στην κάρτα και θα μεταφερθείτε σε μια σελίδα επισκόπησης του εργοστασίου σας, θα εμφανίσει επίσης συμβουλές με βάση τις τιμές που έχετε ορίσει στις ρυθμίσεις.

Βήμα 10: Γείρετε πίσω και χτυπήστε τον εαυτό σας στην πλάτη

Μόλις συνδέσατε ένα εργοστάσιο στο διαδίκτυο. Αρκετά εντυπωσιακό, σωστά;

Συνιστάται: