Arsip: Gate Access + Barcode

 
user image
more 11 years ago

ir1keren

Halo para master Delphi, gw mo minta bantuan neh.. Di perpus kampus gw ada alat nyang namanya gate access, itu loh kaya portal elektronis (kaya yang di t4 parkir, halte TransJakarta - TransJogja, de el el..). Nah katanya tu softwarenya lagi rusak, n gw disuruh buat softwarenya + skalian buat tugas akhir. Softwarenya ntar buat buka gate access via barcode scanner, jadi pengunjung tinggal scan ID card ke barcode scanner, en gate access langsung tuh kebuka. Gitu modelnya. Klo barcode scanner seh gw dah punya (banyak) source programming-nya, jadi ga masalah-lah (masa masalah-dong :D ), nah yg jadi masalah gimana caranya ngebuka gate access? Ktanya seh tu alat pake mikrokontroler gt, apa gw harus belajar pemrograman mikrokontroler? Masalahnya developernya yg dulu ga ngasi 'peninggalan' apapun: manual book-apalah- apalage petunjuk perintah yg dipake buat komunikasi ke gate access.. Jadi permasalahannya: how to communicate with that gate access? Coz they left no clues at all.. :cry: Mohon pencerahan..
user image
more 11 years ago

madi

jangan risau...hek hek hek.... langsung aja ke webset si pembuat gate acess itu. {masa seh, barang mahal koq manual booknya kaga ada hek hek hek}
user image
more 11 years ago

ir1keren

Tu alat sbnrnya masuk "home industry" ko :), kynya yg bikin mlh cm atu orang.. Oya, gw ternyata dapet print-out program lama, kaya ini: [code:1:75cf0011d7] X,A,B,C,D:Integer; .... .... Edit3.Text:=Query1.FieldByName('JURUSAN').AsString; procedure SendCmd(Cmd:Byte); asm mov dx,$378 mov al,Cmd out dx,al end; procedure TFCoba.Edit3Change(Sender:TObject); begin Button2.Click; Timer1.Enabled:=True; X:=1; if Timer5.Enabled then begin Button3.Click; if Timer1.Enabled then if Timer4.Enabled then begin Button3.Click; D:=1; end; end; end; procedure TFCoba.Timer1Timer(Sender:TObject); begin X:=X+1; if X=7 then begin Button3.Click; Timer1.Enabled:=False; Timer4.Enabled:=True; A:=1; D:=1; end; end; procedure TFCoba.Timer4Timer(Sender:TObject); begin A:=A+1; if A=60 then begin Button1.Click; Timer4.Enabled:=False; Timer5.Enabled:=True; B:=1; D:=1; end; end; procedure TFCoba.Timer5Timer(Sender:TObject); begin B:=B+1; if B=2 then begin Button3.Click; Timer5.Enabled:=False; Timer6.Enabled:=True; C:=1; end; end; procedure TFCoba.Timer6Timer(Sender:TObject); begin C:=C+1; if c=2 then begin Button3.Click; Timer6.Enabled:=False; D:=1; end; end; procedure TFCoba.Button1Click(Sender:TObject); begin SendCmd($1); end; procedure TFCoba.Button2Click(Sender:TObject); begin SendCmd($2); end; procedure TFCoba.Button3Click(Sender:TObject); begin SendCmd($0); end; [/code:1:75cf0011d7] Dari analisa seringkas, contoh program tsb (sayangnya gw ga dpt file .dfm-nya) pas Edit3 berubah, program menggerakkan gate access. BTW, gate access-nya koneksi via LPT1 en bergerak maju-mundur (jgn mikir macem2 ye :) ) Jadi perkiraan gw tuh SendCmd() buat ngirim perintah buat maju-mundurin tuh alat, soalnye $378 biasanya LPT1 kan? Nah gw iseng-iseng coba bikin aplikasi dengan 3 tombol (minus komponen TTimer, soalnye ga tau intervalnye brp :), trus copy paste potongan: SendCmd(), Button1Click(), Button2Click(), Button3Click(), di-run muncul pesan error: "Privileged instruction". OS gw pake Vista, kynya Vista menolak model akses hardware macem gitu.. Bisa ga body SendCmd() diubah menjadi full Windows API, soalnye gw bloon soal Assembler, trus kira2 perintah2 Win32 API yg cocok kaya apa ye? Oia, ada yg tau ga cara ngedapetin I/O addr dari LPT1? Soalnya takut ntar PC di perpus kampus I/O addr LPT1-nya bukan $378. Misalnya gw tinggal panggil ApaSihAlamatnya('LPT1') buat ngedaptin I/O addressnya...[i:75cf0011d7][/i:75cf0011d7]
user image
more 11 years ago

deLogic

@ir1keren: Tu alat sbnrnya masuk "home industry" ko :), kynya yg bikin mlh cm atu orang.. Nah gw iseng-iseng coba bikin aplikasi dengan 3 tombol (minus komponen TTimer, soalnye ga tau intervalnye brp :), trus copy paste potongan: SendCmd(), Button1Click(), Button2Click(), Button3Click(), di-run muncul pesan error: "Privileged instruction". OS gw pake Vista, kynya Vista menolak model akses hardware macem gitu.. Bisa ga body SendCmd() diubah menjadi full Windows API, soalnye gw bloon soal Assembler, trus kira2 perintah2 Win32 API yg cocok kaya apa ye?
hmm siapa ya yang bikin...? :D Bukan cuman Vista aja yang menolak akses langsung ke layer hardware, XP (dan 2000) pun juga demikian. Bahkan di Vista lebih ketat lagi dengan adanya UAC. Untuk akses langsung ke layer hardware, gunakan driver. Untuk Delphi, sudah ada beberapa yang menyediakan komunikasi ke driver tersebut seperti GWIOPM atau NTPort, dsb.
user image
more 11 years ago

madi

lho master'e delphi dah jawab hek hek hek...
user image
more 11 years ago

ir1keren

@deLogic: Untuk Delphi, sudah ada beberapa yang menyediakan komunikasi ke driver tersebut seperti GWIOPM atau NTPort, dsb.
Nah itu die, NTPort stau gw tu minta I/O address gitu. Misalkan port parallel di kompie perpus ga $378 gmna coba? Kira2 COM Port Library (http://sourceforge.net/projects/comport/) bisa ga ya buat kirim perintah SendCmd($0) gitu?
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com