สารบัญ:

เห็นโซลูชัน LoRa IoTea: 5 ขั้นตอน
เห็นโซลูชัน LoRa IoTea: 5 ขั้นตอน

วีดีโอ: เห็นโซลูชัน LoRa IoTea: 5 ขั้นตอน

วีดีโอ: เห็นโซลูชัน LoRa IoTea: 5 ขั้นตอน
วีดีโอ: LORA INTRO เทคโนโลยีสื่อสารทางไกลใช้พลังงานต่ำ LoRa 2024, พฤศจิกายน
Anonim
Seeed LoRa IoTea โซลูชั่น
Seeed LoRa IoTea โซลูชั่น

ระบบรวบรวมข้อมูลอัตโนมัติที่นำไปใช้กับไร่ชา เป็นส่วนหนึ่งของการเก็บรวบรวมข้อมูลทางการเกษตรที่ชาญฉลาด

ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้

ส่วนประกอบฮาร์ดแวร์

  • Grove - เซนเซอร์คาร์บอนไดออกไซด์ (MH-Z16)
  • Grove - เซนเซอร์ตรวจจับแสงแบบดิจิตอล
  • Grove - เซ็นเซอร์วัดฝุ่น (PPD42NS)
  • Grove - เซนเซอร์ออกซิเจน (ME2-O2-Ф20)
  • เซ็นเซอร์ความชื้นและอุณหภูมิในดิน
  • LoRa LoRaWAN Gateway - 868MHz Kit พร้อม Raspberry Pi 3
  • Grove - เซ็นเซอร์อุณหภูมิและความชื้นและบารอมิเตอร์ (BME280)

แอพซอฟต์แวร์และบริการออนไลน์

Microsoft Visual Studio 2015

ขั้นตอนที่ 2: เรื่องราว

เกษตรกรรมอัจฉริยะคือการนำเทคโนโลยีอินเทอร์เน็ตของสรรพสิ่งมาใช้กับการเกษตรแบบดั้งเดิม โดยใช้เซ็นเซอร์และซอฟต์แวร์เพื่อควบคุมการผลิตทางการเกษตรผ่านแพลตฟอร์มมือถือหรือคอมพิวเตอร์ ทำให้การเกษตรแบบดั้งเดิม "ฉลาด" มากขึ้น

บนภูเขา Mengding ทางตะวันออกเฉียงเหนือของ Ya'an, Sichuan สันเขาไหลไปทางตะวันตกไปตะวันออกในทะเลสีเขียว นี่เป็นภาพที่คุ้นเคยมากที่สุดสำหรับเติ้งวัย 36 ปี หนึ่งในผู้ผลิตชา Mengding เพียงไม่กี่คนในรุ่นของเขา ด้วยพื้นที่เพาะปลูก 50mu (=3.3 เฮกตาร์) ที่ตั้งอยู่เหนือระดับน้ำทะเล 1100 เมตร เติ้งมาจากครอบครัวผู้ผลิตชา แต่การสืบทอดมรดกของครอบครัวไม่ใช่เรื่องง่าย “ชาของเราปลูกบนที่สูงในสภาพแวดล้อมแบบออร์แกนิกเพื่อให้มั่นใจในคุณภาพที่ยอดเยี่ยม แต่ในขณะเดียวกัน ความหนาแน่นของการเจริญเติบโตก็ต่ำ ค่าใช้จ่ายสูง และการแตกหน่อก็ไม่สม่ำเสมอ ทำให้ชายากที่จะเก็บเกี่ยว นั่นเป็นเหตุผลที่ว่าทำไมชาจากภูเขาสูงจึงมักเป็นผลผลิตขนาดเล็ก และคุณค่าของชาเหล่านี้ไม่ได้สะท้อนให้เห็นในตลาด” ในช่วงสองปีที่ผ่านมา เติ้งพยายามที่จะปลุกจิตสำนึกของผู้บริโภคเกี่ยวกับชาภูเขาสูงเพื่อส่งเสริมคุณค่าของพวกเขา และเมื่อเขาได้พบกับฟาน ซึ่งกำลังมองหาพื้นที่เพาะปลูกเพื่อนำเทคโนโลยี IoTea ของ Seeed มาใช้ ได้การจับคู่ที่สมบูรณ์แบบสำหรับโซลูชัน โซลูชัน Seeed IoTea มีเป้าหมายเพื่อช่วยให้เกษตรกรผู้ปลูกชาสามารถจัดการไร่ชาได้ดีขึ้นโดยไม่เปลี่ยนแปลงแนวทางปฏิบัติดั้งเดิมของการปลูกชา และเพื่อนำเสนอข้อมูลด้านสิ่งแวดล้อมแบบเรียลไทม์จากไร่บนแพลตฟอร์มเปิด

ประกอบด้วยเซ็นเซอร์ โหนด และเกตเวย์ IoTea รวบรวมข้อมูลแบบเรียลไทม์ของปัจจัยที่อาจส่งผลต่อคุณภาพของชาในระหว่างการเพาะปลูกและกระบวนการผลิต รวมถึงอุณหภูมิและความชื้น CO2, O2, PM และการรับแสง ข้อมูลจะถูกเก็บรวบรวมโดยเซ็นเซอร์ ส่งโดยโหนดไปยังเกตเวย์ และสุดท้ายไปยังคลาวด์ และทำให้ลูกค้าปลายทางสามารถเข้าถึงได้บนหน้าเว็บ

ขั้นตอนที่ 3: การเชื่อมต่อฮาร์ดแวร์

ขั้นตอนที่ 1: การเชื่อมต่อเกตเวย์

เกตเวย์ถูกติดตั้งแยกต่างหากในกล่อง เมื่อพิจารณาถึงปัญหาการกระจายความร้อน เราได้เพิ่มพัดลม 2 ตัว หนึ่งสำหรับการกระจายความร้อนของ Raspberry Pi อีกส่วนหนึ่งสำหรับการไหลเวียนของอากาศภายในและภายนอก กล่องเกตเวย์ถูกวางไว้ในบ้านของชาวนา ดังนั้นเราจึงไม่จำเป็นต้องพิจารณาถึงปัญหาด้านพลังงาน

ภาพ
ภาพ

ขั้นตอนที่ 2: การเชื่อมต่อโหนด

โหนดเป็นเทอร์มินัลของข้อมูล และข้อมูลดั้งเดิมทั้งหมดได้มาจากที่นี่ มีเซ็นเซอร์ 6 ตัวที่เชื่อมต่อกับโหนด นอกจากเซ็นเซอร์ความชื้นและอุณหภูมิในดินแล้ว เรายังใส่เซ็นเซอร์อื่นๆ ไว้ในกล่องบานเกล็ดอีกด้วย

ภาพ
ภาพ
ภาพ
ภาพ

โหนดถูกวางไว้ในกล่องกันน้ำ เพื่อให้มีการเชื่อมต่อกับโหนดได้ดีขึ้น เราจึงสร้างบอร์ดอะแดปเตอร์ สุดท้ายนี้ เราจะจัดเตรียมลิงก์ดาวน์โหลดแผนผังของบอร์ดนี้ ดังที่แสดงด้านล่าง สายเคเบิลของเซ็นเซอร์ถูกเสียบเข้ากับบอร์ดอะแดปเตอร์ผ่านเทอร์มินัลบล็อก เราใช้หลอด MOS 3 หลอด (SI2301) เพื่อสร้างวงจรสวิตช์เพื่อควบคุมการเปิดและปิดของเซ็นเซอร์และพัดลม พัดลมใช้สำหรับระบายความร้อน เรามีเซ็นเซอร์อุณหภูมิ (DS18B20) ติดตั้งอยู่บนบอร์ด สามารถบอกอุณหภูมิภายในกล่องได้ จากนั้นไมโครคอนโทรลเลอร์จะตัดสินใจว่าจะเปิดพัดลมหรือไม่ เราใช้ตัวต้านทานหลายตัวเพื่อสร้างวงจรแบ่งแรงดันเพื่อวัดแรงดันแบตเตอรี่กรดตะกั่ว สุดท้ายนี้ เราขอสงวนอินเทอร์เฟซ IIC 3 รายการและพอร์ตอนุกรมไว้บนบอร์ดสำหรับการขยายและการดีบักในภายหลัง

