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

Είδατε τη λύση LoRa IoTea: 5 βήματα
Είδατε τη λύση LoRa IoTea: 5 βήματα

Βίντεο: Είδατε τη λύση LoRa IoTea: 5 βήματα

Βίντεο: Είδατε τη λύση LoRa IoTea: 5 βήματα
Βίντεο: ΔΙΑΛΕΞΕ ΕΝΑ ΑΡΧΑΙΟ ΣΥΜΒΟΛΟ Η ΨΥΧΗ ΔΕΝ ΚΑΝΕΙ ΛΑΘΟΣ Διάλεξε Κάρτα #pickacard #ταρω #ταρώ ΑΚΑΣ #tarot 2024, Ιούλιος
Anonim
Είδατε τη λύση LoRa IoTea
Είδατε τη λύση LoRa IoTea

Αυτόματο σύστημα συλλογής πληροφοριών που εφαρμόζεται στη φυτεία τσαγιού. Είναι μέρος της ευφυούς συλλογής γεωργικών πληροφοριών.

Βήμα 1: Πράγματα που χρησιμοποιούνται σε αυτό το έργο

Συστατικά υλικού

  • Grove - Αισθητήρας διοξειδίου του άνθρακα (MH -Z16)
  • Grove - Lightηφιακός αισθητήρας φωτός
  • Grove - Dust Sensor (PPD42NS)
  • Grove-Oxygen Sensor (ME2-O2-Ф20)
  • Αισθητήρας υγρασίας & θερμοκρασίας εδάφους
  • LoRa LoRaWAN Gateway - κιτ 868MHz με Raspberry Pi 3
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Εφαρμογές λογισμικού και διαδικτυακές υπηρεσίες

Microsoft Visual Studio 2015

Βήμα 2: Ιστορία

Έξυπνη γεωργία είναι η εφαρμογή της τεχνολογίας του Διαδικτύου των πραγμάτων στην παραδοσιακή γεωργία, χρησιμοποιώντας αισθητήρες και λογισμικό για τον έλεγχο της γεωργικής παραγωγής μέσω κινητών ή πλατφορμών υπολογιστών, καθιστώντας την παραδοσιακή γεωργία πιο «έξυπνη».

Στο βουνό Mengding βορειοανατολικά του Ya'an, Sichuan, η κορυφογραμμή του βουνού τρέχει δυτικά προς ανατολικά σε μια πράσινη θάλασσα. Αυτό είναι ένα πολύ γνωστό θέαμα για τον 36χρονο Ντενγκ, έναν από τους λίγους παρασκευαστές τσαγιού Mengding της γενιάς του, με μια φυτεία 50mu (= 3,3 εκτάρια) που βρίσκεται σε υψόμετρο 1100μ. Ο Ντενγκ προέρχεται από μια οικογένεια παρασκευαστών τσαγιού, αλλά η συνέχιση της οικογενειακής κληρονομιάς δεν είναι εύκολη υπόθεση. «Τα τσάγια μας καλλιεργούνται σε μεγάλο υψόμετρο σε οργανικό περιβάλλον για να εξασφαλίσουν την εξαιρετική τους ποιότητα. Αλλά ταυτόχρονα, η πυκνότητα ανάπτυξης είναι χαμηλή, το κόστος είναι υψηλό και η εκκολαπτόμενη είναι άνιση, καθιστώντας το τσάι δύσκολο στη συγκομιδή. Αυτός είναι ο λόγος για τον οποίο τα τσάι από ψηλά βουνά είναι συνήθως μικρές σοδειές και οι αξίες τους δεν αντικατοπτρίζονται στην αγορά ». Τα τελευταία δύο χρόνια, ο Deng προσπαθεί να ευαισθητοποιήσει τους καταναλωτές για το τσάι από ψηλά βουνά για να προωθήσει την αξία τους. Και όταν γνώρισε τον Fan, ο οποίος αναζητούσε μια φυτεία για να εφαρμόσει την τεχνολογία IoTea της Seeed, έγινε ο τέλειος συνδυασμός για μια λύση. Η Seeed IoTea Solution στοχεύει να βοηθήσει τους καλλιεργητές τσαγιού να διαχειριστούν καλύτερα τις φυτείες χωρίς να τροποποιήσουν τις παραδοσιακές πρακτικές καλλιέργειας τσαγιού και να παρουσιάσει περιβαλλοντικά δεδομένα σε πραγματικό χρόνο από τις φυτείες σε μια ανοιχτή πλατφόρμα.

