Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Sanibonani nonke. Ngivame ukusebenzisa izimiso zobunjiniyela bezinhlelo emsebenzini wami futhi ngingathanda ukwabelana ngale ndlela nomphakathi.

Ubunjiniyela bezinhlelo - ngaphandle kwezindinganiso, kodwa ukubeka nje, kuyinqubo yokuthuthukisa isistimu njengezingxenye ezingabonakali, ngaphandle kokubhekisela kumasampula edivayisi ethile. Phakathi nale nqubo, izakhiwo zezingxenye zesistimu kanye nokuxhumana phakathi kwazo kuyasungulwa. Ukwengeza, kuyadingeka ukwenza isistimu ingaguquguquki futhi ibe sezingeni eliphezulu nokuthi isistimu ihlangabezane nezidingo. Kulesi sifundo ngizokhombisa amasu obunjiniyela bezinhlelo ngisebenzisa isibonelo sokuklama uhlelo lokulawula ukufinyelela olulula (ACS).

Ukwakha i-architecture yokuqala

Lapho uhlelo, kungakhathaliseki ukuthi yini, luqala nje ukuthuthukiswa, amakhanda ethu noma ephepheni kuvela onxande abanemicibisholo. Ama-rectangles anjalo Izingxenye izinhlelo. Futhi imicibisholo ukuxhumana phakathi kwezingxenye. Futhi kaningi asinaso isikhathi sokuhlala futhi sicabange ukuthi zonke izingxenye esizichazile zizosebenzisana kanjani, futhi ekugcineni siqala ukwakha inqwaba yezinduku, eza nemiklamo engafuneki.

Kubalulekile ukukhumbula ukuthi ngokombono wesistimu kanye nesakhiwo sayo, ingxenye iyinto engabonakali. Isibonelo, uma isistimu yethu ine-microcontroller, khona-ke ezingeni lezakhiwo kubalulekile kithi kuphela ukuthi i-microcontroller, hhayi ukuthi i-STM32, i-Arduino noma i-Milander. Ngaphezu kwalokho, ngokuvamile akusicaceli neze ukuthi yini ngempela ezoba ohlelweni, futhi siphendukela kubunjiniyela bezinhlelo ukuthuthukisa izidingo zemishini, isofthiwe, njll.

Ngesibonelo sethu nge-ACS, sizozama ukwenza inhloso yayo. Lokhu kuzosisiza ekuhlonzeni izingxenye zayo. Ngakho, umsebenzi wesistimu yokulawula ukufinyelela ukuvumela umbuthano olinganiselwe wabantu ungene ekamelweni. Okusho ukuthi, ingidi ehlakaniphile. Ngenxa yalokho, sinengxenye yokuqala - uhlobo oluthile lwedivayisi ekhiya futhi ivule umnyango! Asimbize I-DoorLock

Sazi kanjani ukuthi umuntu angangena ngaphakathi? Asifuni ukubeka umlindi futhi sihlole amaphasipoti, akunjalo? Masinikeze abantu amakhadi akhethekile anamathegi e-RFID, lapho sizorekhoda khona ama-ID ahlukile noma enye idatha esivumela ukuthi sihlonze umuntu ngokunembile. Bese, sizodinga isisetshenziswa esingakwazi ukufunda lawa mathegi. Kuhle, sinengxenye eyodwa ngaphezulu, I-RFIDReader

Ake siphinde sibheke esinakho. I-RFIDReader ifunda idatha ethile, isistimu yokulawula ukufinyelela yenza okuthile ngayo, futhi ngesisekelo salokhu okuthile kulawulwa I-DoorLock. Ake sibuze umbuzo olandelayo - ukuthi singalugcina kuphi uhlu lwabantu abanamalungelo okufinyelela? Okuhamba phambili ku-database. Ngakho-ke, uhlelo lwethu kufanele lukwazi ukuthumela izicelo futhi lucubungule izimpendulo ezivela kusizindalwazi. Ngakho-ke sinengxenye eyodwa ngaphezulu - DBhandler. Ngakho-ke, sithole incazelo engabonakali kakhulu, kodwa eyanele ukuqala, incazelo yesistimu. Siyaqonda ukuthi yini okufanele iyenze nokuthi isebenza kanjani.

Esikhundleni sephepha, ngizosebenzisa i-System Composer, ithuluzi elikhethekile lokumodela izakhiwo zesistimu endaweni ye-Simulink, futhi ngidale izingxenye ezi-3. Ngenhla ngichaze ukuxhumana phakathi kwalezi zingxenye, ngakho-ke masizixhume ngokushesha:

Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Ukwandisa i-architecture

Ake sibheke umdwebo wethu. Kubonakala sengathi konke kuhamba kahle, kodwa empeleni akunjalo. Bheka lesi simiso ngokombono womsebenzisi - umsebenzisi uletha ikhadi kumfundi futhi...? Umsebenzisi wazi kanjani ukuthi uvunyelwe noma unqatshelwe ukufinyelela? Kuyadingeka ukuthi ngandlela thize umazise ngalokhu! Ngakho-ke, ake sengeze enye ingxenye - isaziso somsebenzisi, UserNotify:

Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Manje ake sehlele ezingeni eliphansi le-abstraction. Ake sizame ukuchaza izingxenye ezithile ngokuningiliziwe okwengeziwe. Ake siqale ngengxenye I-RFIDReader. Kusistimu yethu, le ngxenye inesibopho sokufunda ithegi ye-RFID. Okukhiphayo kufanele kube nedatha ethile (i-UID, idatha yomsebenzisi...). Kodwa linda, i-RFID, njenge-NFC, ngokuyinhloko i-hardware, hhayi isofthiwe! Ngakho-ke, singacabanga ukuthi ngokwehlukana sine-chip ye-RFID ngokwayo, edlulisela idatha "eluhlaza" kolunye uhlobo lwe-preprocessor. Ngakho-ke, sinocezu olungabonakali lwehadiwe olungakwazi ukufunda omaka be-RFID, kanye nesofthiwe engabonakali engaguqula idatha ibe yifomethi esiyidingayo. Asibabize I-RFIDSensor ΠΈ I-RFIDParser ngokulandelana. Ungakubonisa kanjani lokhu Ku-System Composer? Ungakwazi ukususa ingxenye I-RFIDReader futhi ubeke izingxenye ezimbili esikhundleni, kodwa kungcono ukungakwenzi lokhu, ngaphandle kwalokho sizolahlekelwa ukufundeka kwezakhiwo. Esikhundleni salokho, ake singene ngaphakathi kwe-RFIDReader futhi sengeze izingxenye ezi-2 ezintsha:

Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Kuhle, manje ake siqhubekele phambili ekwaziseni umsebenzisi. Isistimu izomazisa kanjani umsebenzisi ukuthi wenqatshiwe noma uvunyelwe ukufinyelela ezakhiweni? Umuntu ubona imisindo nento ecwayiza kahle kakhulu. Ngakho-ke, ungakhipha isignali ethile yomsindo ukuze umsebenzisi anake, futhi acwayize i-LED. Ake sengeze izingxenye ezifanele kuzo UserNotify:

Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Sidale ukwakheka kwesistimu yethu, kodwa kukhona okungalungile ngakho. Ini? Ake sibheke amagama okuxhumana. I-InBus ΠΈ I-OutBus - akuwona amagama ajwayelekile angasiza unjiniyela. Kudingeka baqanjwe kabusha:

Dizayina ezingeni lesistimu. Ingxenye 1. Ukusuka embonweni kuya ohlelweni

Ngakho-ke, sibheke ukuthi izindlela zobunjiniyela bezinhlelo zisetshenziswa kanjani ekuqageleni okubi kakhulu. Umbuzo uphakama: kungani uwasebenzise nhlobo? Lolu hlelo luludala, futhi kubonakala sengathi umsebenzi owenziwayo awudingeki. Ungakwazi ngokushesha ukubhala ikhodi, ukuklama database, ukubhala imibuzo noma solder. Inkinga yukuthi uma ungacabangi ngesistimu futhi uqonde ukuthi izingxenye zayo zixhunywe kanjani komunye nomunye, khona-ke ukuhlanganiswa kwezingxenye zesistimu kuzothatha isikhathi eside futhi kube buhlungu kakhulu.

Okubalulekile okuthathwe kule ngxenye yilokhu:

Ukusetshenziswa kwezindlela zobunjiniyela bezinhlelo kanye nemodeli yezakhiwo ekuthuthukisweni kwesistimu kuvumela umuntu ukuba anciphise izindleko zokuhlanganisa izingxenye futhi athuthukise ikhwalithi yesistimu ethuthukisiwe.

Source: www.habr.com

Engeza amazwana