Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Silav hemû. Ez pir caran di xebata xwe de prensîbên endezyariya pergalê bikar tînim û dixwazim vê nêzîkatiyê bi civakê re parve bikim.

Endezyariya pergalê - bêyî standardan, lê bi tenê gotin, ew pêvajoyek pêşdebirina pergalek wekî hêmanên berbiçav ên razber e, bêyî referansa nimûneyên cîhaza taybetî. Di vê pêvajoyê de, taybetmendiyên pêkhateyên pergalê û têkiliyên di navbera wan de têne saz kirin. Wekî din, pêdivî ye ku pergalê hevgirtî û çêtirîn çêbike û ew pergal hewcedariyên xwe bicîh bîne. Di vê tutoriyê de ez ê teknîkên endezyariya pergalê bi karanîna nimûneya sêwirana pergalek kontrola gihîştinê ya pir hêsan (ACS) nîşan bidim.

Avakirina mîmariya destpêkê

Dema ku pergalek, çi dibe bila bibe, nû dest bi pêşvebirinê dike, di serê me de an li ser kaxezê de çargoşeyên bi tîran xuya dibin. Rectangles wiha ne Pêkhateyên sîstemên. Û tîr in girêdan di navbera pêkhateyan de. Û pir caran wextê me tune ku em rûnin û bifikirin ka dê çawa hemî pêkhateyên ku me diyar kirine bi hev re bixebitin, û di dawiyê de em dest bi afirandina komek kevroşkan dikin, ku bi sêwiranên zêde têne peyda kirin.

Girîng e ku ji bîr mekin ku ji hêla pergalê û mîmariya wê ve, pêkhateyek tiştek pir razber e. Mînakî, heke pergala me mîkrokontrollerek hebe, wê hingê di asta mîmarî de tenê ji me re girîng e ku ew mîkrokontrolker be, û ne ku ew STM32, Arduino an Milander be. Wekî din, bi gelemperî ji me re qet ne diyar e ka dê bi rastî di pergalê de çi be, û em serî li endezyariya pergalê didin da ku hewcedariyên amûr, nermalava, hwd pêşve bibin.

Ji bo nimûneya xwe ya bi ACS re, em ê hewl bidin ku armanca wê formule bikin. Ev ê di naskirina pêkhateyên wê de ji me re bibe alîkar. Ji ber vê yekê, peywira pergala kontrola gihîştinê ev e ku rê bide dorhêlek tixûbdar a mirovan di odeyê de. Yanî kilîteke zîrek e. Ji ber vê yekê, me pêkhateya yekem heye - celebek amûrek ku derî kilît dike û vedike! Ka em gazî wî bikin DoorLock

Em çawa zanin ku mirov dikare têkeve hundur? Em naxwazin nobedar deynin û pasaportan kontrol bikin, ne wisa? Werin em qertên taybetî yên bi tagên RFID bidin mirovan, ku li ser wan em ê nasnameyên yekta an daneyên din ên ku destûrê didin me ku em kesek rast nas bikin tomar bikin. Dûv re, em ê hewceyê hin amûrek ku bikaribe van nîşanan bixwîne hewce bike. Baş e, me hêmanek din heye, RFIDReader

Ka em dîsa li tiştên ku me bi dest xistine binihêrin. RFIDReader hin daneyan dixwîne, pergala kontrolkirina gihîştinê tiştek pê re dike, û li ser bingeha vê yekê tiştek tê kontrol kirin DoorLock. Ka em pirsa jêrîn bipirsin - navnîşa mirovên xwedî mafên gihîştinê li ku derê hilînin? Di databasê de çêtirîn. Ji ber vê yekê, pergala me divê bikaribe ji databasê daxwaz û bersivên pêvajoyê bişîne. Ji ber vê yekê me hêmanek din heye - DBHandler. Ji ber vê yekê, me ravekirinek pir razber, lê ji bo destpêkirinê têra pergalê wergirtiye. Em fêm dikin ku ew çi dike û çawa dixebite.

