Pālekt uz saturu


Foto
- - - - -

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


  • Lūdzu pieslēdzies, lai atbildētu
8 atbildes uz šo tēmu

#1 Rom

Rom
  • Biedri
  • 120 raksti
  • Atrodos:Rīga

Pievienots 23 May 2012 - 12:32

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!

#2 ieleja

ieleja
  • Biedri
  • 4228 raksti

Pievienots 23 May 2012 - 13:30

par to HEX formātu gan nesapratu, tu gribi nosūtīt piemēra vienu simbolu '@', bet reāli sūti četrus simbolus '0x40'?

dažreiz labāk ir pastāstīt, ko īsti vajag, nevis kā iedzīvināt izvēlēto metodi

#3 Mežavecis

Mežavecis

    Pāķis

  • Administrators
  • -983 raksti
  • Atrodos:Mežoņciems
  • Intereses:Zinātne, IT, CRM/ERP, bedru rakšana

Pievienots 23 May 2012 - 13:52

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.

#4 Inspektors Caps

Inspektors Caps
  • Biedri
  • 1757 raksti

Pievienots 23 May 2012 - 14:20

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.

#5 Baigais Janka

Baigais Janka
  • Biedri
  • 3146 raksti
  • Atrodos:Rīga
  • Intereses:Programmēšana, compūteri, alus... mhm... jebšu otrādi?

Pievienots 23 May 2012 - 14:24

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.

#6 Mežavecis

Mežavecis

    Pāķis

  • Administrators
  • -983 raksti
  • Atrodos:Mežoņciems
  • Intereses:Zinātne, IT, CRM/ERP, bedru rakšana

Pievienots 23 May 2012 - 14:38

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?



#7 Baigais Janka

Baigais Janka
  • Biedri
  • 3146 raksti
  • Atrodos:Rīga
  • Intereses:Programmēšana, compūteri, alus... mhm... jebšu otrādi?

Pievienots 23 May 2012 - 14:46

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.

#8 ieleja

ieleja
  • Biedri
  • 4228 raksti

Pievienots 23 May 2012 - 15:32

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?

tu to jautā man?!
jo to pašu es jautāju topika autoram

p.s.
lai vairs nebūtu netīras insinuācijas, tad esmu iekš ASM un C programmējis dažādus serial2lpt, apakšstaciju vadību caur serial un to emulāciju u.c. figņu

#9 Rom

Rom
  • Biedri
  • 120 raksti
  • Atrodos:Rīga

Pievienots 25 May 2012 - 08:43

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ē.


 
 
 
 
Serveris.lv


0 Lietotāji(s) lasa šo tēmu

0 biedri(s), 0 viesi(s), 0 anonīmi(s) lietotāji(s)