วันศุกร์ที่ 29 ตุลาคม พ.ศ. 2553

บันทึกช่วยจำ : Serial Forwarder บน AVRORA simulator

มี Tutorial ของเรื่องนี้ที่  [1]
แต่มันมีข้อแตกต่างนิดหน่อย ที่ทำแล้วรู้สึกง่ายกว่า
เนื่องจากไม่ต้องเขียน code ใหม่ ใช้ที่มีอยู่แล้วตอนลง tinyOS [3]
ซึ่งจุดแตกต่างนี้ควรบันทึกไว้ดังนี้

1. การ compile ไฟล์ที่จะใช้ใน AVRORA ต่างจาก [1] ตรงที่จะใช้วิธีจาก [2] แทน ซึ่งจะได้ไฟล์นามกุล .elf แทนที่จะเป็น .od แบบของวิธี [1]

2. รันไฟล์ .elf ของ Base และ Sender บน AVRORA โดยใช้คำสั่งนี้
      java avrora.Main -platform=mica2 -simulation=sensor-network -seconds=160 -monitors=serial,real-time -nodecount=1,1 Base.elf Sender.elf 
    จะได้ผลเหมือนในรูปที่ 1 ใน [1]

3. ถ้ายังไม่ได้ลง  tos-install-jni ให้ลงก่อนด้วยคำสั่งนี้
      $ sudo tos-install-jni
      $ cd $TOSROOT/support/sdk/java/net/tinyos/tools
      $ make

    และต้องเพิ่ม environment สำหรับการเรียกใช้ serial forwarder ในไฟล์ ~/.bashrc ก่อน กรณีใช้ tmote sky จะเป็นดังนี้ (ดูเพิ่มเติมใน [4])
      #MOTECOM for tmote
      export MOTECOM=serial@/dev/ttyUSB0:telosb


4. เรียกใช้ serial forwarder ดังนี้
     java net.tinyos.sf.SerialForwarder -port 9002 -comm network@localst:2390
    จะได้ผลเหมือนในรูปที่ 6 ใน [1]

5. ส่วนโปรแกรม Listen ไม่ต้องมาคอมไฟล์เหมือนในรูป 2-5 ใน [1]   หากมีการทำขั้นตอนที่ 3 เรียบร้อยแล้ว ก็แค่เพียงใช้คำสั่งนี้
    java net.tinyos.tools.Listen -comm sf@localhost:9002
   ผลที่ได้จะเป็นดังรูปต่อไปนี้


อ้างอิง
[1] http://mythicalcomputer.blogspot.com/2008/10/using-serialforwarder-interface-of.html
[2] http://docs.tinyos.net/index.php/Avrora
[3] http://happinesslism.blogspot.com/2010/10/tinyos-avrora-simulator-ubuntu.html
[4] http://docs.tinyos.net/index.php/Mote-PC_serial_communication_and_SerialForwarder

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

แสดงความคิดเห็น