Li şûna kaxezek, ez ê System Composer, amûrek taybetî ya ji bo modelkirina mîmariyên pergalê di hawîrdora Simulink de bikar bînim, û 3 beşan biafirînim. Li jor min girêdanên di navbera van pêkhateyan de diyar kir, ji ber vê yekê em tavilê wan girêbidin:

Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Berfirehkirina mîmariyê

Ka em li diyagrama xwe binêrin. Wusa dixuye ku her tişt baş e, lê di rastiyê de ne wusa ye. Li vê pergalê ji çavê bikarhêner binihêrin - bikarhêner qertê tîne ber xwendevan û ...? Bikarhênerek çawa dizane ku destûr tê dayîn an jî tê red kirin? Pêdivî ye ku bi rengekî wî di derbarê vê yekê de agahdar bikin! Ji ber vê yekê, bila em hêmanek din lê zêde bikin - agahdariya bikarhêner, UserNotify:

Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Naha em herin asteke jêrîn a abstrakasyonê. Werin em hewl bidin ku hin hêmanan bi hûrgulî diyar bikin. Ka em bi pêkhateyê dest pê bikin RFIDReader. Di pergala me de, ev hêman ji xwendina tagê RFID berpirsiyar e. Divê derketina wê hin daneyan hebe (UID, daneyên bikarhêner...). Lê bisekinin, RFID, mîna NFC, di serî de hardware ye, ne nermalava! Ji ber vê yekê, em dikarin texmîn bikin ku me ji hev veqetandî çîpek RFID bixwe ye, ku daneyên "xav" ji cûreyek pêş-processor re dişîne. Ji ber vê yekê, me perçeyek nermalava razber heye ku dikare etîketên RFID bixwîne, û nermalava razber ku dikare daneyan veguherîne forma ku em hewce ne. Em bangî wan bikin RFIDsensor и RFIDparser herwiha. Meriv çawa vê yekê di System Composer de nîşan dide? Hûn dikarin beşek jêbirin RFIDReader û li şûna wê du beşan bixin, lê çêtir e ku meriv wiya neke, wekî din em ê xwendina mîmariyê winda bikin. Di şûna wê de, em biçin hundurê RFIDReader û 2 hêmanên nû lê zêde bikin:

Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Baş e, naha em biçin agahdarkirina bikarhêner. Pergal dê çawa bikarhêner agahdar bike ku ew gihandina cîhê hatî red kirin an destûr tê dayîn? Mirov deng û tiştek ku dibiriqe herî baş fêm dike. Ji ber vê yekê, hûn dikarin hin îşaretek deng derxînin da ku bikarhêner bala xwe bide, û LED-ê bişon. Ka em hêmanên guncav lê zêde bikin UserNotify:

Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Me mîmariya pergala xwe afirandiye, lê tiştek di wê de heye. Çi? Ka em li navên girêdanê binêrin. InBus и OutBus - navên ne pir normal ên ku dê alîkariya pêşdebiran bikin. Pêdivî ye ku ew werin guhertin:

Di asta pergalê de sêwirandin. Beş 1. Ji ramanê heta sîstemê

Ji ber vê yekê, me nihêrî ka rêbazên endezyariya pergalê çawa di nêzîkatiya herî dijwar de têne sepandin. Pirs derdikeve holê: çima wan bi tevahî bikar tînin? Pergal primitive e, û wusa dixuye ku karê hatî kirin nepêwist e. Hûn dikarin tavilê kodê binivîsin, databasek sêwiran bikin, pirsan binivîsin an bişopînin. Pirsgirêk ev e ku heke hûn bi pergalê nefikirin û fêm nekin ka pêkhateyên wê çawa bi hev ve girêdayî ne, wê hingê yekbûna pêkhateyên pergalê dê demek dirêj bigire û pir bi êş be.

Xala sereke ji vê beşê ev e:

Di pêşkeftina pergalê de karanîna rêbazên endezyariya pergalê û modela mîmariyê dihêle ku meriv lêçûnên yekkirina pêkhateyan kêm bike û kalîteya pergala pêşkeftî baştir bike.

Source: www.habr.com

Add a comment