Dastur orqali qurilmani masofadan boshqarish buyruqlarini
uzilmasi va ulurning xususiyatlari.
Ushbu tizim klient server
arxitekturasiga mo‘ljallangan web texnologiyalar yordamida ishlab
chiqilgan. Serverda barcha malumotlar va buyruqlar amalga oshiriladi,
yani barcha jarayonlar serverdagi ilova dastur orqali amalga oshiriladi.
Bunda foydalanuvchi xoxlagan nuqtadan web browser orqali tizimga
kiradi va qurilmalarni boshqarishi mumkin. Bunda albatta foydalanuvchi
uchun maxsus akkaunt kerak bo‘ladi. Shundan keyin quyidagi
buyruqlarni tizimga kiritish orqali masofadan qurilmalar boshqariladi:
4.1-jadval.
Monitoring dasturining asosiy buyruqlari.
№
Buyruq nomi
Bajariladigan vazifa
1.
insertParams()
Energiya manbalari parametrlarini kiritish
2.
configureParams()
Manbalarning parametrlarini sozlash
3.
changeParams()
Manbalarning parametrlarini o‘zgartirish
4.
etBegin()
Tizimni ishga tushirish buyrug‘i
5.
quyoshPanelStart()
Quyosh energiya modulini ishga tushirish
6.
quyoshPanelStop()
Quyosh energiyasi modulini to‘xtatish
7.
startWind()
Shamol energiyasi modulini ishga tushirish
8.
stopWind()
Shamol energiyasidan modulini to‘xtatish
9.
startDizel()
Dizel generatori modulini ishga tushirish
10.
stopDizel()
Dizel generatori modulini to‘xtatish
11.
startAkkum()
Akkumulator modulini ishga tushirish
12.
stopAkkum()
Akkumulator modulini to‘xtatish
13.
startCenteredEnergy()
Markazlashgan energiya modulini ishga
tushirish
14.
stopCenteredEnergy() Markazlashgan energiya modulini to‘xtatish
15.
getReport()
Hisobotlarni olish
81
Dastur va qurilma maxsus APIlar yordamida integratsiya qilingan.
Buyruqlar maxsus kodlar orqali qurilmaga yuboriladi va qurilmalar
natijasi xolat (status) ko‘rinishida qaytariladi. Xar bir API tizimidagi
boshqarish buyruqlariga ulangan xisoblanadi. RESTful API xizmatidan
foydalanilgan bo‘lib, ushbu API yordamida backend va frontend
o‘rtasida maulmot integratsiya qilinadi. Barcha API lar https protokoli
asosida ishlaydi. API larda malumotlar JSON formatida almashiniladi,
yani backend dan yuborilgan malumot JSON ga konvertatsiya qilinadi.
Natijada malumotlar frontend ga borgach Javascript object ga
konvertatsiya qilinadi. Bundan so‘ng malumotlar foydalanuvchiga
taqdim etiladi. Tizimga kirishdan tashqari /api/login dan tashqari barcha
API lar token bilan malumot almashiniladi. Token sifatida JSON-web-
token dan foydalanilgan. Ushbu tokendan maqsad faqatgina tizimga
kirgan foydalanuvchilargina API lar yordamida malumotlarni olishidir.
Web serverni qurilma va frontend bilan integratsiyalari:
•
https://pwcontrol.herokuapp.com/api/users/login
-tizimga kirish;
So‘rov uslubi POST.
So‘rov tanasi:
{
"userName":"akmal",
"password":"a456aua"
}
so‘rov javobi:
{
"_id": "62487c5cbe5db11a996aa507",
"fullName": "Akmal Abdumalikov",
"userName": "akmal",
"token":
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MjQ4N2M1Y
2JlNWRiMTFhOTk2YWE1MDciLCJmdWxsTmFtZSI6IkFrbWFsIEFiZH
VtYWxpa292IiwidXNlck5hbWUiOiJha21hbCIsImlhdCI6MTY1MDA5Mz
YwOCwiZXhwIjoxNjUwMTgwMDA4fQ.sJIALbwkQ1iTuyCXXGeZb0Sw
wan4x0-GKapY8OUsRUw"
}
Bundan keyingi barcha API lar so‘rovining header qismida token
bo‘ladi.
•
https://pwcontrol.herokuapp.com/api/regions/all-
barcha
viloyatlarni olish;
So‘rov uslubi GET.
82
So‘rov tanasi bo‘sh (GET so‘rovda tana mavjud bo‘lmaydi).
So‘rov javobi:
[ {
"_id": "6248846ef89cb641264b64f5",
"title": "Andijon viloyati",
"__v": 0
}, {
"_id": "62488563f89cb641264b64fb",
"title": "Jizzax viloyati",
"__v": 0
},
{
"_id": "624885d2f89cb641264b64fd",
"title": "Namangan viloyati",
"__v": 0
},
{
"_id": "6248865df89cb641264b650f",
"title": "Xorazm viloyati",
"__v": 0
}]
•
https://pwcontrol.herokuapp.com/api/station/byregion/:stansiyaId-
malum bir viloyatga tegishli stansiyalarni olish;
So‘rov uslubi GET.
So‘rov parametri stansiyaId.
So‘rov javobi:
[
{
"_id": "6248882467defe68366d2d83",
"title": "“Oʼzbektelekom”
AK Jizzax filiali energiya ta'minoti
stansiyasi",
"regionId": "62488563f89cb641264b64fb",
"createdAt": "2022-04-02T17:30:12.753Z",
"updatedAt": "2022-04-02T17:30:12.753Z",
"__v": 0
},
{
"_id": "62488d2d51778faaf3c9df1d",
"title": "“UMS” MCHJ energiya ta'minoti stansiyasi",
83
"regionId": "62488563f89cb641264b64fb",
"createdAt": "2022-04-02T17:51:41.439Z",
"updatedAt": "2022-04-02T17:51:41.439Z",
"__v": 0
}]
•
https://pwcontrol.herokuapp.com/api/results/byuniversity?user=us
erId&station=stationId-
malum bir stansiya va foydalanuvchiga tegishli
bo‘lgan barcha qurilmalarning kuchlanishlarini olish;
So‘rov uslubi GET.
So‘rov parametri stansiyaId, userID.
So‘rov javobi:
[
{
"_id": "625a6dfdb2cd48030c170627",
"volt1": 0,
"volt2": 0,
"volt3": 0,
"volt4": 0,
"deviceId": "62488f1c42835f1fee67421e",
"deviceName": "Markazlashgan Elektr ta'minot manbalari",
"createdAt": "2022-04-16 12:19:25",
"__v": 0
},
{
"_id": "625a6defb2cd48030c170624",
"volt1": 0,
"volt2": 0,
"volt3": 0,
"volt4": 0,
"deviceId": "62488f1c42835f1fee67421e",
"deviceName": "Markazlashgan Elektr ta'minot manbalari",
"createdAt": "2022-04-16 12:19:11",
"__v": 0
},…………
Axborotlarni qayta ishlash blokidan backend ga keladigan
malumotlar:
•
https://pwcontrol.herokuapp.com/api/results/?a=5&v=2&w=3&v
2=4
So‘rov uslubi POST.
84
So‘rov tanasi:
{
"secret_key":"casuiv415154645dfgd541456115435435154*/-/-
8*435t"
}
Ushbu so‘rov natijasida axborotlarni qayta ishlash blokidan
malumotlar bazasiga malumotlar yozib olinadi.
|