Αποτελούμενο από αισθητήρες, κόμβους και πύλες, το IoTea συλλέγει δεδομένα πραγματικού χρόνου για παράγοντες που μπορεί να επηρεάσουν την ποιότητα του τσαγιού κατά τη διάρκεια της καλλιέργειας και των διαδικασιών παραγωγής, συμπεριλαμβανομένης της θερμοκρασίας και της υγρασίας, του CO2, του O2, του PM και της έκθεσης στο φως. Τα δεδομένα συλλέγονται από τους αισθητήρες, αποστέλλονται από τους κόμβους στην πύλη και τελικά στο cloud, και καθίστανται προσβάσιμα στους τελικούς πελάτες σε μια ιστοσελίδα.

Βήμα 3: Σύνδεση υλικού

Βήμα 1: Σύνδεση πύλης

Η πύλη εγκαθίσταται ξεχωριστά σε ένα κουτί. Λαμβάνοντας υπόψη το πρόβλημα της διάχυσης της θερμότητας, προσθέσαμε 2 ανεμιστήρες. Το ένα είναι για τη διάχυση θερμότητας του Raspberry Pi, το άλλο για εσωτερική και εξωτερική κυκλοφορία αέρα. Το κουτί της πύλης τοποθετείται στο σπίτι ενός αγρότη, οπότε δεν χρειάζεται να εξετάσουμε το πρόβλημα ισχύος του.

Εικόνα
Εικόνα

Βήμα 2: Σύνδεση κόμβου

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Ο κόμβος τοποθετείται σε ένα αδιάβροχο κουτί. Για να έχουμε καλύτερη σύνδεση με τον κόμβο, φτιάχνουμε μια πλακέτα προσαρμογέα. Τέλος, θα παρέχουμε τον σύνδεσμο λήψης του σχηματικού αυτού πίνακα. Όπως φαίνεται παρακάτω, τα καλώδια των αισθητήρων συνδέονται στην πλακέτα προσαρμογέα μέσω μπλοκ ακροδεκτών. Χρησιμοποιούμε 3 σωλήνες MOS (SI2301) για την κατασκευή κυκλωμάτων διακοπτών για τον έλεγχο της ενεργοποίησης και απενεργοποίησης των αισθητήρων και του ανεμιστήρα. Ο ανεμιστήρας χρησιμοποιείται για να κρυώσει. Έχουμε έναν αισθητήρα θερμοκρασίας (DS18B20) τοποθετημένο στην πλακέτα. Μπορεί να μας πει την εσωτερική θερμοκρασία του κουτιού και στη συνέχεια ο μικροελεγκτής αποφασίζει εάν θα ενεργοποιήσει τον ανεμιστήρα. Χρησιμοποιούμε αρκετές αντιστάσεις για να δημιουργήσουμε ένα κύκλωμα διαχωριστή τάσης για να μετρήσουμε την τάση της μπαταρίας μολύβδου-οξέος. Τέλος, διατηρούμε 3 διεπαφές IIC και σειριακή θύρα στον πίνακα για μετέπειτα επέκταση και εντοπισμό σφαλμάτων.

Εικόνα
Εικόνα

Ας μιλήσουμε για το πρόβλημα τροφοδοσίας του κόμβου. Ο κόμβος τοποθετείται τυχαία στη φυτεία τσαγιού, επομένως η παραδοσιακή μέθοδος τροφοδοσίας δεν είναι πλέον εφαρμόσιμη. Η χρήση λύσης ηλιακής ενέργειας είναι καλή ιδέα. Υπάρχουν πολλές λύσεις που παρέχονται στην αγορά αυτή τη στιγμή. Μπορούμε να επιλέξουμε ένα από αυτά που καλύπτει τις ανάγκες μας. Υπάρχουν 3 μέρη στη λύση που επιλέξαμε: ηλιακό πάνελ, ηλιακός ελεγκτής φόρτισης και μπαταρία μολύβδου οξέος. Για να καταγράψουμε καλύτερα την ηλιακή ενέργεια, βάζουμε ηλιακό πάνελ στο πάνω μέρος του βραχίονα και ρυθμίζουμε τη γωνία του για να διασφαλίσουμε ότι είναι στραμμένο προς τον ήλιο. Τοποθετήσαμε τον ηλιακό ελεγκτή φόρτισης στο ίδιο κουτί με κόμβο. Επειδή δεν υπάρχει επιπλέον χώρος μέσα στο κουτί, έπρεπε να βρούμε ένα νέο αδιάβροχο κουτί για να τοποθετήσουμε την μπαταρία μολύβδου οξέος.

Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα

