Category Archives: คอมพิวเตอร์

ISO : Internet Layering

5:01:54 PM: 5-Layer Model มี Physical Datalink Network Transport Application #iso

5:05:45 PM: ในระดับบนสุดก็คือ App Layer เป็นการติดต่อกันในระดับโปรแกรม สนใจแค่ส่ง message จากเครื่องนึงไปอีกเครื่องนึงอย่าสมบูรณ์ #iso

5:07:01 PM: การทำงานของ Layer ที่อยู่บนกว่าจะอยู่บนพื้นฐานของ Layer ระดับล่างกว่าเช่น จะส่ง email ก็ต้องแน่ใจว่าสาย LAN cable ได้มาตรฐาน #iso

5:11:01 PM: Network Layer ทำหน้าที่เหมือนตำรวจจราจร คอยจัดทิศทางการไหลของ Packet(ข้อมูลที่ถูกหั่นเป็นท่อนๆ) ให้ไปในทิศทางต่างๆ #iso

5:13:37 PM: Data Link Layer มีหน้าที่ส่ง packet นั้นๆ โดยเป็น layer ที่ส่งสัญญาณข้อมูลโดยตรงไปยัง cable เช่น Device Driver, Network Interface Card #iso

5:19:00 PM: (ต่อ) Physical: เป็น Facilities ต่างๆในการจราจร เช่น ถนน ไฟจราจรเป็นต้น #iso

5:22:44 PM: Protocol บน Layer ต่างๆ (อธิบายด้วยภาพได้ชัดเจนกว่า) http://twitpic.com/13imkm #iso

5:25:21 PM: Address Type ในการสื่อสารใน Layer มีดังนี้ App ใช้ URL, Transport ใช้ Hostname, Network ใช้ IP address, Data Link ใช้ MAC Address #iso

5:29:41 PM: Address Resolution เป็นกระบวนการการแปลง Address จาก Layer หนึ่ง ไปอีก Layer หนึ่ง เพื่อส่งข้อมูลกัน #iso

5:35:40 PM: ตัวอย่างการ resolve Hostname เป็น IP Address http://twitpic.com/13ip1b

5:44:02 PM: Router เป็นอุปกรณ์ Network ที่ส่งข้อมูลระหว่าง Network ย่อยๆ เปรียบเสมือนสะพานเชื่อต่อข้อมูล #iso

สบายๆกับ Verilog ด้วย Icarus Verilog และ GTKWave สำหรับ Windows

บทความนี้เขียนขึ้นมาเพื่อเพื่อนๆชาว CP35 โดยเฉพาะ คงทราบกันดีว่าโปรแกรม  ISE Webpack นั้นเป็นโปรแกรมสำหรับ Edit และ Synthesis โค้ดภาษา Verilog และสามารถใช้ควบคู่กับโปรแกรม ModelSim XE เพื่อที่จะจำลองการทำงานของ Test Fixture เพื่อดู Wave Form ของสัญญาณต่างๆ ทั้งนี้การ Synthesis ของ Webpack นั้นใช้เวลานาน และอีกอย่างหนึ่ง สัญญาณที่แสดงใน ModelSim นั้นมีจำกัด ทำให้การ Debug เป็นไปได้ลำบาก แต่สำหรับ Solution ใหม่ที่จะนำมาเสนอในวันนี้คือ Icarus Verilog สำหรับการ Run code verilog และ GTKWave สำหรับการ เปิดไฟล์ .vcd ที่ Icarus generate ออกมาเพื่อที่จะดู waveform ของสัญญาณต่างๆ โดยตัว Icarus Verilog เองเป็น source code library สำหรับให้นำไปใช้งานต่อไป แต่สำหรับที่เราจะใช้ในวันนี้คือ Icarus Verilog for Windows ที่มีคนนำมา compile แล้วเปิดให้โหลดมาใช้กัน

ลิงค์ต่างๆที่เกี่ยวข้องมีดังนี้

ดาวน์โหลดไฟล์ต่างๆ แล้ว Install หรือ Extract มันออกมา สำหรับ Library นั้นให้เอาไปไว้ที่ๆเดียวกับ ไฟล์ gtkwave.exe เท่านี้กก็พร้อมที่จะ synthesis + simulate แล้ว

คำสั่งของ Icarus Verilog for Windows > พิมพ์คำสั่งใน CMD โดยให้ Directory ปัจจุบันเป็นตำแหน่ง bin directory ที่ลง icatus Verilog ไว้เช่น C:\iverilog\bin เป็นต้น ใช้คำสั่ง cd <path> เพื่อไปยัง directory นั้น

Capture

แล้วพิมพ์คำสั่ง iverilog -o <output file path> <verilog file path> สำหรับ code ใน verilog file นั้นสามารถใส่ Test Fixture ลงไปในไฟล์เดียวกันได้เลยเพื่อที่จะใช้ function $display ได้

Capture2

ต่อมาเป็นการแสดง output ของ output file โดยใช้คำสั่ง vvp <output file>

Capture3

แล้วโปรแกรมก็จะแสดง output ที่เกิดจาก $display ออกมา สำหรับการสร้างไฟล์ waveform ทำได้โดยการแก้ code ใน verilog ให้ dump variable ต่างๆออกมาโดยเพิ่ม code ดังนี้ก่อนเริ่มการ Simulate

$dumpfile(“filename.vcd”);
$dumpvars(0,<Module Name>);
$dumpon ;
//code ระหว่างการ simulate
$dumpoff ;
$finish;

เท่านี้ก็จะได้ไฟล์ filename.vcd มาอยู่ใน folder bin ของเราแล้ว และใช้โปรแกรม GTKWave เปิดไฟล์นี้ จากนั้นเลือกสายสัญญาณแล้วกด Append เพื่อนำไปต่อในรายการ Signals

Capture4

ข้อดีของโปรแกรมนี้คือสามารถอ่าน waveform ได้ทั้งอุปกรณ์ภายในด้วย ตามที่เห็นในรูป

Capture5

จากนั้นจะ Zoom-out Zoom-in Drag ไอตัว timeline อะไรก็หวังว่าทำกันเป็นนะ ระดับนี้แล้ว ฮ่าๆ

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

เอ้อลิมบอกไป ปล. ใช้คู่กับ Notepad++ (โปรแกรม editor สารพัดภาษา) จะแหล่มมาก

http://www.icarus.com/eda/verilog/

iTruewifi : Login Truewifi อัตโนมัติ

กลับมาตามคำสัญญาครับ กับ user script สำหรับ login truewifi อัตโนมัติ

เบื่อไหม! ที่จะต้องมาคอยระแวงว่าทรูไวไฟจะตัดเมื่อไหร่ เราขอแนะนำ iTruewifi ที่จะมาช่วยให้ชีวิตคุณดียิ่งขึ้น!! (ยอดไปเลย จอร์จ)

iTruewifi

การติดตั้ง

  1. โหลด Greasemonkey มาติดตั้งบน Firefox สำหรับใครที่อยากรู้จัก Greasemonkey ให้ไปดูโพสที่แล้ว เมื่อติดตั้งเสร็จแล้วให้ restart Firefox ก่อน
  2. ไปที่ หน้า iTruewifi กดปุ่ม Install
  3. ไปที่หน้าของ Truewifi portal เพื่อ Config ค่า และป้องกันสคริปท์ทำงานก่อน
  4. เริ่ม Config ค่าต่างๆ คือ ค่า MAC Address และ ค่าเวลาที่จะให้ล็อกอินใหม่ โดยการคลิกขวาที่รูปลิงมุมขวาล่าง แล้วคลิกขวาที่ iTruewifi จะปรากฎหน้าต่างให้ Edit script (ปกติ Greasemonkey จะให้เลือก Default Editor ก่อน ก็เลือก C:\Windows\system32\notepad.exe ไป)
  5. เมื่อปรากฎหน้าต่างให้ Edit script ได้แล้ว ให้แก้ไขค่า MAC Address โดย MAC Address สามารถดูได้ที่ Run > cmd > ipconfig /all แล้วตรวจดู Physical Address ของ Wireless Adapter ของเรา โดยเมื่อนำไปใส่ในสคริปท์ให้ เขียนในรูปแบบดังนี้ 00:aa:bb:cc:dd:ee คือเป็นตัวพิมพ์เล็กคั่นด้วย :
  6. ส่วนตัวแปร minuteWait คือตัวแปรกำหนดว่าจะให้ login ใหม่ทุกกี่นาที ปกติทั่วไปอยู่ที่ 80-85 นาที Green Bangkok อยู่ที่ 50-55 นาที
  7. สุดท้าย ท้ายสุด เปิดหน้า logout truewifi เพื่อให้สคริปท์ทำงาน ถ้าทำงานถูกต้อง ท้ายที่สุดคุณจะพบกับข้อความนี้

t_successfully

ให้เปิดหน้านี้ทิ้งไว้ให้สคริปท์ทำงาน และต้องตั้งค่าให้หน้าเวป Remember พาสเวิร์ดไว้ก่อน ไม่อย่างนั้นจะล็อคอินไม่สำเร็จ เพราะสคริปท์ทำงานโดยการกดปุ่ม Login เพียงอย่างเดียว ไม่กรอก Username@Domain และ Password ให้

หมายเหตุ

ทางทีมงาน(มี อยู่คนเดียว)เล็งเห็นถึงอิสระภาพบนชีวิตคอนเวอร์เจนซ์ จึงได้กำลังทำการปรับปรุง iTruewifi ให้มีประสิทธิภาพมากยิ่งๆขึ้นไป โดยคาดว่าท้ายสุดแล้ว iTruewifi จะรันบน router ของ truewifi เองโดยที่ไม่ต้องมีโปรแกรมฝั่ง user คาดว่าจะแล้วเสร็จ 31 เมษายน ศกหน้า จึงเรียนมาเพื่อทราบ และ(Truecorp)โปรดพิจารณา

Update

ทางทรูไวไฟได้ เปลี่ยนหน้า Login ใหม่ทำให้สคริปท์ใช้การไม่ได้ ซึ่งการเปลี่ยนนี้อาจเป็นการที่ทำให้ผู้ใช้ไม่ต้องเชื่อมต่อไวไฟใหม่เมื่อ หมด session ก็ได้ ผู้เขียนยังไม่ได้ทดสอบเลย แต่คึกคะนองแก้สคริปท์ให้ใช้กับเวอร์ชันนี้ได้เรียบร้อยแล้ว โดยเข้าไป update ที่หน้า iTruewifi

Greasemonkey สุดยอด Add-on ที่ควรมีติด Firefox

Foxmonkey

สวัสดีวันแม่ครับ วันนี้แม่ไม่อยู่บ้าน แต่ลูกอยู่บ้านไม่มีอะไรทำ ลูกเลยมานั่งเขียนบล็อกแทน

คนที่คุ้นเคยกับ Firefox คงจะรู้จัก Greasemonkey เป็นอย่างดี สำหรับคนที่ไม่รู้จัก Greasemonkey คือ add-on ของ Firefox ที่ทำให้สามารถรัน javascript ทับลงบนหน้าเวปที่เราต้องการอีกที หรือเรียก script แบบนี้ว่า user script ซึ่งไอ้เจ้า javascript ที่รันเนี่ย สามารถทำอะไรให้เราได้ตั้งหลายอย่าง ตั้งแต่ refresh หน้าง่ายๆ ไปจนถึงเปิดบอทเกมเบราเซอร์ (ไม่ดีนะ!)

จากที่อ่านมา คงเห็นแล้วสินะ ว่าเจ้าลิงตัวนี้มันซุกซนจริงๆ ที่ผมติดใจเจ้าลิงนี่ก็คือ มันทำให้คนที่เขียน javascript ไม่เป็นและ ไม่รู้จะเริ่มตรงไหนอย่างผม ได้เข้าใจว่ามันไม่ได้ยากอะไรเลย แล้ว javascript ก็มี flexibility ที่สูงมาก เราอยากนึกแก้ object ไหน อยากกด submit form ไหน ก็ได้ตามใจเรา พอลองเล่นๆ กับ user script ดูซักพักแล้วก็เกิดอาการถามครูกูเกิ้ลดู ได้พบ function ต่างๆ syntax ต่างๆ ซึ่งมีประโยชน์ในการเขียน ทำให้รู้สึกสนุกดี

หลังจากที่ลอง เขียน user script เล่นๆดู พอเข้าใจแล้ว ทำให้เกิด script ตัวที่กำลังจะเขียนถึงในโอกาสต่อไป ซึ่งครั้งนี้แอบบอกเรียกน้ำย่อยก่อน มันก็คือ script relogin truewifi นั่นเอง สำหรับคนที่อยู่หออย่างผม truewifi เป็นอะไรที่หล่อเลี้ยงผมให้มีชีวิตต่อไป(เวอร์มาก) บ่อยครั้งที่ครบ 90 นาทีแล้วมันตัดอัตโนมัติทำให้ใจจะขาด ไว้ครั้งหน้าพบกันครับ