หน้าเว็บ

วันเสาร์ที่ 18 ตุลาคม พ.ศ. 2551

การกำหนดค่าที่เซนเซอร์แต่ละตัวอ่านได้ใน TinyDB บน TOSSIM

โดยปกติแล้วถ้า run TinyDB ด้วย TOSSIM นั้น ค่าที่เซนเซอร์แต่ละตัวอ่านได้ในแต่ละช่วงเวลานั้นจะเป็นค่าที่ random ขึ้นมา ซึ่งในบางสถานการณ์เราอาจต้องการ fix ค่า หรือต้องการให้ค่าที่อ่านได้เป็นไปตามสมการที่เรากำหนด (เช่น ในธีสิสผมเป็นต้นที่ต้องการ evaluate ว่าข้อมูลที่อ่านได้ กับข้อมูลที่มีอยู่ในระบบจริงนั้น ถูกต้องขนาดไหน เป็นต้น)

ซึ่ง TinyDB ถ้า compile แบบ make pc เพื่อให้ใช้ TOSSIM แล้วจะเห็นว่าใน Makefile นั้นมีการใช้ Micasb เป็น sensorboard ดังนั้นวิธีที่ผมแก้ง่ายที่สุดคือ ไปสร้าง component ที่ provides interface StdControl และ ADC โดยใน module นั้นก็ให้ทำการสร้าง command async command result_t ADC.getData() แล้วใน command นั้น ก็อาจจะให้ทำการตรวจสอบ TOS_LOCAL_ADDRESS แล้วก็สั่ง signal ADC.dataReady(VALUEที่ต้องการ); เป็นอันเสร็จ

สมมติว่าเราต้องการกำหนดค่าของเซนเซอร์อุณหภูมิ ก็ให้ไปที่ Temp.nc แล้วแก้ไข components PhotoTemp ให้มาใช้ component ของเราแทน และเปลี่ยนการ assign interface StdControl กับ TempADC มาใช้เป็นของเราแทนเช่นเดียวกัน

แล้วก็ทำการ compile ใหม่ เป็นอันเสร็จพิธีครับ

ไม่มีความคิดเห็น: