Բովանդակություն:

Տեսեք LoRa IoTea լուծումը ՝ 5 քայլ
Տեսեք LoRa IoTea լուծումը ՝ 5 քայլ

Video: Տեսեք LoRa IoTea լուծումը ՝ 5 քայլ

Video: Տեսեք LoRa IoTea լուծումը ՝ 5 քայլ
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Նոյեմբեր
Anonim
Տեսել եք LoRa IoTea լուծումը
Տեսել եք LoRa IoTea լուծումը

Տեղեկատվության հավաքման ավտոմատ համակարգ, որը կիրառվում է թեյի պլանտացիայի համար: Այն գյուղատնտեսական տեղեկատվության խելացի հավաքագրման մի մասն է:

Քայլ 1: Այս նախագծում օգտագործվող բաները

Սարքավորման բաղադրիչներ

  • Grove - ածխածնի երկօքսիդի սենսոր (MH -Z16)
  • Grove - թվային լույսի ցուցիչ
  • Grove - Փոշու տվիչ (PPD42NS)
  • Grove-թթվածնի տվիչ (ME2-O2-Ф20)
  • Հողի խոնավության և ջերմաստիճանի տվիչ
  • LoRa LoRaWAN Gateway - 868 ՄՀց հավաքածու Raspberry Pi 3 -ով
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Softwareրագրային ապահովման ծրագրեր և առցանց ծառայություններ

Microsoft Visual Studio 2015

Քայլ 2: Պատմություն

Խելացի գյուղատնտեսությունն այն է, որ բաների ինտերնետը կիրառվի ավանդական գյուղատնտեսության մեջ ՝ օգտագործելով սենսորներ և ծրագրեր ՝ բջջային կամ համակարգչային հարթակների միջոցով գյուղատնտեսության արտադրությունը վերահսկելու համար ՝ ավանդական գյուղատնտեսությունն ավելի «խելացի» դարձնելով:

Մենգդինգ լեռան վրա ՝ Յաան քաղաքից ՝ Սիչուան, լեռնաշղթան անցնում է արևմուտք -արևելք կանաչ ծովով: 36-ամյա Դենի համար, որն իր սերնդի Mengding թեյ պատրաստողներից շատ քիչ է, սա ամենահայտնին է ՝ 50 մու (= 3.3 հա) պլանտացիայով, որը գտնվում է ծովի մակարդակից 1100 մ բարձրության վրա: Դենգը թեյագործների ընտանիքից է, բայց ընտանիքի ժառանգությունը կրելը հեշտ գործ չէ: «Մեր թեյերը աճեցվում են բարձր բարձրության վրա` օրգանական միջավայրում `դրա գերազանց որակը ապահովելու համար: Բայց միևնույն ժամանակ, աճի խտությունը ցածր է, արժեքը `բարձր, և ծիլերը անհարթ են, ինչը դժվարացնում է թեյի բերքը: Ահա թե ինչու բարձր լեռնային թեյերը սովորաբար փոքր բերք են և դրանց արժեքը շուկայում չի արտացոլվում »: Վերջին երկու տարիներին Դենգը փորձում էր բարձրացնել բարձր լեռնային թեյի մասին սպառողների տեղեկացվածությունը `դրանց արժեքը բարձրացնելու համար: Եվ երբ նա հանդիպեց Ֆանին, ով պլանտացիա էր փնտրում ՝ Seeed’s IoTea տեխնոլոգիան ներդնելու համար, լուծման համար կատարյալ համընկնում ստեղծվեց: Տեսած IoTea լուծումը նպատակ ունի օգնելու թեյի ֆերմերներին ավելի լավ կառավարել տնկարկները ՝ չփոխելով թեյի մշակման ավանդական գործելակերպը, և բաց հարթակում ներկայացնել տնկարկների բնապահպանական իրական տվյալները:

Սենսորներից, հանգույցներից և դարպասներից բաղկացած IoTea- ն իրական ժամանակի տվյալներ է հավաքում այն գործոնների մասին, որոնք կարող են ազդել թեյի որակի վրա մշակման և արտադրական գործընթացների ժամանակ, ներառյալ ջերմաստիճանը և խոնավությունը, CO2, O2, PM և լույսի ազդեցությունը: Տվյալները հավաքվում են տվիչների կողմից, ուղարկվում են հանգույցների միջոցով դեպի դարպաս և, ի վերջո, դեպի ամպ, և հասանելի են դառնում վերջնական հաճախորդների համար վեբ էջում:

Քայլ 3: Սարքաշարի միացում

Քայլ 1: Դարպասի միացում

Դարպասը տեղադրվում է առանձին վանդակում: Հաշվի առնելով ջերմության տարածման խնդիրը, մենք ավելացրեցինք 2 երկրպագու: Մեկը Raspberry Pi- ի ջերմության տարածման համար է, մյուսը `ներքին և արտաքին օդի շրջանառության համար: Դարպասի տուփը տեղադրված է ֆերմերի տանը, այնպես որ մենք կարիք չունենք հաշվի առնելու դրա էներգիայի խնդիրը:

Պատկեր
Պատկեր

Քայլ 2: Հանգույցի միացում

Հանգույցը տվյալների տերմինալն է, և բոլոր բնօրինակ տվյալները ստացվում են այստեղից: Հանգույցին միացված են 6 տվիչներ: Բացի հողի խոնավության և ջերմաստիճանի տվիչից, մենք այլ սենսորներ ենք դնում ճարմանդային տուփի ներսում:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Հանգույցը տեղադրված է անջրանցիկ տուփի մեջ: Հանգույցի հետ ավելի լավ կապ ունենալու համար մենք պատրաստում ենք ադապտերային տախտակ: Վերջապես, մենք կտրամադրենք այս տախտակի սխեմատիկ բեռնման հղումը: Ինչպես ցույց է տրված ստորև, տվիչների մալուխները միացված են ադապտերային տախտակին տերմինալային բլոկների միջոցով: Մենք օգտագործում ենք 3 MOS խողովակ (SI2301) `անջատիչների սխեմաներ կառուցելու համար` սենսորների և օդափոխիչի միացումն ու անջատումը վերահսկելու համար: Երկրպագուն օգտագործվում է զովանալու համար: Մենք ունենք ջերմաստիճանի տվիչ (DS18B20), որը տեղադրված է տախտակի վրա: Այն կարող է մեզ տեղեկացնել տուփի ներքին ջերմաստիճանի մասին, իսկ հետո միկրոկոնտրոլերը որոշում է ՝ միացնել օդափոխիչը: Մենք օգտագործում ենք մի քանի դիմադրիչներ `լարման բաժանարար միացում կազմելու համար` կապարաթթվային մարտկոցի լարումը չափելու համար: Ի վերջո, մենք 3 IIC ինտերֆեյս և սերիական նավահանգիստ ենք պահում տախտակի վրա ՝ հետագա ընդլայնման և կարգաբերման համար:

Պատկեր
Պատկեր

Եկեք խոսենք հանգույցի էներգիայի մատակարարման խնդրի մասին: Հանգույցը պատահականորեն տեղադրվում է թեյի պլանտացիայում, ուստի էլեկտրամատակարարման ավանդական եղանակն այլևս կիրառելի չէ: Արևային էներգիայի լուծույթի օգտագործումը լավ գաղափար է: Ներկայումս շուկայում ներկայացված են բազմաթիվ լուծումներ: Մենք կարող ենք ընտրել դրանցից մեկը, որը բավարարում է մեր կարիքները: Մեր ընտրած լուծման մեջ կա 3 մաս ՝ արևային վահանակ, արևային լիցքի վերահսկիչ և կապարաթթու մարտկոց: Արեգակնային էներգիան ավելի լավ գրավելու համար մենք տեղադրում ենք արևային վահանակը փակագծի վերևում և հարմարեցնում դրա անկյունը `ապահովելու համար, որ այն ուղղված է արևին: Մենք տեղադրեցինք արևային լիցքի վերահսկիչը հանգույցով նույն տուփի մեջ: Քանի որ տուփի ներսում լրացուցիչ տարածք չկա, մենք ստիպված եղանք գտնել նոր անջրանցիկ տուփ `կապարաթթվային մարտկոցը տեղադրելու համար:

Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր

Քայլ 4: Softwareրագրակազմի կազմաձևում

Հանգույց

Այս բաժնում մենք կներկայացնենք հանգույցի հիմնականում ծրագրային կազմաձևումը:

Տվյալների ձևաչափ

Հանգույցով դարպասի վրա բեռնված տվյալները.

անստորագիր նշան 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] : Բարձրություն բարձր ութ, մ

Lora_data [3] : Բարձրության ցածր ութ

Lora_data [4] : CO2 կոնցենտրացիան բարձր ութ, ppm

Lora_data [5] : CO2 կոնցենտրացիան ցածր ութ

Lora_data [6] : Փոշու կոնցենտրացիան բարձր ութ, հատ/0.01cf

Lora_data [7] : Փոշու խտությունը ցածր ութ

Lora_data [8] : Լույսի ինտենսիվություն բարձր ութ, լյուքս

Lora_data [9] : Լույսի ինտենսիվությունը ցածր ութ է

Lora_data [10] : O2 կոնցենտրացիան, % (հում տվյալները բաժանված են 1000 -ի)

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 ---- Սխալ Temp & Humi & Barometer Sensor (BME280)

բիթ 1: 1 ---- Ածխածնի երկօքսիդի տվիչ (MH-Z16) սխալ

բիթ 2: 1 ---- Փոշու տվիչ (PPD42NS) սխալ

բիթ 3: 1 ---- Թվային լուսային տվիչի սխալ

բիթ 4: 1 ---- Թթվածնի տվիչ (ME2-O2-Ф20) սխալ

բիթ 5: 1 ---- Հողի խոնավության և ջերմաստիճանի տվիչների սխալ

բիթ 6: Վերապահված է

բիթ 7: Վերապահված է

Մենք կազմել ենք Error_code_transform.exe, բացել այն և մուտքագրել սխալի ծածկագիրը տասնվեցերորդով, դուք արագ կիմանաք, թե որ ցուցիչն է սխալ: Ներբեռնման հղումը գտնվում է այս հոդվածի վերջում:

Պարամետրերի ճշգրտում `ա) Տվյալների փոխանցման ցիկլ

// seeedtea.ino

#defineinterval_time 600 // վայրկյան

Այս պարամետրը կարող է փոփոխվել `տվյալների փոխանցման ցիկլը փոխելու համար: Յուրաքանչյուր ցիկլում տվյալների հավաքումը տևում է մոտ 1 րոպե: Այսպիսով, խորհուրդ չի տրվում փոխել այս արժեքը 60 վայրկյանից պակաս:

բ) Փոշու տվիչի տաքացման ժամանակը

//seeedtea.ino

#definePreheat_time 30000 // DustSensor warming time, milliseond //Dust_other.cpp #definesampletime_ms 30000 // samplingtime30s

գ) Լարման գործակից

//POWER_Ctrl.cpp

#defineBattery_coefficient 0.159864 // ADC արժեքը × Battery_coefficient = battery_voltage #defineSolar_coefficient 0.22559 // ADC value × Solar_coefficient = solar_voltage

Այս երկու պարամետրերը հաշվարկվում են լարման բաժանարար սխեմայի հիման վրա:

դ) Օդափոխիչի բացման ջերմաստիճանի շեմը

//POWER_Ctrl.cpp

#defineFan_start_temp 45 // ջերմաստիճանի շեմ #defineFan_start_light 500 // լույսի ուժգնություն

Երբ իրական ջերմաստիճանը գերազանցի շեմը, օդափոխիչը կսկսի սառչել:

ե) O2 սենսորի սկզբնավորման պարամետր

//Oxygen.cpp

#սահմանել O2_ տոկոս 208.00 //20.8%

զ) Մակրո անջատիչ

//seeedtea.ino

#defineLORA_RUN // Մեկնաբանությունից հետո Lora- ի նախաստորագրումը և տվյալների փոխանցումը կդադարի #սահմանել SENSOR_RUN // Մեկնաբանությունից հետո արտաքին սենսորները կդադարեն աշխատել //POWER_Ctrl.cpp #defineFAN_ON // Միայն ամենաուժեղը, գործնական կիրառման համար անհրաժեշտ է մեկնաբանել /**** *** DS18B20 կառավարման ռեժիմ *********************/ #defineSlower_Mode // Դանդաղ ռեժիմը միացրեք ջերմաստիճանը: Մեկնաբանությունը արագ ռեժիմ է

է) կապում քարտեզագրում

D2. LED ցուցիչ և արտաքին զրոյական միկրոկառավարիչ IIC ՝ SCL և SDA

// Փոշի_այլ.հ

#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 // louverbox #defineSoil_CtrlPin 11 տեղադրված տվիչների կառավարման քորոց // Հողի խոնավության և ջերմաստիճանի տվիչների անջատիչ քորոց #defineBattery_pinine /Չափել արևային վահանակի լարման //Oxygen.h #defineO2_pin A1 // O2 ցուցիչ

ը) Watchdog ժամաչափ

Theամացույցի ժամաչափը օգտագործվում է համակարգի աշխատանքի կարգավիճակը վերահսկելու համար: Երբ համակարգը աշխատում է աննորմալ, հանգույցը կվերակայվի, այնպես որ այն կարող է շարունակաբար աշխատել երկար ժամանակ:

Գրադարան, որին պետք է անդրադառնալ.

  • Նախագծին ավելացվել է Adafruit_SleepyDog.h
  • Adafruit_ASFcore-master.zip- ը փաթեթավորված է նախագծի թղթապանակում և անհրաժեշտ է ձեռքով ավելացնել Arduino IDE- ին:

Առնչվող գործառույթներ.

Միացնել պահակախումբը

int WatchdogSAMD:: միացնել (int maxPeriodMS, bool isForSleep)

Մուտքային պարամետրեր.

Int maxPeriodMS: Սպասման ժամանակը միլիվայրկյաններով: Թույլատրված առավելագույնը 16000 միլիվայրկյան է:

վերադարձի արժեքը.

Int տիպ, վերադարձեք սպասման իրական ժամանակը

Վերակայել դիտորդին

void WatchdogSAMD:: վերականգնում ()

Functionանգահարեք այս գործառույթը ՝ կարգավորելու ժամացույցի ժամաչափը, որը կոչվում է «շանը կերակրելու»: Առանց վերակայման սպասման ժամանակը գերազանցելը հանգեցնի հանգույցի վերագործարկման:

Դադարեցրեք պահապանը

void WatchdogSAMD:: անջատել ()

Դարպաս

Այս բաժնում մենք կներկայացնենք, թե ինչպես միանալ Loriot սերվերին:

Քայլ 1: Loriot Server Gateway գրանցում

ա) Նոր օգտվողին անհրաժեշտ է նախ գրանցել հաշիվ, սեղմել գրանցման հասցեն: Գրանցվելու համար լրացրեք UserName, Գաղտնաբառ և էլ. Հասցե, գրանցումից հետո էլ.

բ) Հաջող ակտիվացումից հետո մուտք գործելու համար կտտացրեք այստեղ: Լռելյայն մակարդակը «Համայնքային ցանց» է, այն աջակցում է 1 դարպաս (RHF2S001) և 10 հանգույց:

գ) Մուտքագրեք վահանակ -> դարպաս, կտտացրեք «Ավելացնել դարպաս» սկսել ՝ դարպաս ավելացնելու համար:

դ) Ընտրեք Raspberry Pi 3

ե) սահմանել ստորև.

  • Ռադիոընդունիչ -> RHF2S001 868/915 ՄՀց (SX1257)
  • BUS -> SPI

զ) Լրացրեք ձեր RHF2S001- ի MAC հասցեն, պետք է լինի b8: 27: eb: xx: xx: xx ձևաչափով: Եվ նաև մուտքագրեք Gateway Տեղադրության տեղեկատվությունը:

է) Կտտացրեք «Գրանցել Raspberry Pi gateway» ՝ գրանցումն ավարտելու համար:

Պատկեր
Պատկեր

ը) Կտտացրեք գրանցված դարպասին ՝ կազմաձևման էջ մուտքագրելու համար, ձեռքով միացրեք «Հաճախականության պլանը», ձեր ծրագիրն այստեղ որոշվում է ըստ ձեր RHF2S001 տիպի, առկա պլանը ՝ CN470 , CN473 , CN434 , CN780 , EU868, ընտրվածից հետո թարմացրեք էջը: ճշգրիտ ալիքը ստանալու համար: Այս վիքիում մենք ընտրում ենք 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 Node սարք

ա) Ստացեք հասանելի դարպասի ալիքները

Ներկայիս դարպասի ալիքները կարելի է ձեռք բերել Dashboard -> Gateway -> Your Gateway կայքից, իսկ հասանելի ալիքները կարող եք տեսնել ստորև ներկայացված նկարի տեսքով:

Պատկեր
Պատկեր

բ) Seeeduino LoRAWAN GPS (RHF3M076) կազմաձևում

Բացեք ArduinoIDE- ի սերիական մոնիտորը, կտտացրեք ստորև բերված հրամանին:

ժամը+ch

Ձեր Seeeduino_LoRAWAN GPS- ի կանխադրված ալիքը հաստատելու համար դուք կստանաք 3 ալիք: Եթե մատչելի ալիք չկա, ստորև բերված հրամանով կարող եք փոխել Seeeduino_LoRAWAN- ի ալիքները:

+ch = 0, 868.1

ժամը+ch = 1, 868.3 ժամը+ch = 2, 868.5

Այնուհետև կարող եք կրկին օգտագործել+ch ՝ ստուգելու համար:

գ) Լորիոտ սերվերում ավելացրեք Seeeduino_LoRAWAN GPS- ը որպես ABP NodeLog, կտտացրեք Dash Board -> Applications -> SimpleApp: Կտտացրեք Ներմուծել ABP , մուտքագրումը տարրերի ներքևում

  • DevAddr: Seeeduino_LoRAWAN GPS- ը անցնում է «AT+ID» հրամանով (Նշում. Loriot- ը չի աջակցում հաստ աղիքի միակցիչ, անհրաժեշտ է ձեռքով հեռացնել)
  • FCntUp : Setto 1
  • FCntDn : Setto 1
  • NWKSKEY fault կանխադրված արժեք 2B7E151628AED2A6ABF7158809CF4F3C
  • APPSKEY fault կանխադրված արժեք 2B7E151628AED2A6ABF7158809CF4F3C
  • EUI : DEVEUI, Seeeduino_LoRAWAN GPS- ը անցնում է «AT+ID» հրամանով
Պատկեր
Պատկեր

Սեղմեք Սարքի ներմուծման կոճակը ՝ սարքի ներմուծումն ավարտելու համար: Այժմ ընտրեք Վահանակ-> ationsրագրեր -> SampleApp, կտեսնեք նոր ավելացված ABP հանգույցը:

Պատկեր
Պատկեր

դ) Տվյալներ ուղարկեք Seeeduino_LoRAWAN- ից

Ո ATՇԱԴՐՈԹՅՈՆ: Սա ընդամենը փորձություն է:

Վերադառնալ ArduinoIDE- ի սերիական մոնիտոր, ուղարկեք հրաման.

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

Այնուհետև գնացեք Գործիքային վահանակ -> ationsրագրեր -> SampleApp -> Սարք, կտտացրեք Node Device EUI կամ DevAddr, այստեղ կգտնեք ձեր ուղարկած տվյալները:

Պատկեր
Պատկեր

Մանրամասների համար դիմեք այս վիքիին:

Քայլ 5: Վեբ կայքի պատրաստում

Առնչվող գործիքներ

  • վիրտուալենվ
  • Պիթոն 3
  • Գունիկորն
  • Վերահսկիչ
  • Nginx
  • MySQL

Մենք օգտագործում ենք CentOS7- ը որպես փորձարկման տեղակայման միջավայր

վիրտուալենվ

Օգտագործեք virtualenv- ն ՝ ինքնուրույն python3 արտադրական միջավայր կառուցելու համար

ա) տեղադրել

pip տեղադրել virtualenv

բ) ստեղծել python3 վիրտուալ միջավայր

virtualenv -p python3 iotea

գ) գործարկել վիրտուալ միջավայրը և մուտքագրել iotea գրացուցակը

աղբյուրի աղբարկղ/ակտիվացնել

դ) գոյություն ունեցող միջավայր

անջատել

Պիթոն 3

ա) տեղադրել

yum տեղադրել epel-release

yum տեղադրել python36

բ) տեղադրել կախյալ գրադարան PyMySQL, DBUtils, Flask, websocket-client, configparser

pip տեղադրել pymysql

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

Գունիկորն

ա) տեղադրել (Python3 միջավայրում)

pip տեղադրել gunicorn

բ) գործարկել տուփի նախագիծը (iotea ծրագրի գրացուցակում)

gunicorn -w 5 -b 0.0.0.0:5000 ծրագիր ՝ հավելված

գ) գործարկել websocket-clint ՝ լորիոտ տվյալներ ստանալու համար

gunicorn loriot: հավելված

դ) դիտել Gunicorn գործընթացի ծառը

pstree -ap | grep gunicorn

Վերահսկիչ

ա) տեղադրել (արմատային օգտվող)

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/

ե) բաց iotea ծառայել

superviosrctl վերաբեռնել #վերաբեռնել կազմաձևման ֆայլը

superviosrctl սկսել loriot #բաց loriot տվյալների ընդունում superviosrctl սկսել iotea #բացել iotea կոլբայի կիրառումը

զ) այլ սովորական գործողություններ

supervisorctl վերաբեռնել # վերաբեռնել կազմաձևման ֆայլը

supervisorctl թարմացում supervisorctl սկսել xxx supervisorctl դադարեցնել xxx supervisorctl կարգավիճակ xxx supervisorctl օգնություն # դիտել ավելի շատ հրաման

Nginx

ա) տեղադրել

yum install -y nginx

բ) կազմաձևում

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

գ) սկսել Nginx- ը

systemctl սկսել nginx.service

MySQL

ա) հարակից պարամետրերը

օգտվող = 'արմատ'

passwd = '1234' db = 'iotea' նավահանգիստ = 3306

բ) ֆայլ

iotea_iotea.sql

գ) կազմաձևման ֆայլ

db.ini

Խորհուրդ ենք տալիս: