สร้างเครื่องโปรแกรมสมา์ร์ตการ์ด Memprog

รูปที่ 1 เครื่องโปรแกรมสมาร์ตการ์ด Memprog

หลังจากที่ช่วงนี้ไม่ค่อยได้ Update เวบเท่าไหร่นัก เนื่องจากภารกิจรัดตัวครับ วันนี้พอมีเวลาเลยขอเอาผลงานเก่า ที่เคยทำไว้ตอนเรียนอยู่ที่ลาดกระบัง เป็นเครื่องโปรแกรมสมาร์ตการ์ด สามารถอ่านบัตรรุ่น SLE4436/SLE4442 และเขียนได้เฉพาะรุ่น SLE4442 สำหรับบัตรรุ่น SLE4442 มีหน่วยความจำขนาด 256 ไบต์ โดยตำแหน่งที่เราสามารถเขียนได้จะเป็นไบต์ที่ 31-255 สำหรับตำแหน่งที่ 0-31 จะเป็นส่วนเก็บข้อมูลถาวร

บัตรรุ่น SLE4442 เราสามารถประยุกต์ใช้งานได้หลายอย่าง

  • Access Control หรือบัตรผ่านทางเข้า-ออก
  • E-purse ระบบจ่ายเงินอิเล็กทรอนิกส์ หรือที่ใช้กันในเซเว่น/อีเลฟเว่น นั่นแหล่ะครับ
  • ID Card พวกบัตรประจำตัวพนักงาน/นักเรียน

การที่จะเอาบัตรไปใช้งานต้องมีการเขียนข้อมูลลงไปในบัตรเสียก่อน ทีนี้เรามาทำเครื่องโปรแกรมสมาร์ตการ์ดกันครับ เครื่องโปรแกรมสมาร์ตการ์ดนี้จะใช้ไมโครคอนโทรลเลอร์เป็นตัวกลางระหว่างคอมพิวเตอร์และการ์ด ไมโครคอนโทรลเลอร์ที่ใช้จะเป็นเบอร์ AT89C4051 สามารถหาซื้อได้ทั่วไปตามบ้านหม้อครับ

ในส่วนของโปรแกรมคอมพิวเตอร์ซึ่งเป็นส่วน Graphic User Interface ผมเขียนโปรแกรมขึ้นมาเองโดยใช้ Visual Basic 6

จากวงจรในรูปที่ 2 จะเป็นว่ามีอุปกรณ์เพียงไม่กี่ชิ้นเท่านั้น สามารถประกอบลงแผ่นปริ๊นอเนกประสงค์ได้อย่างสบายๆ หรือถ้าอยากจะได้เป็นไฟล์ PCB ก็สามารถดาว์นโหลดไฟล์ แล้วนำไปกัดปริ๊นเองก็ได้ครับ

รูปที่ 2 วงจรเครื่องโปรแกรมสมาร์ตการ์ด Memprog คลิกที่ภาพเพื่อขยาย

สำหรับ Software ที่จะเอาไปลงที่คอมพิวเตอร์ผมได้ทำไฟล์ Setup ไว้แล้วสามารถดาว์นโหลด แล้วลงโปรแกรมก็ใช้งานได้เลยครับ

ผมสมมุติว่าได้ลงโปรแกรม Memprog และประกอบ PCB เสร็จสิ้นเรียบร้อยแล้ว ให้ทำการจ่ายไฟ DC 9-12 โวลต์เข้าที่ Jack DC ถ้าทุกอย่างถูกต้องจะเห็น LED สีแดงกระพริบ จากนั้นต่อสายแพ 3 เส้นเข้าที่บอร์ดปลายสายอีกด้านหนึ่งต่อไปยัง Serial Port ของคอมพิวเตอร์

รูปที่ 3 ภาพการต่อใช้งาน

ขั้นตอนการใช้งาน

ทำการเรียกโปรแกรมที่ติดตั้งขึ้นมา Start –> All Programs –> Memprog V1.0 –> Memprog V1.0

1. Menu Port เลือก Port ที่จะใช้ในการติดต่อสื่อสาร Com1-Com4 โดนตัวอักษรจะแสดงให้เห็นเฉพาะ Com Port ที่ใช้งานได้

รูปที่ 4 เลือก Com Port ใช้งาน

2. เลือกรุ่นของสมา์ร์ตการ์ด และทำการเสียบบัตรสมาร์ตการ์ดลงไปในซ๊อกเกต

3. กดปุ่ม Read เพื่อทำการอ่านข้อมูลภายในการ์ด บัตรที่ยังไม่มีการใช้งาน ข้อมูลภายในการจะเป็นดังรูปที่ 5

รูปที่ 5 ข้อมูลที่อ่านได้ภายในการ์ด

4. ที่เมนู Edit –> Edit buffer enabled เพื่อ Enable การแก้ไขข้อมูล

5. เอาเมาส์ไปคลิกเพื่อแก้ไขข้อมูล สามารถใส่ข้อมูลได้ทั้งเลขฐานสิบ (Decimal), เลขฐาน 16 (Hexadecimal) และ Ascii

รูปที่ 6 Fill Buffer

6. ถ้าต้องการใส่ค่าลงไปมากกว่า 1 ไบต์ ให้คลิกทางฝั่งขวา (Ascii)

รูปที่ 7 Fill Buffer Ascii

7. ใส่ค่า PSC ลงไปในช่อง Current PSC PSC ที่ใส่ลงไปจะอยู่ใน format เลขฐาน 16 แล้วคั่นด้วยเครื่องหมาย คอมม่า “,” เช่น 61,6f,6e สำหรับสมาร์ตการ์ด SLE4442 ค่า PSC จากโรงงานจะเป็น ff,ff,ff เมื่อกดปุ่ม Defaulf ก็จะใส่ค่า ff,ff,ff ให้โดยอัตโนมัติ

รูปที่ 8 ใส่ค่า PSC

8. กดปุ่ม Write เพื่อเขียนข้อมูลลงไปในการ์ด

การลบข้อมูลในการ์ด

1. ใส่ค่า PSC ลงช่อง Current PSC

2. กดปุ่ม Erase จะมีหน้าต่างขึ้นมาถามอีกครั้งว่าต้องการเติมค่า 0xFF ลงใน buffer ใช่หรือไม่? ให้กด Yes

การเปลี่ยนค่า PSC

1. ใส่ค่า PSC ปัจจุบันลงช่อง Current PSC

2. ใส่ค่า PSC ใหม่ที่ต้องการลงในช่อง New PSC

3. กดปุ่ม Change PSC code

โปรแกรม Memprog ท่านสามารถ Download ไปใช้งานได้ฟรี ทางผู้เขียนโปรแกรม Memprog ไม่รับประกันว่าโปรแกรมจะทำงานได้อย่างถูกต้อง และไม่รับผิดชอบต่อความเสียหายที่เกิดขึ้น ไม่ว่ากรณีใดๆ

หมายเหตุ. เครื่องโปรแกรมนี้ไม่สามารถอ่าน/เขียนการ์ด UBC, การ์ดเครื่อง Dreambox และบัตรประชนได้

โปรแกรมนี้อ่านได้เฉพาะ SLE4436/SLE4442 เท่านั้น กรุณาอย่าโทรมาสอบถามว่าอ่านการ์ดอื่นได้หรือเปล่า

เครื่องนี้ไม่ได้ทำขาย ต้องการเผยแพร่เพื่อเป็นวิทยาทานเท่านั้น กรุณาอย่าโทรมาขอซื้อ หรือโทรมาขอ code

Download

หมายเหตุ. ปัจจุบันผมหาซื้อการ์ด SLE4442 ไม่ได้ครับ

บทความอื่นๆที่เกี่ยวข้อง

2 thoughts on “สร้างเครื่องโปรแกรมสมา์ร์ตการ์ด Memprog

  1. วงจรนี้สมารถที่จะ Clone Smart Card ของเครื่องรับ ของ True Vision UBC TV ได้หรือไม่ครับ อย่างไรครับ

  2. ทำไมได้ครับ ใช้ได้เฉพาะ Smart card แบบ Memory เบอร์ SLE4442 และ SLE4436 เท่านั้น

Leave a Reply