Βήμα 4: Διαμόρφωση λογισμικού

Κόμβος

Σε αυτήν την ενότητα, θα εισαγάγουμε τη διαμόρφωση κυρίως του λογισμικού του κόμβου.

Μορφή δεδομένων

Δεδομένα που μεταφορτώνονται από τον κόμβο στην πύλη:

ανυπόγραφο χαρακτήρα Lora_data [15] = {0, 1, 2, 3,, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};

Η έννοια κάθε bit δεδομένων:

Lora_data [0] temperature Θερμοκρασία αέρα, Lora_data [1] humidity Υγρασία αέρα, %

Lora_data [2] : Υψόμετρο ύψος οκτώ, m

Lora_data [3] low Χαμηλό οκτώ υψόμετρο

Lora_data [4] concentration CO2 υψηλή συγκέντρωση οκτώ, ppm

Lora_data [5] concentration χαμηλή συγκέντρωση CO2 οκτώ

Lora_data [6] concentration Συγκέντρωση σκόνης υψηλή οκτώ, τεμ/0,01cf

Lora_data [7] concentration Χαμηλή συγκέντρωση σκόνης οκτώ

Lora_data [8] intensity Ένταση φωτός υψηλή οκτώ, lux

Lora_data [9] : Ένταση φωτός χαμηλή οκτώ

Lora_data [10] concentration O2 συγκέντρωση, % (ακατέργαστα δεδομένα διαιρούμενα με 1000)

Lora_data [11] temperature Θερμοκρασία εδάφους, Lora_data [12] humidity Υγρασία εδάφους, %

Lora_data [13] voltage Τάση μπαταρίας, v

Lora_data [14] code Κωδικός σφάλματος αισθητήρων

Κωδικός λάθους:

Lora_data [14] = [bit7, bit6, bit5, bit4, bit3, bit2, bit1, bit0]

Η έννοια του κάθε bit:

bit 0: 1 ---- Σφάλμα Temp & Humi & Barometer (BME280)

bit 1: 1 ---- Σφάλμα αισθητήρα διοξειδίου του άνθρακα (MH-Z16)

bit 2: 1 ---- Σφάλμα αισθητήρα σκόνης (PPD42NS

bit 3: 1 ---- Σφάλμα ψηφιακού αισθητήρα φωτός

bit 4: 1 ---- Σφάλμα αισθητήρα οξυγόνου (ME2-O2-Ф20)

bit 5: 1 ---- Σφάλμα αισθητήρα υγρασίας & θερμοκρασίας εδάφους

bit 6: Διατηρήθηκε

bit 7: Διατηρήθηκε

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

Ρύθμιση παραμέτρων: α) Κύκλος μετάδοσης δεδομένων

// seeedtea.ino

#defineinterval_time 600 // δευτερόλεπτο

Αυτή η παράμετρος μπορεί να μεταβληθεί για να αλλάξει ο κύκλος μετάδοσης δεδομένων. Σε κάθε κύκλο, η λήψη δεδομένων διαρκεί περίπου 1 λεπτό. Επομένως, δεν συνιστάται η αλλαγή αυτής της τιμής σε λιγότερο από 60 δευτερόλεπτα.

β) Χρόνος προθέρμανσης αισθητήρα σκόνης

//seeedtea.ino

#definePreheat_time 30000 // Χρόνος προθέρμανσης DustSensor, χιλιοστά του δευτερολέπτου //Dust_other.cpp #definesampletime_ms 30000 // samplingtime30s

γ) Συντελεστής τάσης

//POWER_Ctrl.cpp

#defineBattery_coefficient 0.159864 // ADC value × Battery_coefficient = battery_voltage #defineSolar_coefficient 0.22559 // ADC value × Solar_coefficient = solar_voltage

Αυτές οι δύο παράμετροι υπολογίζονται με βάση το κύκλωμα διαχωριστή τάσης.

δ) Όριο θερμοκρασίας ανοίγματος ανεμιστήρα

//POWER_Ctrl.cpp

#defineFan_start_temp 45 // temperaturethreshold #defineFan_start_light 500 // ένταση φωτός

Όταν η πραγματική θερμοκρασία υπερβεί το όριο, ο ανεμιστήρας θα αρχίσει να κρυώνει.

ε) Παράμετρος εκκίνησης αισθητήρα Ο2

//Oxygen.cpp

#defineO2_percentage 208.00 //20.8%

στ) Διακόπτης μακροεντολής

//seeedtea.ino

#defineLORA_RUN // Μετά το σχόλιο, η αρχικοποίηση της Lora και η μετάδοση δεδομένων θα σταματήσει #defineSENSOR_RUN // Μετά το σχόλιο, οι εξωτερικοί αισθητήρες θα σταματήσουν να λειτουργούν //POWER_Ctrl.cpp #defineFAN_ON // Μόνο για την καλύτερη εφαρμογή, η πρακτική εφαρμογή πρέπει να σχολιαστεί /**** *** Λειτουργία ελέγχου DS18B20 *********************/ #defineSlower_Mode // Αργή λειτουργία μαζί με τη θερμοκρασία. Το σχόλιο είναι γρήγορη λειτουργία

ζ) Αντιστοίχιση καρφιτσών

D2: Ένδειξη LED και εξωτερικός μικροελεγκτής επαναφοράς IIC: SCL και SDA

//Sust_other.h

#defineDust_pin 3 // Αισθητήρας σκόνης //CO2.cpp #defineCO2_serial Serial1 // χρήση θύρας hardwareserial (D0 & D1) //seeedtea.ino #definedataPin 6 // Καρφίτσα δεδομένων εδάφους #defineclockPin 7 // Καρφίτσα ρολογιού εδάφους // POWER_Ctrl. h #defineDS18B20_pin 8 // DS18B20 #defineFan_pin 9 // Fan #defineAir_CtrlPin 10 // Καρφίτσα ελέγχου για τους αισθητήρες που βρίσκονται στο louverbox #defineSoil_CtrlPin 11 // Διακόπτης αισθητήρα υγρασίας & θερμοκρασίας αισθητήρα pin #defineBattery_pin /Μετρήστε την ηλιακή τάση τάσης //Oxygen.h #defineO2_pin A1 // O2 αισθητήρα

η) Χρονόμετρο Watchdog

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

Η βιβλιοθήκη προς αναφορά:

  • Το Adafruit_SleepyDog.h προστέθηκε στο έργο
  • Το Adafruit_ASFcore-master.zip είναι συσκευασμένο στο φάκελο project και πρέπει να προστεθεί με μη αυτόματο τρόπο στο Arduino IDE.

Σχετικές λειτουργίες:

Ενεργοποίηση φύλαξης

int WatchdogSAMD:: ενεργοποίηση (int maxPeriodMS, bool isForSleep)

Παράμετροι εισαγωγής:

Int maxPeriodMS: Χρόνος αναμονής σε χιλιοστά του δευτερολέπτου. Το μέγιστο επιτρεπόμενο είναι 16000 χιλιοστά του δευτερολέπτου.

επιστρεφόμενη τιμή:

Int type, επιστρέψτε τον πραγματικό χρόνο αναμονής

Επαναφορά φύλακα

void WatchdogSAMD:: reset ()

Καλέστε αυτήν τη λειτουργία για να επαναφέρετε το χρονόμετρο του φύλακα, που αναφέρεται ως "σίτιση του σκύλου". Η υπέρβαση του χρόνου αναμονής χωρίς επαναφορά θα προκαλέσει επανεκκίνηση του κόμβου.

Σταματήστε το φύλακα

void WatchdogSAMD:: απενεργοποίηση ()

πύλη

Σε αυτήν την ενότητα θα εισαγάγουμε τον τρόπο σύνδεσης με το διακομιστή Loriot.

Βήμα 1: Εγγραφή πύλης Loriot Server

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

β) Μετά την επιτυχή ενεργοποίηση, κάντε κλικ εδώ για να συνδεθείτε. Η προεπιλεγμένη βαθμίδα είναι "Community Network", υποστηρίζει 1 Gateway (RHF2S001) και 10 κόμβους.

γ) Εισαγάγετε τον Πίνακα ελέγχου -> Πύλη, κάντε κλικ στην επιλογή Προσθήκη πύλης έναρξης για να προσθέσετε την Πύλη.

δ) Επιλέξτε Raspberry Pi 3

ε) Ορίστε ως εξής:

  • Ραδιόφωνο front -end -> RHF2S001 868/915 MHz (SX1257)
  • BUS -> SPI

στ) Συμπληρώστε τη διεύθυνση MAC του RHF2S001 σας, πρέπει να έχει μορφή b8: 27: eb: xx: xx: xx. Και επίσης εισαγωγή πληροφοριών θέσης πύλης.

ζ) Κάντε κλικ στην επιλογή "Εγγραφή Raspberry Pi gateway" για να ολοκληρώσετε την εγγραφή.

Εικόνα
Εικόνα

η) Κάντε κλικ στην καταχωρημένη πύλη για να εισέλθετε στη σελίδα διαμόρφωσης, αλλάξτε μη αυτόματα το «Σχέδιο συχνότητας», το σχέδιό σας εδώ αποφασίζεται από τον τύπο του τύπου RHF2S001, το διαθέσιμο σχέδιο είναι CN470 , CN473 , CN434 , CN780 , EU868, μετά την επιλογή ανανεώστε τη σελίδα για να λάβετε το ακριβές κανάλι. Σε αυτό το wiki επιλέγουμε EU868.

θ) Εκτελέστε την εντολή στο τερματικό στόκου :

cd /home/rxhf/loriot/1.0.2

sudo systemctl stop pktfwd sudo gwrst wget > -O loriot-gw.bin chmod +x loriot-gw.bin./loriot-gw.bin -f -s cn1.loriot.io

j) Finish gateway registration. You will see the gateway is Connected now. Next is to register node.

Εικόνα
Εικόνα

Βήμα 2: Συσκευή κόμβου Loriot Server Connect

α) Λάβετε τα διαθέσιμα κανάλια πύλης

Τα τρέχοντα κανάλια πύλης μπορούν να ληφθούν από τον Πίνακα ελέγχου -> Πύλη -> Η Πύλη σας, μπορείτε να δείτε τα διαθέσιμα κανάλια όπως στην παρακάτω εικόνα.

Εικόνα
Εικόνα

β) Διαμόρφωση Seeeduino LoRAWAN GPS (RHF3M076)

Ανοίξτε τη σειριακή οθόνη του ArduinoIDE, πατήστε την παρακάτω εντολή.

στο+κεφ

Για να επιβεβαιώσετε το προεπιλεγμένο κανάλι του Seeeduino_LoRAWAN GPS, θα λάβετε 3 κανάλια. Εάν δεν υπάρχει διαθέσιμο κανάλι, μπορείτε να αλλάξετε τα κανάλια του Seeeduino_LoRAWAN με την παρακάτω εντολή.

στο+ch = 0, 868,1

στο+ch = 1, 868,3 στο+ch = 2, 868,5

Στη συνέχεια, μπορείτε να χρησιμοποιήσετε ξανά το+ch για έλεγχο.

γ) Προσθέστε το Seeeduino_LoRAWAN GPS ως ABP NodeLog στο διακομιστή Loriot, κάντε κλικ στην Πίνακα Dash -> Εφαρμογές -> SimpleApp. Κάντε κλικ στην επιλογή Εισαγωγή εισαγωγής ABP below κάτω από τα στοιχεία

  • DevAddr: Seeeduino_LoRAWAN Πάρτε το GPS μέσω της εντολής "AT+ID" (Σημείωση: Το Loriot δεν υποστηρίζει τη σύνδεση του παχέος εντέρου, πρέπει να αφαιρεθεί χειροκίνητα)
  • FCntUp : Setto 1
  • FCntDn : Setto 1
  • NWKSKEY : Προεπιλεγμένη τιμή 2B7E151628AED2A6ABF7158809CF4F3C
  • APPSKEY : Προεπιλεγμένη τιμή 2B7E151628AED2A6ABF7158809CF4F3C
  • EUI : DEVEUI, Seeeduino_LoRAWAN GPS περάστε από την εντολή "AT+ID"
Εικόνα
Εικόνα

Κάντε κλικ στο κουμπί Εισαγωγή συσκευής για να ολοκληρώσετε την εισαγωγή της συσκευής. Τώρα επιλέξτε Πίνακας ελέγχου-> Εφαρμογές -> SampleApp, θα δείτε τον νέο κόμβο ABP που μόλις προσθέσατε.

Εικόνα
Εικόνα

δ) Αποστολή δεδομένων από το Seeeduino_LoRAWAN

ΠΡΟΣΟΧΗ! Αυτό είναι μόνο ένα τεστ.

Επιστροφή στη σειριακή οθόνη του ArduinoIDE, αποστολή εντολής:

AT+CMSGHEX = "0a 0b 0c 0d 0e"