ภาพ
ภาพ

มาพูดถึงปัญหาการจ่ายไฟของโหนดกัน โหนดจะถูกวางในไร่ชาแบบสุ่ม ดังนั้นจึงไม่สามารถใช้วิธีการจ่ายไฟแบบเดิมได้อีกต่อไป การใช้โซลูชันพลังงานแสงอาทิตย์เป็นความคิดที่ดี มีโซลูชั่นมากมายในตลาดปัจจุบัน เราสามารถเลือกหนึ่งในนั้นที่ตรงกับความต้องการของเรา โซลูชันที่เราเลือกมี 3 ส่วน ได้แก่ แผงโซลาร์เซลล์ ตัวควบคุมการประจุพลังงานแสงอาทิตย์ และแบตเตอรี่กรดตะกั่ว เพื่อให้สามารถดักจับพลังงานแสงอาทิตย์ได้ดีขึ้น เราจึงวางแผงโซลาร์เซลล์ไว้ที่ด้านบนของโครงยึดและปรับมุมเพื่อให้แน่ใจว่าหันหน้าเข้าหาดวงอาทิตย์ เราวางตัวควบคุมการชาร์จพลังงานแสงอาทิตย์ไว้ในกล่องเดียวกันกับโหนด เนื่องจากภายในกล่องไม่มีที่ว่างเพิ่มเติม เราจึงต้องหากล่องกันน้ำอันใหม่มาวางแบตเตอรี่กรดตะกั่ว

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ขั้นตอนที่ 4: การกำหนดค่าซอฟต์แวร์

โหนด

ในส่วนนี้ เราจะแนะนำการกำหนดค่าซอฟต์แวร์ของโหนดเป็นหลัก

รูปแบบข้อมูล

ข้อมูลที่อัปโหลดโดยโหนดไปยังเกตเวย์:

ถ่านที่ไม่ได้ลงชื่อ Lora_data[15] ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};

ความหมายของแต่ละบิตข้อมูล:

Lora_data[0] :อุณหภูมิอากาศ ℃

Lora_data[1] :ความชื้นในอากาศ %

Lora_data[2] :ระดับความสูงแปดสูง m

Lora_data[3] :ระดับความสูงต่ำแปด

Lora_data[4] :CO2 ความเข้มข้นสูงแปด, ppm

Lora_data[5] :ความเข้มข้นของ CO2 ต่ำแปด

Lora_data[6] :ความเข้มข้นของฝุ่นสูงแปด ชิ้น/0.01cf

Lora_data[7] :ความเข้มข้นของฝุ่นต่ำแปด

Lora_data[8] :ความเข้มแสงสูงแปด lux

Lora_data[9] :ความเข้มแสงต่ำแปด

Lora_data[10] :ความเข้มข้นของ O2, % (ข้อมูลดิบหารด้วย 1,000)

Lora_data[11] :อุณหภูมิดิน ℃

Lora_data[12] :ความชื้นในดิน %

Lora_data[13] :แรงดันแบตเตอรี่, v

Lora_data[14] :รหัสข้อผิดพลาดของเซ็นเซอร์

รหัสข้อผิดพลาด:

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

ความหมายของแต่ละบิต:

บิต 0: 1 ---- อุณหภูมิ & Humi & Barometer Sensor (BME280) ข้อผิดพลาด

บิต 1: 1 ---- ข้อผิดพลาดของเซนเซอร์คาร์บอนไดออกไซด์ (MH-Z16)

บิต 2: 1 ---- Dust Sensor (PPD42NS) ผิดพลาด

