Jump to content

Termināla SW ar iespēju sūtīt un saņemt info hex formātā


Rom
 Share

Recommended Posts

Kādu programmu lai izmanto, lai sazinātos ar iekārtu, kas pieslēgta pie seriālā porta sūtot un saņemot informāciju hex formātā?

 

Aprakstīšu sīkāk.

 

Pie PC pieslēgts USB - RS-485 kabelis, kas pēc attiecīgo draiveru ieinstalēšanas parādās kā com3.

Pie kabeļa RS-485 gala pieslēgta iekārta, ar kuru var veiksmīgi komunicēt, izmantojot ražotāja iedoto programmu. Tātad fiziski sakari ir.

Ir komunikācijas protokola apraksts. Tajā redzams, ka ar iekārtu var sazināties binārajā un ASCII režīmā (bet, it kā, ne visi modeļi to uzturot). Pēdējais ir speciāli jāieslēdz, tāpēc sazināšanās, izmantojot Putty vai Hyper Terminal, īsti nesanāk.

 

Mēģināju izveidot bināro failu, kas pārslēgtu ierīci ASCII režīmā, bet bez rezultātiem (sūtīju gan ar copy /b ascii.bin com3, gan ar Hyper Terminal Send file..). Iespējams, ka komanda, ko esmu izveidojis nav pareiza, bet, neredzot atbildi no ierīces, grūti ko saprast. Tāpēc gribētos atrast kādu programmu, kas ļautu sūtīt uz com portu bināro informāciju hex formātā un tādā pat veidā attēlotu iekārtas doto atbildi. It kā tipisks uzdevums, bet ātrumā risinājumu neatradu.

 

(XP Pro SP3)

 

Paldies jau iepriekš par padomiem!

Link to comment
Share on other sites

Mezavecis

Es domāju, ka tādas programmas neatradīsi, kamēr nebūs 100% skaidrs, kāds ir datu apmaiņas protokols un kā to pielietot.

 

Piemēram, PIC procesoriem ir vesels bars komandu, kurus nevar izsaukt ar hipertermināļiem un citiem līdzekļiem, jo tur fiziski nevar nodot komandu, piemēram, A0 F2 00 00 16.

Link to comment
Share on other sites

Inspektors Caps

ieleja, mūsdienu "human readable XML draza" pasaulē jau dožiļis līdz tam, ka smadzenes pat vairs nesaprot kas ir elementāri bināri dati? Ja runā par bināriem datiem, tad "0x40" reāli ir nevis četri simboli, bet gan viens baits, ko pieraksta ar šādiem četriem simboliem, lai būtu uzskatāmi priekš cilvēka.

 

Mr.Līkrocis (jauns nicks? :D), kapēc lai nebūtu programmas, kas sūta vienkārši raw datus no faila vai hex formātā ievadīta teksta bez nekāda protokola? Vēl jo vairāk, ja to ir visvienkāršāk uzprogrammēt!

 

autor, piemēri:

1. Termite ar "Hexadecimal View" filtru.

2. Terminal. (Nosūtīt bināri laikam var tikai no faila)

3. RealTerm.

3. IVT VT220.

Link to comment
Share on other sites

Baigais Janka

Piemēram, PIC procesoriem ir vesels bars komandu, kurus nevar izsaukt ar hipertermināļiem un citiem līdzekļiem, jo tur fiziski nevar nodot komandu, piemēram, A0 F2 00 00 16.

Nu, bet cilvēks tak taisni par to arī runā - ar ko nosūtīt šitādus kodus :) Es savulaik biju savu termināla programmu uzrakstījis, tieši šādai vajadzībai - ar bij dampis, kurš bināri datus grūda.
Link to comment
Share on other sites

Mezavecis

Janka,

Es arī pats taisīju progu, kas sūta datus uz HW. :)

 

 

Un kā tu iedomājies, piemēram, šādā veidā realizēt autentifikāciju? Ķipa,

1. Nosūti pieprasījumu.

2. Saņem statusu,

3. nosūti PIN,

4. Saņem statusu.

Nu nekādīgi nevarēsi vālēt ar masveida failu.

kapēc lai nebūtu programmas, kas sūta vienkārši raw datus no faila vai hex formātā ievadīta teksta bez nekāda protokola?

Link to comment
Share on other sites

Baigais Janka

Cilvēkam vienkārši vajag aizsūtīt bin datus un redzēt, ko tā kārba atbild, ērtā un lietojamā veidā. Tobiš - ar rokām paklabināt, uz ekrāna ieraudzīt. Inspektors Caps jau kauču kādu listi bij iešāvis, gan jau, ka ko līdzīgu dara.

Nu - tagad jau ar var capturēt portu, un skatīties, vai tas bin fails aizkopējas, un ko tā kaste saka atbildē - bet ķēpa ta lielāka.

 

Ja nu tik glauni grib, automātiski, čerez protokoliem, ar autentifikācijām - nu, tam savam terminālim biju skripta valodu izdomājis :) Ar jau nekādu problēmu.

Link to comment
Share on other sites

Laikam nebūs izdevies pietiekami skaidri uzrakstīt, ko vēlos panākt.

 

Man uz iekārtu, kas pieslēgta caur com3 portu jānosūta binārie dati dažu baitu apjomā. Iekārta, caur to pašu com3 portu sūtīs atbildi -- arī binārā formātā dažu baitu apjomā.

 

Bināro datu attēlošanai vēlos izmantot hex formātu. No iekārtas saņemto informāciju būtu labi redzēt arī ASCII formātā (kā to dara hebkurš man zināmais hex redaktors./rīderis.

 

Piemērs. Reset komandai jānosūta 26h un iekērtas ID (divi baiti) -- kopā 3 baiti Ja komanda saprasta un izpildīta, iekārta atbild ar 00h un iekārtas ID (kopā 3 baiti). Ja iekārtas ID ir 7001h, tad dialogs izskatīsies šādi:

 

es: 260170

iekārta: 000170

 

Vizuāli es atbildi gribētu redzēt aptuveni šādā formātā (pa kreisi -- hex, pa labi -- ASCII; kā hex redaktoros):

 

00 01 70 ..p

 

Tas viss, kas man vajadzīgs. Protokola apkalpošanu veikšu manuāli -- sastādīšu baitu virknes atbilstoši protokola aprakstam un atbilstoši tam arī interpretēšu saņemto atbildi.

 

Ceru, ka tagad esmu uzrakstījis gana skaidri.

 

Lai gan jautājums nedaudz zaudējis savu aktualitāti (tika uzrakstīta programma konkrētās iekārtas apkalpošanai), man tas tomēr interesē, jo līdzīgi uzdevumi man būs arī nākotnē.

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...