Στη συνέχεια, μεταβείτε στον Πίνακα ελέγχου -> Εφαρμογές -> SampleApp -> Συσκευή, κάντε κλικ στο NI Device EUI ή DevAddr, θα βρείτε τα δεδομένα που μόλις στείλατε εδώ.

Εικόνα
Εικόνα

Για λεπτομέρειες, ανατρέξτε σε αυτό το wiki.

Βήμα 5: Κατασκευή ιστότοπου

Σχετικά Εργαλεία

  • virtualenv
  • Python3
  • Gunicorn
  • Επόπτης
  • Nginx
  • MySQL

Χρησιμοποιούμε το CentOS7 ως περιβάλλον ανάπτυξης δοκιμής

virtualenv

Χρησιμοποιήστε το virtualenv για να δημιουργήσετε ένα αυτόνομο περιβάλλον παραγωγής python3

α) εγκατάσταση

pip εγκατάσταση virtualenv

β) δημιουργήστε ένα εικονικό περιβάλλον python3

virtualenv -p python3 iotea

γ) ξεκινήστε το εικονικό περιβάλλον και εισαγάγετε τον κατάλογο iotea

κάδος πηγής/ενεργοποίηση

δ) υπάρχει περιβάλλον

απενεργοποιήστε

Python3

α) εγκατάσταση

yum εγκατάσταση epel-release

yum εγκατάσταση python36

β) εγκατάσταση εξαρτημένης βιβλιοθήκης PyMySQL, DBUtils, Flask, websocket-client, configparser

pip εγκατάσταση pymysql

pip install dbutils pip install install flask pip install websocket-client pip install configparser

Gunicorn

α) εγκατάσταση (στο περιβάλλον Python3)

pip εγκατάσταση gunicorn

β) εκτέλεση έργου φιάλης (κάτω από τον κατάλογο έργου iotea)

gunicorn -w 5 -b 0.0.0.0:5000 εφαρμογή: app

γ) εκτελέστε websocket-clint για να λάβετε δεδομένα loriot

gunicorn loriot: εφαρμογή

δ) προβολή δέντρου διαδικασίας Gunicorn

pstree -ap | grep gunicorn

Επόπτης

α) εγκατάσταση (root χρήστης)

επόπτης εγκατάστασης pip

β) δημιουργία αρχείων διαμόρφωσης

echo_supervisord_conf> /etc/supervisord.conf

γ) δημιουργήστε έναν κατάλογο και εισαγάγετε μια διαμόρφωση καταλόγου

mkdir -p /etc/supervisor/conf.d

Επεξεργαστείτε το /etc/supervisord.conf και τροποποιήστε το πεδίο αρχείων κάτω από το [περιλαμβάνει] στο τέλος του αρχείου.

Σημειώστε ότι πρέπει να καταργήσετε το ';' μπροστά από αυτές τις δύο γραμμές, που είναι ο χαρακτήρας σχολίου.

[περιλαμβάνω]

Αρχεία = /etc/supervisor/conf.d/*.conf

Σημαίνει την εισαγωγή /etc/supervisor/conf.d/. Το ακόλουθο αρχείο διαμόρφωσης χρησιμοποιείται ως αρχείο ρύθμισης παραμέτρων (παρακολουθείται από τον επόπτη).

δ) εισερχόμενη διαμόρφωση (κάτω από τον κατάλογο iotea)

cp iotea.conf /etc/supervisor/conf.d/

cp loriot.conf /etc/supervisor/conf.d/

ε) ανοιχτό σερβίρισμα ιωτέας

superviosrctl επαναφόρτωση #επαναφόρτωση του αρχείου διαμόρφωσης

superviosrctl έναρξη loriot #άνοιγμα λήψης δεδομένων loriot superviosrctl έναρξη iotea #άνοιγμα της εφαρμογής φιάλης iotea

στ) άλλες κοινές πράξεις

supervisorctl reload # επαναφόρτωση του αρχείου διαμόρφωσης

supervisorctl update supervisorctl start xxx supervisorctl stop xxx status supervisorctl xxx supervisorctl help # view more command

Nginx

α) εγκατάσταση

yum install -y nginx

β) διαμόρφωση

cp NginxIotea.conf /etc/nginx/conf.d/

γ) ξεκινήστε το Nginx

systemctl εκκίνηση nginx.service

MySQL

α) σχετικές παράμετροι

χρήστης = 'root'

passwd = '1234' db = 'iotea' port = 3306

β) αρχείο

iotea_iotea.sql

γ) αρχείο διαμόρφωσης

db.ini

Συνιστάται: