Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
Η Lora είναι πολύ δημοφιλής τα τελευταία χρόνια. Η μονάδα ασύρματης επικοινωνίας που χρησιμοποιεί αυτήν την τεχνολογία είναι συνήθως φθηνή (χρησιμοποιώντας ελεύθερο φάσμα), μικρή σε μέγεθος, ενεργειακά αποδοτική και έχει μεγάλη απόσταση επικοινωνίας και χρησιμοποιείται κυρίως για αμοιβαία επικοινωνία μεταξύ τερματικών IoT ή ανταλλαγή δεδομένων με έναν κεντρικό υπολογιστή. Υπάρχουν πολλές μονάδες LoRa στην αγορά, όπως το RFM96W, το οποίο είναι εξοπλισμένο με τσιπ SX1278 (συμβατό), το οποίο είναι πολύ μικρό. Το χρησιμοποιώ με το MakePython ESP32 ως πύλη.
Στη συνέχεια, θα χρησιμοποιήσω δύο κόμβους LoRa για να στείλω τα δεδομένα θερμοκρασίας και υγρασίας στην πύλη και, στη συνέχεια, να τα ανεβάσω στο Διαδίκτυο μέσω της πύλης. Εδώ θα μάθετε πώς να ανεβάζετε απομακρυσμένα δεδομένα πολλαπλών κόμβων LoRa στο cloud μέσω της πύλης.
Βήμα 1: Προμήθειες
1*MakePython ESP32
Το MakePython ESP32 είναι μια πλακέτα ESP32 με ενσωματωμένη οθόνη SSD1306 OLED.
2*Maduino LoRa Radio
Το Maduino Lora Radio είναι μια λύση IoT (Internet of things) που βασίζεται στη μονάδα Atmel's Atmega328P MCU και Lora. Μπορεί να είναι ένα πραγματικό έργο για έργα IoT (ειδικά εφαρμογές μεγάλης εμβέλειας, χαμηλής ισχύος)
2*DHT11
1*MakePython Lora
Βήμα 2: Κόμβος LoRa
Αυτό είναι το σχηματικό σχήμα του Maduino Lora Radio.
Ενότητα Arduino Lora Radio ως κόμβος LoRa, το χρησιμοποιούμε για να στέλνουμε δεδομένα θερμοκρασίας και υγρασίας στην πύλη.
(Αυτό το WiKi παρουσιάζει τον τρόπο χρήσης του Maduino Lora Radio και την αποστολή και λήψη δεδομένων)
Βήμα 3: Σύνδεση κόμβου και αισθητήρα
Το VCC και το GND του DHT11 συνδέονται με το 3V3 και το GND του Maduino και ο πείρος DATA συνδέεται με το D4 του Maduino.
Ο κόμβος 0 βρίσκεται στο πάρκο, ο κόμβος 1 βρίσκεται στο κτίριο γραφείων κοντά στην εταιρεία, απέχουν μεταξύ τους περίπου 2 χιλιόμετρα και, στη συνέχεια, λαμβάνω τα δεδομένα θερμοκρασίας και υγρασίας τους στο σπίτι
Βήμα 4: Αποστολή δεδομένων στην πύλη
Κατεβάστε το TransmitterDHT11.ino, ανοίξτε το στο Arduino IDE.
Κατά την προσθήκη ενός κόμβου, τροποποιήστε ανάλογα τον αριθμό κόμβου. Για παράδειγμα, τώρα χρησιμοποιήστε 2 κόμβους, ο πρώτος κόμβος για την τροποποίηση του οζώδους = 0 για την εκτέλεση του προγράμματος, ο δεύτερος κόμβος για την τροποποίηση του οζώδους = 1 για την εκτέλεση του προγράμματος και ούτω καθεξής, μπορείτε να προσθέσετε περισσότερους κόμβους.
int16_t packetnum = 0; // μετρητής πακέτων, αυξάνουμε ανά παράλειψη
int16_t nodenum = 0; // Τροποποίηση του αριθμού κόμβου
Συλλέξτε δεδομένα και εκτυπώστε τα
String message = "#"+(String) nodenum+"Υγρασία:"+(String) υγρασία+"% Θερμοκρασία:"+(String) θερμοκρασία+"C"+"num:"+(String) packetnum; Serial.println (μήνυμα) ? packetnum ++;
Στείλτε ένα μήνυμα στον διακομιστή rf95_server
uint8_t radioPacket [message.length ()+1];
message.toCharArray (radioPacket, message.length ()+1); radioPacket [message.length ()+1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length ()+1);
Ανοίξτε τη σειριακή οθόνη, μπορείτε να δείτε τα συλλεγμένα δεδομένα θερμοκρασίας και υγρασίας και να τα στείλετε.
#0 Υγρασία: 6,00% Θερμοκρασία: 27,00C num: 0
Μετάδοση: Αποστολή στον rf95_server Αποστολή… Αναμονή για ολοκλήρωση του πακέτου… Αναμονή για απάντηση… Χωρίς απάντηση, υπάρχει κάποιος ακροατής γύρω;
Αφήστε το στην άκρη, τώρα πρέπει να φτιάξουμε την πύλη Lora.
Βήμα 5: MakePython Lora
Αυτός είναι ο αντίστοιχος πείρος της μονάδας RFM96W και του MakePython ESP32. Για να διευκολύνω τη σύνδεση με το MakePython ESP32, έφτιαξα μια πλακέτα κυκλώματος με τη μονάδα RFM96W. Ναι, υπάρχουν δύο RFM96W σε αυτό, τα οποία μπορούν να στέλνουν και να λαμβάνουν δεδομένα ταυτόχρονα, αλλά τώρα χρειάζομαι μόνο ένα.
Βήμα 6: LoRaWAN Gateway
Το LoRaWAN είναι ένα δίκτυο ευρείας περιοχής χαμηλής ισχύος που βασίζεται στο LoRa, το οποίο μπορεί να παρέχει ένα: χαμηλή κατανάλωση ενέργειας, επεκτασιμότητα, υψηλή ποιότητα υπηρεσιών και ασφαλές ασύρματο δίκτυο μεγάλων αποστάσεων.
Συγκεντρώστε το MakePython Lora και το ESP32 για να δημιουργήσετε μια πύλη που μπορεί να λαμβάνει απομακρυσμένα δεδομένα και να τα ανεβάζει στο Διαδίκτυο.
Βήμα 7: Λήψη κώδικα
Κατεβάστε όλα τα αρχεία ‘xxx.py’ από το WiKi και ανεβάστε τα στο ESP32.
Ανοίξτε το αρχείο LoRaDuplexCallback.py, Πρέπει να κάνετε ορισμένες προσαρμογές, έτσι ώστε το ESP32 να μπορεί να συνδεθεί στο δίκτυο και να ανεβάσει δεδομένα στο διακομιστή.
Τροποποιήστε το API_KEY που αποκτήσατε στο ThingSpeak (θα σας παρουσιάσω πώς να το αποκτήσετε αργότερα)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Τροποποιήστε το SSID και το PSW για σύνδεση WiFi
ssid = "Makerfabs"
pswd = "20160704"
Βήμα 8: Λήψη δεδομένων
Βρείτε τη λειτουργία on_receive (lora, ωφέλιμο φορτίο) στο αρχείο LoRaDuplexCallback.py, όπου μπορείτε να πείτε στο ESP32 τι πρέπει να κάνετε μετά τη λήψη των δεδομένων. Ο ακόλουθος κώδικας αναλύει και εμφανίζει τα ληφθέντα δεδομένα θερμοκρασίας και υγρασίας.
def on_receive (lora, ωφέλιμο φορτίο):
lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Λήφθηκε μήνυμα *** / n {}". μορφή (ωφέλιμο φορτίο)) εάν config_lora. IS_LORA_OLED: lora.show_packet (("{}". μορφή (ωφέλιμο φορτίο [4: μήκος])), rssi) εάν wlan.isconnected (): καθολική msgCount print ('Αποστολή στο δίκτυο…') node = int (str (payload [5: 6], 'utf-8')) if node == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 = "+myNum1+" & field2 = "+myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+API_KEY+" & field3 = "+myNum1+" & field4 = "+myNum2 res = urequests.get (URL) εκτύπωση (res.text) εκτός από εξαίρεση ως e: print (e) print (" with RSSI {} n ".format (rssi))
Κρίνοντας τον αριθμό για τη διάκριση των κόμβων και τη μεταφόρτωση των δεδομένων στο Διαδίκτυο μέσω της διεύθυνσης URL, μπορούμε ανά πάσα στιγμή να παρακολουθούμε τα απομακρυσμένα δεδομένα διαφορετικών κόμβων. Μπορείτε να προσθέσετε περισσότερους κόμβους και να κάνετε παρόμοιες αλλαγές στον κώδικα.
αν κόμβος == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) εκτύπωση (res.text)
Βήμα 9: Χρησιμοποιήστε το ThingSpeak IoT
Βήματα:
- Εγγραφείτε ένα λογαριασμό στη διεύθυνση https://thingspeak.com/. Εάν έχετε ήδη ένα, συνδεθείτε απευθείας.
- Κάντε κλικ στο Νέο κανάλι για να δημιουργήσετε ένα νέο κανάλι ThingSpeak.
- Όνομα εισαγωγής, Περιγραφή, Επιλογή πεδίου 1. Στη συνέχεια, αποθηκεύστε το κανάλι στο κάτω μέρος.
- Κάντε κλικ στην επιλογή Κλειδιά API, αντιγράψτε το Κλειδί API, θα το χρησιμοποιήσουμε στο πρόγραμμα.
Βήμα 10: Αποτέλεσμα
Μπορείτε να δείτε τα δεδομένα του κόμβου 0 και του κόμβου 1 στην οθόνη, αν και απέχουν 2 χιλιόμετρα.
Συνδεθείτε στο λογαριασμό σας στο ThingSpeak και κάντε κλικ στο κανάλι που δημιουργήσατε, μπορείτε να δείτε τα μεταφορτωμένα δεδομένα θερμοκρασίας και υγρασίας.
Το γράφημα πεδίου 1 και τα γραφήματα πεδίου 2 είναι τα δεδομένα υγρασίας και θερμοκρασίας του κόμβου Lora 0, και το γράφημα πεδίου 3 και το γράφημα πεδίου 4 είναι τα δεδομένα υγρασίας και θερμοκρασίας του κόμβου Lora 1.
Συνιστάται:
MuMo - LoRa Gateway: 25 βήματα (με εικόνες)
MuMo-LoRa Gateway: ### UPDATE 10-03-2021 // οι τελευταίες πληροφορίες/ενημερώσεις θα είναι διαθέσιμες στη σελίδα github: https: //github.com/MoMu-Antwerp/MuMoΤι είναι το MuMo; Το MuMo είναι μια συνεργασία μεταξύ ανάπτυξη προϊόντων (τμήμα του Πανεπιστημίου της Αμβέρσας) στο πλαίσιο
Δημιουργήστε μια βάση σύνδεσης IPod από μια μικρή βάση σύνδεσης IPod: 5 βήματα
Δημιουργήστε μια βάση σύνδεσης IPod από μια μίνι βάση σύνδεσης IPod: Εξηγεί πώς να μετατρέψετε εύκολα μια παλιά βάση σύνδεσης που προορίζεται για ένα ipod mini για χρήση με ένα ipod nano (και η πρώτη και η δεύτερη γενιά μία φορά). Γιατί; Αν σας αρέσει είχα ένα iPod μίνι και πήρε την αποβάθρα για αυτό, και τώρα αγόρασε ένα iPod nano και ειλικρινά λεπτό
Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff με βάση ESP8266: 3 βήματα (με εικόνες)
Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff βασισμένο σε ESP8266: Τι είναι το Sonoff; Τι είναι το Sonoff είναι μια σειρά συσκευών για το Smart Home που αναπτύχθηκε από το ITEAD. Μία από τις πιο ευέλικτες και φθηνές συσκευές αυτής της σειράς είναι οι Sonoff Basic και Sonoff Dual. Αυτοί είναι διακόπτες με δυνατότητα Wi-Fi που βασίζονται σε ένα υπέροχο τσιπ, ESP8266. Ενώ
Δωρεάν Diy Zune, IPod, IPhone, PDA, Cell Phone ή Gadget Holder/βάση σύνδεσης/βάση: 6 βήματα
Δωρεάν Diy Zune, IPod, IPhone, PDA, Cell Phone ή Gadget Holder/βάση/βάση: Έχει ειπωθεί ότι η ανάγκη είναι η μητέρα της εφεύρεσης. Έχω διαπιστώσει ότι είναι αλήθεια συχνά. Η περασμένη εβδομάδα δεν αποτελούσε εξαίρεση. Ξοδεύω άπειρο χρόνο στον υπολογιστή μου στο κυνήγι εργασίας. Δεδομένου ότι είχα αντικαταστήσει πρόσφατα τον υπολογιστή μου με διακομιστή
Χάρτινη βάση για φορητό υπολογιστή, η φθηνότερη δυνατή βάση για φορητό υπολογιστή: 4 βήματα
Paper Laptop Stand, the Cheapest Laptop Stand Possible .: Μου αρέσει πολύ το quake3 και μάλλον ανησυχώ για την αντοχή του MacBook μου. Δεν μου έρχεται ποτέ η ιδέα να αγοράσω αυτά τα στηρίγματα φορητών υπολογιστών με ανεμιστήρες, επειδή τα MacBooks δεν έχουν καμία τρύπα στο κάτω μέρος του. Σκεφτόμουν ότι αυτές οι μισές μπάλες θα έκαναν το λάπτοπ μου