บิต 3: 1 ---- Digital Light Sensor error

บิต 4: 1 ---- Oxygen Sensor (ME2-O2-Ф20) ผิดพลาด

บิต 5: 1 ---- ข้อผิดพลาดของเซ็นเซอร์ความชื้นและอุณหภูมิในดิน

บิต 6: สงวนไว้

บิต 7: สงวนไว้

เราได้สร้าง Error_code_transform.exe แล้ว เปิดและป้อนรหัสข้อผิดพลาดเป็นเลขฐานสิบหก คุณจะรู้ได้อย่างรวดเร็วว่าเซ็นเซอร์ตัวใดมีข้อผิดพลาด ลิงค์ดาวน์โหลดอยู่ท้ายบทความนี้

การปรับพารามิเตอร์:ก) รอบการส่งข้อมูล

// seeedtea.ino

#defineinterval_time 600 //วินาที

พารามิเตอร์นี้สามารถเปลี่ยนแปลงได้เพื่อเปลี่ยนรอบการส่งข้อมูล ในแต่ละรอบ การเก็บข้อมูลจะใช้เวลาประมาณ 1 นาที ดังนั้นจึงไม่แนะนำให้เปลี่ยนค่านี้ให้น้อยกว่า 60 วินาที

b) เวลาอุ่นเครื่องเซ็นเซอร์ฝุ่น

//seeedtea.ino

#definePreheat_time 30000 //เวลาอุ่นเครื่อง DustSensor มิลลิวินาที // Dust_other.cpp #definesampletime_ms 30000 //samplingtime30s

c) ค่าสัมประสิทธิ์แรงดัน

//POWER_Ctrl.cpp

#defineBattery_coefficient 0.159864 // ค่า ADC × Battery_coefficient = battery_voltage #defineSolar_coefficient 0.22559 // ค่า ADC × Solar_coefficient = solar_voltage

พารามิเตอร์ทั้งสองนี้คำนวณตามวงจรแบ่งแรงดัน

d) เกณฑ์อุณหภูมิการเปิดพัดลม

//POWER_Ctrl.cpp

#defineFan_start_temp 45 //temperaturethreshold #defineFan_start_light 500 //ความเข้มของแสง

เมื่ออุณหภูมิจริงเกินเกณฑ์ พัดลมจะเริ่มเย็นลง

จ) พารามิเตอร์การเริ่มต้นเซ็นเซอร์ O2

//ออกซิเจน.cpp

#defineO2_percentage 208.00 //20.8%

f) สวิตช์มาโคร

//seeedtea.ino

#defineLORA_RUN //หลังจากความคิดเห็น การเริ่มต้น Lora และการส่งข้อมูลจะหยุด #defineSENSOR_RUN //หลังจากแสดงความคิดเห็น เซ็นเซอร์ภายนอกจะหยุดทำงาน //POWER_Ctrl.cpp #defineFAN_ON //สำหรับการทดสอบเท่านั้น แอปพลิเคชันที่ใช้งานจริงจำเป็นต้องแสดงความคิดเห็น /**** ***โหมดควบคุม DS18B20 **********************/ #defineSlower_Mode // โหมดช้าเพื่อรับอุณหภูมิ แสดงความคิดเห็นในโหมดเร็ว

g) ปักหมุดแผนที่

D2: ไฟ LED และไมโครคอนโทรลเลอร์รีเซ็ตภายนอก IIC: SCL และ SDA

// Dust_other.h

#defineDust_pin 3 // เซ็นเซอร์ฝุ่น //CO2.cpp #defineCO2_serial Serial1 // ใช้ hardwareserial port (D0 & D1) //seeedtea.ino #definedataPin 6 // พินข้อมูลดิน #defineclockPin 7 //พินนาฬิกาดิน //POWER_Ctrl h #defineDS18B20_pin 8 //DS18B20 #defineFan_pin 9 //Fan #defineAir_CtrlPin 10 // พินควบคุมสำหรับเซ็นเซอร์ที่วางอยู่ในบานเกล็ด #defineSoil_CtrlPin 11 // หมุดสวิตช์เซ็นเซอร์ความชื้นและอุณหภูมิในดิน #defineBattery_pin A2 // วัดแรงดันแบตเตอรี่ #defineSolar_pin A3 / /วัดแรงดันแผงโซลาร์เซลล์ //Oxygen.h #defineO2_pin A1 //O2 sensor

h) ตัวจับเวลาการเฝ้าระวัง

ตัวจับเวลาจ้องจับผิดใช้เพื่อตรวจสอบสถานะการทำงานของระบบ เมื่อระบบทำงานผิดปกติ โหนดจะถูกรีเซ็ต เพื่อให้ทำงานได้อย่างต่อเนื่องเป็นเวลานาน

ห้องสมุดที่จะอ้างอิง:

  • เพิ่ม Adafruit_SleepyDog.h ในโครงการแล้ว
  • Adafruit_ASFcore-master.zip บรรจุอยู่ในโฟลเดอร์โครงการและจำเป็นต้องเพิ่มลงใน Arduino IDE ด้วยตนเอง

ฟังก์ชั่นที่เกี่ยวข้อง:

เปิดใช้งานสุนัขเฝ้าบ้าน

int WatchdogSAMD:: เปิดใช้งาน (int maxPeriodMS, บูล isForSleep)

พารามิเตอร์อินพุต:

Int maxPeriodMS: เวลารอในหน่วยมิลลิวินาที สูงสุดที่อนุญาตคือ 16000 มิลลิวินาที

คืนค่า:

ประเภท Int คืนเวลารอตามจริง

รีเซ็ตสุนัขเฝ้าบ้าน

เป็นโมฆะ WatchdogSAMD:: รีเซ็ต ()

เรียกใช้ฟังก์ชันนี้เพื่อรีเซ็ตตัวจับเวลาสุนัขเฝ้าบ้าน ซึ่งเรียกว่า "ให้อาหารสุนัข" การเกินเวลารอโดยไม่รีเซ็ตจะทำให้โหนดรีสตาร์ท

หยุดสุนัขเฝ้าบ้าน

เป็นโมฆะ WatchdogSAMD:: ปิดการใช้งาน ()

ประตู

ในส่วนนี้เราจะแนะนำวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ Loriot

ขั้นตอนที่ 1: การลงทะเบียนเกตเวย์เซิร์ฟเวอร์ Loriot

ก) ผู้ใช้ใหม่ต้องลงทะเบียนบัญชีก่อน คลิกที่อยู่ลงทะเบียน กรอกชื่อผู้ใช้ รหัสผ่าน และที่อยู่อีเมลเพื่อลงทะเบียน หลังจากลงทะเบียนแล้ว อีเมลจะถูกส่งถึงคุณ โปรดปฏิบัติตามคำแนะนำในอีเมลเพื่อเปิดใช้งาน

b) หลังจากเปิดใช้งานสำเร็จ คลิกที่นี่เพื่อเข้าสู่ระบบ ระดับเริ่มต้นคือ “เครือข่ายชุมชน” รองรับ 1 เกตเวย์ (RHF2S001) และ 10 โหนด

c) เข้าสู่ Dashboard -> Gateway คลิก Add Gateway เริ่มเพิ่ม Gateway

ง) เลือก Raspberry Pi 3

จ) กำหนดดังนี้:

  • วิทยุ front-end -> RHF2S001 868/915 MHz (SX1257)
  • รถบัส -> SPI

f) กรอกที่อยู่ MAC ของ RHF2S001 ของคุณ ควรอยู่ในรูปแบบ b8:27:eb:xx:xx:xx และยังป้อนข้อมูลตำแหน่งเกตเวย์

g) คลิก “ลงทะเบียนเกตเวย์ Raspberry Pi” เพื่อสิ้นสุดการลงทะเบียน

ภาพ
ภาพ

h) คลิกเกตเวย์ที่ลงทะเบียนเพื่อเข้าสู่หน้าการกำหนดค่า สลับ "Frequency Plan" ด้วยตนเอง แผนของคุณจะถูกกำหนดโดยประเภทของ RHF2S001 ของคุณ แผนที่มีอยู่คือ CN470,CN473, CN434,CN780,EU868 หลังจากเลือกแล้ว โปรดรีเฟรชหน้า เพื่อให้ได้ช่องที่แน่นอน ในวิกินี้ เราเลือก EU868

i) รันคำสั่งใน terminal ของ putty:

cd /home/rxhf/loriot/1.0.2

sudo systemctl หยุด 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.

ภาพ
ภาพ

Step2: อุปกรณ์ Loriot Server Connect Node

ก) รับช่องทางเกตเวย์ที่มีอยู่

ช่องทางเกตเวย์ปัจจุบันสามารถรับได้จาก Dashboard -> Gateway ->Your Gateway คุณสามารถดูช่องทางที่มีอยู่ดังภาพด้านล่าง

ภาพ
ภาพ

b) Seeeduino LoRAWAN GPS (RHF3M076) การกำหนดค่า

เปิดมอนิเตอร์แบบอนุกรมของ ArduinoIDE แตะคำสั่งด้านล่าง

at+ch

เพื่อยืนยันช่องเริ่มต้นของ Seeeduino_LoRAWAN GPS ของคุณ คุณจะได้รับ 3 ช่อง หากไม่มีช่องสัญญาณ คุณสามารถเปลี่ยนช่องของ Seeeduino_LoRAWAN ได้ตามคำสั่งด้านล่าง

at+ch=0, 868.1

at+ch=1, 868.3 at+ch=2, 868.5

จากนั้นคุณสามารถใช้ at+ch อีกครั้งเพื่อตรวจสอบ

c) เพิ่ม Seeeduino_LoRAWAN GPS เป็น ABP NodeLog ในเซิร์ฟเวอร์ Loriot คลิก Dash Board -> Applications -> SimpleApp คลิกนำเข้า ABP ,ป้อนข้อมูลด้านล่างรายการ

  • DevAddr: Seeeduino_LoRAWAN GPS ผ่านคำสั่ง "AT+ID" (หมายเหตุ: Loriot ไม่รองรับตัวเชื่อมต่อทวิภาค ต้องลบด้วยตนเอง)
  • FCntUp:เซตโต 1
  • FCntDn:เซตโต 1
  • NWKSKEY:ค่าเริ่มต้น 2B7E151628AED2A6ABF7158809CF4F3C
  • APPSKEY:ค่าเริ่มต้น 2B7E151628AED2A6ABF7158809CF4F3C
  • EUI:DEVEUI, Seeeduino_LoRAWAN GPS ผ่านคำสั่ง "AT+ID"
ภาพ
ภาพ

คลิกปุ่มนำเข้าอุปกรณ์เพื่อสิ้นสุดการนำเข้าอุปกรณ์ ตอนนี้เลือก Dashboard-> Applications -> SampleApp คุณจะเห็น ABP Node ใหม่ที่คุณเพิ่งเพิ่ม

ภาพ
ภาพ

ง) ส่งข้อมูลจาก Seeeduino_LoRAWAN

ความสนใจ! นี่เป็นเพียงการทดสอบ

กลับไปที่มอนิเตอร์แบบอนุกรมของ ArduinoIDE ส่งคำสั่ง:

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

จากนั้นไปที่ Dashboard -> Applications -> SampleApp -> Device คลิก Node Device EUI หรือ DevAddr คุณจะพบข้อมูลที่คุณเพิ่งส่งมาที่นี่

ภาพ
ภาพ

สำหรับรายละเอียด โปรดดูที่วิกินี้

ขั้นตอนที่ 5: การสร้างเว็บไซต์

เครื่องมือที่เกี่ยวข้อง

  • virtualenv
  • Python3
  • Gunicorn
  • หัวหน้างาน
  • Nginx
  • MySQL

เราใช้ CentOS7 เป็นสภาพแวดล้อมการทดสอบการปรับใช้

virtualenv

ใช้ virtualenv เพื่อสร้างสภาพแวดล้อมการผลิต python3 แบบสแตนด์อโลน

ก) ติดตั้ง

pip ติดตั้ง virtualenv

b) สร้างสภาพแวดล้อมเสมือน python3

virtualenv -p python3 iotea

c) เริ่มสภาพแวดล้อมเสมือนและเข้าสู่ไดเร็กทอรี iotea

แหล่งที่มาของถัง/เปิดใช้งาน

ง) สภาพแวดล้อมที่มีอยู่

ปิดการใช้งาน

Python3

ก) ติดตั้ง

yum ติดตั้ง epel-release

yum ติดตั้ง python36

b) ติดตั้งไลบรารีขึ้นอยู่กับ PyMySQL, DBUtils, Flask, websocket-client, configparser

pip ติดตั้ง pymysql

pip ติดตั้ง dbutils pip ติดตั้ง flask pip ติดตั้ง websocket-client pip ติดตั้ง configparser

Gunicorn

a) ติดตั้ง (ภายใต้สภาพแวดล้อม Python3)

pip ติดตั้ง gunicorn

b) เรียกใช้โครงการขวด (ภายใต้ไดเรกทอรีโครงการ iotea)

gunicorn -w 5 -b 0.0.0.0:5000 แอพ:แอพ

c) เรียกใช้ websocket-clint เพื่อรับข้อมูล loriot

gunicorn loriot:app

d) ดูแผนผังกระบวนการ Gunicorn

pstree -ap|grep gunicorn

หัวหน้างาน

ก) ติดตั้ง (ผู้ใช้รูท)

pip หัวหน้างานติดตั้ง

b) สร้างไฟล์ปรับแต่ง

echo_supervisord_conf > /etc/supervisord.conf

c) สร้างไดเร็กทอรีและแนะนำคอนฟิกูเรชันไดเร็กทอรี

mkdir -p /etc/supervisor/conf.d

แก้ไข /etc/supervisord.conf และแก้ไขฟิลด์ไฟล์ภายใต้ [include] ที่ส่วนท้ายของไฟล์

โปรดทราบว่าคุณต้องลบ ';' หน้าสองบรรทัดนี้ ซึ่งเป็นตัวแสดงความเห็น

[รวม]

ไฟล์ = /etc/supervisor/conf.d/*.conf

หมายถึงการแนะนำ /etc/supervisor/conf.d/ ไฟล์คอนฟิกูเรชันต่อไปนี้ใช้เป็นไฟล์คอนฟิกูเรชันกระบวนการ (ตรวจสอบโดยหัวหน้างาน)

d) การกำหนดค่าขาเข้า (ภายใต้ไดเร็กทอรี iotea)

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

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

e) เปิด iotea เสิร์ฟ

superviosrctl รีโหลด #reload ไฟล์การกำหนดค่า

superviosrctl start loriot #เปิด loriot การรับข้อมูล superviosrctl start iotea #open the iotea flask application

f) การดำเนินงานทั่วไปอื่น ๆ

Supervisorctl โหลดซ้ำ # โหลดไฟล์การกำหนดค่าใหม่

Supervisorctl อัปเดต Supervisorctl เริ่ม xxx Supervisorctl หยุด xxx Supervisorctl สถานะ xxx Supervisorctl ช่วย # ดูคำสั่งเพิ่มเติม

Nginx

ก) ติดตั้ง

yum ติดตั้ง -y nginx

b) การกำหนดค่า

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

c) เริ่ม Nginx

systemctl start nginx.service

MySQL

ก) พารามิเตอร์ที่เกี่ยวข้อง

ผู้ใช้='รูท'

passwd='1234' db='iotea' พอร์ต=3306

b) ไฟล์

iotea_iotea.sql

c) ไฟล์กำหนดค่า

db.ini

แนะนำ: