Posts Tagged ‘Zigbee’

Update Zigbee Project (Wireless Sensor Network)

2011.04.05
21:33

และแล้วทุกอย่างก็สำเร็จไปได้ด้วยดี ทั้งการสอบโปรเจ็กต์ สอบสัมภาษณ์ป.โท แต่วันนี้เราจามาพูดกันเรื่องโปรเจ็กต์ที่ได้ทำไปตอนปี 4 ดีกว่า ว่าคืออะไร ทำอะไรได้บ้าง แล้วมานดีอย่างไร? มาเริ่มกานเรย !!!

โปรเจ็กต์ที่ทำมา ก็คือ Wireless Network Sensor มี Sensor Node กระจายตามจุดต่างๆ เป็นบริเวณกว้าง ที่สนใจใช้กับโปรเจ็กต์นี้ก็คือ ใช้ทางด้านเกษตรกรรม คือวัด อุณหภูมิ และวัดความชื้น โดย Sensor Node ต่างๆจะส่งข้อมูล ผ่านโปรโตคอล Zigbee มายังที่ Zigbee Coordinator และทำการแปลงข้อมูลเหล่านั้นผ่าน Gateway เพื่อที่จะส่งต่อไปยังตัว Server อีกทีหนึ่ง โดย Packet ในระบบที่วิ่งไปวิ่งมาตัว Gateway จะเป็นตัวบริหารจัดการ เก็บข้อมูล Packet API เหล่านั้น ลงใน Log บน Gateway (จริงๆในอนาคตอยากจะทำการเก็บข้อมูลลงใน SD Card ได้ เพื่อที่จะตรวจสอบข้อมูล Log เชิงระยะยาว) ทีนี้ข้อมูล API นอกจากที่จะอ่านบน Gateway คือ (ARM7 Cortex-M3 แล้ว) ยังถูกส่งต่อให้กับ Server อีกด้วย ข้อมูล API เหล่านั้น จะถูกแปลงโดย GUI ที่เขียนขึ้นโดย C#.NET โดยมีหน้าต่างบริหาร ให้ผู้ใช้เข้าใจได้โดยง่าย

นอกจาก Server รอรับข้อมูลจาก Gateway แล้ว ยังทำการเก็บข้อมูลลง ฐานข้อมูล MySQL โดยเก็บข้อมูลอย่างเป็นระบบ เพื่อที่จะให้ผู้ใช้ผู้อื่น ตรวจสอบ/ดึงข้อมูลที่ถูกเก็บในระยะยาว ผ่าน เว็บไซต์ ที่ถูกออนไลน์ผ่าน โปรโตคอล TCP/IP ได้อีก

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

ต่อมามาดูอีกโหนดที่เป็นความชื้นก็เช่นกัน ถ้าค่าความชื้นที่ถูกส่งมา มีค่าต่ำกว่าที่เราต้องการในระบบปิด ระบบก็จะส่งสัญญาณออกไปควบคุมที่โหนดปลายทางนั้นๆ ให้ทำการเปิดสวิต โดยไปขับรีเลย์ ให้เครื่องกำเนิดความชื้นทำงาน (Humidifier)

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

นอกจากนี้ยังได้ศึกษาเซ็นเซอร์ต่างๆ เข้าใจวิธีการนำเซ็นเซอร์มาใช้งาน ตั้งแต่เข้าใจหลักการพื้นฐานของเซ็นเซอร์ เข้าใจ Datasheet / ทำการสอบเทียบ ดูช่วงการใช้งานเซ็นเซอร์ และผลตอบสนอง / สร้างวงจรเพิ่มเติมให้เซ็นเซอร์เหล่านั้นมาใช้งานกับระบบของเราได้ เป็นต้น

จากด้านบนเป็นโปรแกรม GUI เฝ้าระวังและควบคุม ระบบ Zigbee Network ที่มีอยู่ในระบบทั้งหมด โดยทุกตัวเชื่อมต่อเป็นลักษณะ เครือข่ายแบบ MESH TOPOLOGY ด้านขวามือเป็นการมอนิเตอร์ข้อมูลที่จำเป็นในการแสดงผล ให้ผู้ใช้งาน ตรวจสอบแม้เพียงตาผ่านได้ว่า ข้อมูลในขณะนั้นๆเป็นยังไง

ส่วนด้านซ้ายมือจะแยกเป็นส่วนๆดังนี้

ส่วนล่างสุด เป็นการ Monitor Command สำหรับผู้รู้ระบบลึกๆ คือข้อมูลในระบบ API ทั้งหลาย ที่วิ่งไปวิ่งมา ผ่านตัว Coordinator จะถูกแสดงผลที่จุดนี้ แสดงข้อมูลตั้งแต่ เวลา วันที่ API Packet ที่ได้รับ หน้าที่ต่างๆ MAC ที่ถูกส่งมาจากปลายทาง สถานะเอาท์พุท ค่า ADC ที่ได้รับจากเซ็นเซอร์ต่างๆ เป็นต้น

ต่อมา เป็นการแสดง Information อย่างคร่าวๆ ว่าสถานะออนรึเปล่า ข้อมูลส่งมาล่าสุดเมื่อไหร่ อุณหภูมิ และ ความชื้นมีค่าเท่าใด สถานะเอาท์พุท อุปกรณ์ที่ต่อพ่วงอยู่นั้น เปิดหรือปิดอยู่เป็นต้น

ส่วนต่อมา จุดสำคัญคือ Network Mode Control ว่าจะเป็นแบบ Manual (เฝ้าระวังเพียงอย่างเดียว) หรือแบบ Auto (เฝ้าระวังและควบคุม)  ต่อมาด้านขวา คาบเวลาที่ใช้ในการเก็บข้อมูล (หน่วยเป็นวินาที) โดยสามารถเซ็ตได้จาก เมนู Setting ในโปรแกรม

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

ต่อมาเป็นหน้าเว็บไซต์ โดยที่ ตัว server ที่รัน GUI นั้นยังทำหน้าที่เป็น Webserver เชื่อมต่อ Database อีกด้วย เพื่อเรียกดูข้อมูลผ่านออนไลน์ได้

นี่คือหน้าเว็บไซต์ที่ได้ออกแบบไว้…

โดยตัวเว็บนี้สามารถ ดูข้อมูลที่จำเป็น ณ.เวลานั้นๆได้ สามารถ พล๊อตกราฟตลอด 24 ชั่วโมงที่ผ่านมา / 7 วันที่ผ่านมา / 1 เดือนที่ผ่านมา หรือ 1 ปีที่ผ่านมาได้ และยังสามารถแสดงผลข้อมูลเหล่านั้น ลงสู่ไฟล์ Excel เพื่อให้ผู้ใช้งานสามารถใช้งาน Export ข้อมูลออกไป ทำ Report อื่นๆ หรือ ไปพล๊อตกราฟรูปแบบอื่นๆ หรือ ได้ข้อมูลตามช่วงเวลาที่ต้องการได้

รูปแรก โหนดนี้เอาไว้ควบคุมอุณหภูมิ อ่ะนะ เป็นบอร์ด Demo เฉยๆ

รูปสอง รูปภาพรวมของทุกโหนด ที่สามารถนำไปไว้ตามจุดต่างๆเพื่อทดสอบได้จริง โดย ซ้ายสุดเป็น Gateway เชื่อมต่อกับ Server และ Xbee Coordinator

รูปสาม เป็นภายในของโหนด Zigbee ว่ามีอะไรบ้าง แต่ละโหนดจะไม่มี MCU ตัวอื่นนอกจาก โมดูล Xbee อยู่เลย เพราะอาจารย์บอกว่า ถ้าเอา MCU ไปทิ้งไว้ตัวนึง เหมือนเพิ่ม Cost ที่โหนดนั้นๆ แสดงว่าต้องทำอะไรที่ได้มากกว่านี้ อย่างเช่นอาจจะเก็บ Log File หรือทำอะไรด้วยตัวเองได้ นอกจากนี้ที่ทำแบบนี้ จะได้ใช้โมดูล Xbee Series2 ได้อย่าง Full-Function

(เห็นรูปนี้แล้วรู้สึกเสียดายที่กลุ่มอื่นหลายๆกลุ่ม ใช้ Zigbee เพียงแค่ แทนสายเส้นนึง คือต่อแทนสายอากาศ และก้อไม่ได้ใช้ Digital IO หรือ Analog Input ของมันเลย รู้สึกเสียดายจิงๆนะ… เพราะตัวนึงก้อไม่ใช่ถูกเลย ถ้าเอามาใช้แทนเสาอากาศนี่ น่าจะใช้พวก โมดูล RF แบบอื่นๆ ที่ราคาไม่แพง น่าจะเหมาะสมกว่า)

รูปสี่ เป็นโรงเรือนจำลอง ที่ใช้ตอนทำการทดลอง ทั้งเพิ่มอุณหภูมิ และ ลดความชื้นในระบบ แล้วดูว่า ระบบของเราสามารถที่จะควบคุมปัจจัยสิ่งเหล่านั้นได้รึเปล่า ปรากฎว่าควบคุมได้จิงๆอ่ะนะ…

รูป 5 เป็นรูปคืนก่อนสอบโปรเจ็กต์ ต้องเอาเข้าไปหมดนี่เลย แถมโน๊ตบุคอีก 2 ตัวด้วยกัน ตัวนึง Present ตัวนึงทำเป็น WebServer

รูป 6 อีกซักรูป

รูป 7 THESIS หนามากๆ อาจารย์ให้ทำซะเยอะเลย ทั้งหมดก็ประมาณ 214 หน้าได้  T^T  ทำเล่มทีจนเลย เหอๆ

หลังจากที่สอบโปรเจ็กต์เสร็จ ก็ถึงเวลาจากลา จัดห้องคืนอาจารย์ อิอิ ขอบคุณอาจารย์ กสิน วิเชียรชม มากๆ ที่ดูแลทุกอย่างตั้งแต่ต้นจนจบเลย จะมีอาจารย์ที่ไหนที่ดีขนาดนี้อีก T^T อยู่ช่วยพรีเซ้น 2-3 วัน ตั้งแต่เช้า วันสุดท้ายเสร็จเกือบตีสอง ซาบซึ้งมากๆ….

ในที่สุดก็จบแล้วซะที เห็นว่าโปรเจ็กต์นี้มีบริษัทติดต่อมาขอซื้อ แต่ยังอยู่ในช่วงเจรจากันอยู่ ว่าไงก็ว่ากัน ถ้าไม่ได้ใช้อะไรมันก็ไม่ได้ประโยชน์ใช่มั๊ยหละ ก้อเอาไปเป็นวิทยาทานเผื่อจะทำขายได้จริงๆอ่านะ = =’

ต่อไปก้อต้อง…สู้ต่อไป วิศวกรรมชีวการแพทย์ อาจารย์ให้ Paper มาอ่านตั้งเยอะ ยังอ่านไปไม่ถึงไหน เหอๆๆๆ T^T

ต่อไปคงไม่ได้ทำต่อกับอาจารย์กสินแล้วหล่ะ อาจารย์ถนัดเรื่อง VLSI หรือพวกออกแบบ IC อ่ะนะ รู้สึกมานยากแน่ๆ ไม่ค่อยถนัดคำนวณหนักหน่วงเยอะๆซะเท่าไหร่ ประกอบกับ พี่เรียนหมอ แล้วเมื่อเทอมที่แล้วเคยเรียนวิชาเลือก Biomedical Electronics รู้สึกว่าชอบวิชานี้มากๆ ก็เลยตัดสินใจแล้วว่าจะต่อทางด้าน Biomedical Engineering อ่ะนะ ทำงานวิจัย คงหนีไม่พ้น Instrumentation หรือพวก Signal Processing แหละ

สู้กันต่อไป ทาเคชิ!

Popularity: 6% [?]

Zigbee API Frame (Zigbee API Packet)

2010.09.19
1:30

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

ไหนๆก็ทำโปรเจ็กต์เรื่องนี้โดยตรง อยู่แล้ว แบ่งปันให้คนอื่นรู้มั่ง…

ของผมเป็น โมดูล Xbee Series2 จำนวน 3 ตัว และ Xbee-Pro Series2 จำนวน 1 ตัว

เรื่องแรกวันนี้ ของการเซ็ตค่า API

สำหรับโปรเจ็กต์ครึ่งปีแรกนี้ คือในโปรเจ็กต์ จะมี xbee ตอนนี้อยู่ 4 ตัว

1. ทำหน้าที่เป็น Coordinator 1 ตัว ต่ออยู่กับ ARM7 Cortex-M3

2. ทำหน้าที่เป็น Router 3 ตัว

ในส่วนของ Router นั้น สามารถแบ่งออกเป็น 3 แบบดังนี้

1. ไม่ได้ทำอะไรเลย เป็นทางผ่านส่งข้อมูลเฉยๆ 1 ตัว

2. เซ็ตค่า Pin Change Detection จำนวน 1 ตัว หน้าที่ของโหนดนี้คือ ต่ออยู่กับ PIR Sensor เวลามีอะไรผ่านหน้าเลนส์ จะยก logic ให้เป็น High เมื่อ logic เปลี่ยนก็จะทำการส่งข้อมูล API Frame ผ่าน Router ข้อ 1 ไปยัง Coordinator

3. รับค่าค่า Analog Input ทุกๆ 20 วินาที เพื่อส่งเป็น API Frame กลับไปยัง Coordinator

ในส่วนของ Coordinator นั้น ต่อกับ ARM7 ผ่านทาง UART (RS232) เมื่อรับค่าเข้ามาเป็น Packet หลักการของโปรแกรมใน ARM ทำดังนี้

หลักการเช็คข้อมูล Packet ที่ได้รับจาก Zigbee API Frame

1. รับค่า UART แล้วทำการเก็บใน DMA เพื่อหาจำนวน Bytes ทั้งหมด ว่ามีทั้งหมดกี่ bytes

2. ตรวจสอบ byte แรก ต้องเป็น 0x7E

3. byte 2-3 นั้นจะเป็นค่าความยาว Length ของขบวนข้อมูลที่รับมา ซึ่งจะสัมพันธ์กับ Bytes ทั้งหมด ที่อยู่กับด้านบน

4.ทำการตรวจสอบ byte ที่ 4 ว่าเป็น 0×92 รึเปล่า ถ้าใช่ จะเป็น Zigbee IO Data Sample RX Indicator ซึ่งเป็นการแซมปลิ้งค่าจาก Digital Input ทุกขา ของ โมดูล Xbee ซึ่งอาจจะเป็นเลขรหัสอื่น ซึ่งการตีความใน API Frame ก็จะแตกต่างกันไป แต่ในโครงงานนี้ ตีความโดย 0×92

5. ทำการบวกเลขทั้งหมด ตั้งแต่ byte ที่ 4 จนถึง byte ก่อน checksum ทั้งหมด แล้วหักด้วย 0xFF ซึ่งค่าที่ได้ byte low จะอยู่ในส่วนของ checksum (เวลาคำนวณให้ตัด byte high ออกไปได้เลย)

6. ถ้าถูกต้องทั้งหมดใน 5 ข้อที่กล่าวมาข้างต้น แสดงว่า ส่งข้อมูลรูปแบบ API Frame ถูกต้องแล้ว ให้ไปทำอะไรก็ได้หลังจากนี้

ตัวอย่าง ซึ่งเช่นข้อมูลเป็นดังนี้ (รับค่า Pin Change Detection อย่างเดียว ถูกส่งจากโหนด มายัง Coordinator) ถ้าเป็น Analog ด้วย Packet จะยาวกว่านี้ แต่สามารถส่งรวมกันได้เลยนะ

7E 00 12 92 00 13 A2 00 40 3D C7 1D 40 CB 01 01 FF FF 00 00 01 4B

เวลาตีความ จะสามารถตตีความได้ดังนี

0x7E คือ byte start ของข้อมูลขบวนรถไฟที่ถูกส่งมา

0×00 0×12 คือ จำนวน bytes ทั้งหมดตั้งแต่ byte ที่ 4 จนถึง byte ก่อนหน้า checksum ซึ่ง 0×12 แปลงเป็นฐานสิบได้ 18 ซึ่งถูกต้อง ลองนับดู (ตัวอักษรสีฟ้า)

7E 00 12 92 00 13 A2 00 40 3D C7 1D 40 CB 01 01 FF FF 00 00 01 4B

ได้ครบ 18 ตัวจริงๆด้วยอ่ะนะ…

0×92 คือ API Frame นี้ถูกส่งมาโดยข้อมูลที่ตามมาเป็น Zigbee IO Data Sample RX Indicator

0×00 0×13 0xA2 0×00 0×40 0x3D 0xC7 0x1D คือ 0013A200 403DC71D ซึ่งเป็น DH และ DL Address 64bit ของโหนดปลายทางที่ส่งข้อมูลมา (ระบุตัวตนของโหนดที่ส่งข้อมูลมา)

0×40 0xCB คือ 16bit Address อันนี้ไม่ต้องสนใจ เนื่องจากเราเช็คผ่าน 64 bit address ไปแล้ว

0×01 (byte ที่ 15) คือ Packet ACK คือ ปรกติจะมี ACK กะ NACK อ่ะนะ แปลง่ายๆ Acknowledge นั่นเอง

0×01 (byte ที่ 16) คือ Number sample sets โดยปกติแล้วจะเป็นค่านี้ตลอด

0xFF 0xFF คือ Digital Channel Mask ก็คือถ้า สอง byte นี้ มีค่าเป็น FF FF แสดงว่ามีการส่งค่าดิจิตอล Input มา ถ้าเป็น 00 00 ก็แสดงว่าไม่มีการส่งค่าดิจิตอล Input มา

0×00 (byte ที่ 19) Analog Channel Mask คือถ้าเป็น 00 แสดงว่าไม่มีการส่งค่า analog มา ถ้ามีการส่งค่า analog มา มันจะมีค่าเป็น FF

0×00 0×01 (byte ที่ 20 และ 21) อันนี้เป็น RAW Data จริงๆ คือ มันมีทั้งหมด 2byte (รองรับ 16bit) สำหรับดิจิตอล แต่จริงๆ โมดูล xbee มีไม่ถึงนะ ปกติมีแค่ 12bit โดยเรียงขาดังนี้

bit12         bit11         bit10         bit9         bit8         bit7         bit6         bit5         bit4         bit3         bit2         bit1         bit0

DIO12      DIO11      DIO10       N/A        N/A       DIO7      DIO6      DIO5      DIO4      DIO3      DIO2      DIO1       DIO0

เช่นค่าที่ได้มา 00 01 ก็จะเป็น

0             0               0               0              0              0              0               0             0               0               0              0              1

แสดงค่า DIO0 ที่ต่ออยู่กับ PIR Sensor Detect ค่าได้ว่าเป็น 1 นั่นเอง…

ต่อมา…

0x4B คือค่า Check Sum ซึ่งหาได้จาก

Check Sum = 0xFFFF – ( 0×92 + 0×00 + 0×13 + 0xA2 + 0×00 + 0×40 + 0x3D + 0xC7 + 0x1D + 0×40 + 0xCB + 0×01 + 0×01 + 0xFF + 0xFF + 0×00 + 0×00 + 0×01 )

Check Sum = 0xFFFF – 0x5B4

Check Sum = 0xFA4B ซึ่ง byte high เราไม่เอา เอาแต่ byte low ก็จะได้ 4B ดัง Packet สุดท้ายที่มันส่งมา

จบแล้ว ง่ายมั๊ย ศึกษามา 3-4 เดือน = =’ โปรเจ็กต์ยังไม่ไปไหน ฮ่าๆ

วันนี้ขอแค่นี้ก่อนละกัน รู้สึกเมื่อยๆ ^^

เมื่อคืนได้เข้าไปที่บล๊อก http://www.10logic.com/ มา พอดีสนในเรื่อง gsm module เลยไปขอวงจรจากพี่เค้ามาครับ

ไม่ถึงวัน พี่เค้าส่งให้เลย ต้องขอขอบคุณพี่ B.Uthen มากๆเลยนะครับ ที่อนุเคราะห์ให้

ซาบซึ่งๆ ^^

Popularity: 37% [?]

Zigbee API Mode with AT Mode Project

2010.09.01
0:37

ในที่สุดดด…

โปรเจ็กต์ครึ่งเทอมแรก ก็น่าจะเริ่มต้นไปได้ด้วยดี

หลังจากที่ ใช้เวลางมกับ Zigbee API Packet มาเป้นเวลา 3 อาทิตย์เต็มๆ

อันนี้คือภาพรวมของระบบที่ออกแบบไว้ เอา Xbee มาทำงานเป็นลักษณะระบบควบคุมอะไรซักอย่าง ซึ่งเป็นลักษณะ Prototype แน่นอนว่า จากในรูปปลายภาคจะต้องมี GUI ซึ่งจะต้องพึ่ง C# อีกแน่นอน = =’

แต่เทอมแรกนี้ ก็เป็นการส่งข้อมูลจาก Zigbee จาก Router ทั้งหลาย ส่งกลับมาที่ Coordinator อ่ะนะ แล้วทำ Packet ที่ได้ เนื่องจากใช้พวกพอร์ต GPIO และ ADC ของ Xbee อ่ะ ก็เลยใช้เวลานานมาก ในการอ่านข้อความ Packet ศึกษาเรื่องนี้ประมาณ 1 อาทิตย์เต็มๆอ่ะนะ

ก็ถ้า Coordinator ได้ข้อมูล Packet ขนาด 22-30 bytes ที่ตัว Zigbee Router แต่ละโหนดส่งมาให้ ก็เขียน ARM7 ให้แปรความหมายต่างๆใน Packet เหล่านั้น ซึ่งจะต้องผ่านขบวนการแปลงเช็คต่างๆ เช่นเช็ค Length หรือพวก Checksum ว่าข้อมูลที่ได้รับมานั้นถูกรึเปล่า แค่ส่วนนี้ก็เสียเวลาไปประมาณ 2-3 วันได้อีกอ่ะนะ

ในที่สุดก็ทำได้ซะที คือ การทดลองจะเป็นลักษณะ Coordinator เชื่อมต่อ Xbee Router 3 ตัว ซึ่งคุยกันแบบ API Command ทั้งหมดอ่ะนะ เวลาได้รับ Package ออกมาแล้วก็ให้มันมาโชว์ที่ ARM7 อ่ะ ซึ่ง xbee ตัวแรกต่อกับ PIR Sensor ของ Inex ต่อกับขา DIO0 ซึ่งถูกตั้งค่าเอาไว้ว่า เมื่อมีการเปลี่ยนแปลง Logic ให้ส่งข้อมูล Packet กลับมาที่ Coordinator ทันที ส่วนอีกอันนึงจะเป็นการต่อกับ R ปรับค่าได้ เปลี่ยนแปลง Analog 0-1.2V ซึ่งจะได้ค่า Analog ตั้งแต่ 0×0000 จนถึง 0x03FF อ่ะนะ ทั้งหมดก็ 10 bit ทำการส่งข้อมูลกลับมาที่ Coordinator ทุกๆ 30 วินาที

รูปข้างบนนี้เป็นส่วนของที่ทำในเทอมนี้อ่ะนะ

สิ่งที่ได้ความรู้เพิ่มขึ้นเกี่ยวกะ ARM ตอนนี้คือ สามารถใช้ไอตัวลำโพงมันได้หละ คือตอนแรกไม่รู้เว้ยว่ามันใช้อะไรยังไง แต่พอปรึกษาอาจารย์ว่าลำโพงแบบนี้ทำงานยังไง ก็ทำจนออกเลย คือต้องใช้ PWM ส่ง Pulse ออกไปที่ตัว IC drive ลำโพงของบอร์ด ARM อ่ะ ซึ่งความถี่ที่มันใช้ Support ในการส่ง Pulse ออกไปนั้นอ่ะ รองรับตั้งแต่ 100Hz จนถึง 10kHz รู้สึกว่าลำโพงแบบนี้ใช้เปิดเพลงพวก MP3 ไม่ได้อ่ะนะ มันเป็นพวกเปียโซ ธรรมดานี่เองแหละ

มาดูชิ้นงานกันดีกว่า

รูปแรกนี่เป็น Coordinator ตัวนึงที่ต่ออยู่กับ ARM7 แสดงผลผ่านจอ LCD ซึ่งก็จะมีข้อมูลส่งมาจาก Xbee โหนดต่างๆอ่ะนะ เห็นได้จากไฟแวบๆ

อุปกรณ์ที่ทำออกมาทั้งหมด สำหรับเทอมนี้

ก็ใช้ Xbee ทั้งหมด 4 ตัวอะนะ มีเยอะกว่านี้ได้จนแน่ๆ 55+

จริงๆมันมีฝาปิดด้านบนอีกนะ รู้สึกว่าอาจารย์บอกว่าปิดได้เลยไม่เป็นไร การลดทอนของมันไม่ค่อยมีผลกับพวกพลาสติดเท่าไหร่ เพราะว่ามันเป็นไดอิเล็กตริกอะนะ สนามไฟฟ้าผ่านได้สบายๆ

อะไรจะเยอะแยะ ขนาดเน้

ถ้าถามว่า ทำออกมายากที่อะไร

บอกได้เลยว่า ยากที่ Zigbee API เนี่ยแหละ แต่พอได้ทำจริงๆแล้วสนุกดีอ่ะนะ

คือข้อมูลที่ได้มามันจะยาวเป็นขบวนรถไฟจริงๆ มีหลายๆส่วน ทั้งเชค ทั้งบอกหน้าที่ ทั้งบอก address ทั้งหมดข้อมูล อะไรแบบนี้ ซึ่งจะเป็นหน้าที่ของ ARM7 ที่จะรับค่าข้อมูลเหล่านี้มาตีความ ปลอกเปลือก ให้เหลือเฉพาะ Raw Data จริงๆ เพื่อที่จะนำไปตีความและแสดงผลอีกทีนึง

ปัญหาต่อไปที่เจอแน่ๆก็คือ เทอมสอง ต้องมีการโต้ตอบระหว่าง GUI กับ ARM กับ Xbee แต่ละโหนด ซึ่งตอนนี้จาก PC ส่งไปคุยกับ Xbee ได้แล้วในรูปแบบ API Packet Frame แต่ว่า ยังคิดไม่ออกว่า จะให้มันเป็นทางผ่าน ส่งไปที่ ARM7 ก่อนยังไง ต้องมีปัญหาในเรื่อง function ของ ARM อ่ะนะ function uart ของมันส่งเป็นพวก char กับ string แต่ที่เราจะส่งเนี่ย เป็นข้อมูล 8 บิตล้วนๆเลย ซึ่งจะส่งในรูปแบบของ เลขฐาน 16 อ่ะ

คงไม่น่ายากมาก อาจจะกังวลไปเอง คงทำได้แหละ ไม่น่ามีปัญหา

คนไทย ไม่ค่อยมีคนทำ API Packet เลย ที่เป็นของ Xbee Series2 หาไม่ได้เลยอ่ะ ต้องไปอ่านจากหลายๆเวบ แต่ก็ไม่ค่อยมีเท่าไหร่ ต้องอ่านเองใน datasheet ของมันเลย เซงมากๆ กว่าจะแกะได้ เหอๆ นั่งงมหลายวันเลย = =’

วันนี้อัพแค่นี้แหละ ไว้ถ้ามีอะไรเพิ่มเติมจะมาอัพเพิ่ม

Popularity: 40% [?]

ความคืบหน้า Robot && New Sneakers && สิ่งเล็กๆที่เรียกว่ารัก…

2010.08.19
0:50

พูดถึงความคืบหน้าโรบอทก่อนเลยดีก่า

เรื่องของกล้องอะนะ 7810 Module ที่เห็น เป็น Analog Camera ธรรมดาอ่ะนะ ตอนแรกไม่รู้เลยว่ามันใช้ยังไง มีตั้ง 5 ขา

เลยไล่ไปไล่มา เริ่มจาก ตัว Regulator พอดีเหลือบไปเห็น เป็น 7805 ซึ่งรุ่นนี้เป็น 3 ขาแบบทรานซิสเตอร์เล็กมาๆเลย

ไปเปิด Datasheet ดูก้อเลยรู้ว่ามันเป็น 7805 กระแส Output แค่ 0.1 mA เองอ่ะนะ

ก้อเลยไล่จากขากราวนด์ก่อน กะขา Vdd แล้วก้อไบอัสมัน

พอไบอัสเสด ก้อลองเอา Scope ไปจับ ที่ทุกๆขาเห็นความเปลี่ยนแปลงขาที่ 1 เลยอ่ะ แบบว่าเอามือไปเปลี่ยนที่หน้ากล้อง สัญญาณที่โชว์ใน scope ก้อเปลี่ยนไปเปลี่ยนมา ก้อเลยแน่ใจว่าต้องเป็นขานี้แน่นอน

จากนั้นก็เลยเอามาต่อกับกล่องดำจริงๆอ่ะนะ

ตอนทดสอบ ก้อเลยเทสกะกล้อง PAN ซะเลย โดย Analog Camera ต่อกับ กล่องดำ ซึ่งเป็น Video Server อ่ะนะ…

จากนั้นก้อเขียน Application เพิ่มเติมในส่วนของการรับค่ากล้อง

ภาพที่ได้จากกล้อง PAN ก็คือ ด้านบน ส่วนด้านล่างเป็นภาพที่ได้จาก Video Server อ่ะนะ

วันนี้เลยได้ทดสอบเต็มสูบเลย กล้อง 2 ตัว กะ Joystick รับค่าเข้าโปรแกรม แต่ว่าไม่ได้เทส ARM อ่ะนะ ว่าออกไปแล้ว รับค่า Analog พวก Sensor ต่างๆกลับเข้ามาได้รึเปล่า แต่ว่าน่าจะได้เพราะคราวก่อนลองเทสไปแล้วอ่ะนะ เทสมากๆเปลืองไฟ ไว้ค่อยไปเทสที่ห้องโปรเจ็กต์ดีก่า ฮ่าๆ

ส่วนตัวหุ่นกับ Drive Motor คงเร่งๆทำกันในช่วงงาน 50 ปีนี้แหละ ไม่มีเรียนกัน ก้อเลยจะบู้ให้เสร็จเลย คงวิ่งได้ก่อนเดือนกันยาแน่นอน.. เห็นฝ่ายแมคคานิกส์ว่างั้นอ่ะนะ

ไว้ค่อยรอดูกัน

ต่อไปเป็นเรื่องโปรเจกต์…

ตอนนี้ก็ศึกษาเกี่ยวกับ Zigbee ทั้งหมดเลยจริงๆ อ่านหนังสือ TEXT ของอาจารย์ที่ให้มาเริ่มได้เยอะมากหละ แล้วก้อพอเข้าใจบางส่วน

ที่พอจะเอาไปพรีเซ้นโปรเจ็กต์ได้แหละ

ที่ศึกษามาคราวนี้ลอกรายงานรุ่นพี่แทบไม่ได้ เพราะไม่มีใครเคยศึกษาลึกแบบนี้มาก่อนเลย เซงมาก ทั้งภาคอิเล็ก โทรคม คอมพิวเตอร์ สิ่งที่ศึกษาก้อจะเป็นลักษณะในเชิงด้าน IEEE 802.15.4 ซะมากกว่า ในส่วนของ Network Layer กับ Physical Layer ก้อเปนเรื่องที่เรียนใน OSI Layer ทั้ง 7 นั่นแหละคล้ายๆกัน เพียงแต่ตัดออกมาเพียงบางส่วน

ส่วนที่ยากน่าจะเป็น Application Layer ของตัว Zigbee เอง ซึ่ง ทำงานเป็นลักษณะ object เยอะเหมือนกัน แต่พอได้อ่านแล้วก้อเข้าใจบ้างแหละนะ

สิ่งที่ยากขึ้นไปอีกน่าจะเป็นตอนทำการทดลองอ่ะดิ ยังไม่รุ้เลยว่าจะทำการทดลองแบบไหนอ่ะเนี่ย

แต่ช่วงนี้เอารายงานให้ผ่านไปก่อนแล้วกันอ่ะนะ…

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

วันนี้ก็ได้ซื้อรองเท้าคู่ใหม่จนได้แหละ เพราะคู่เก่าแบบว่าไม่ไหวแล้ว BAPE แต่ว่าใส่มาคุ้มมากๆเลยคู่นั้น คิดดูใส่ไปเรียนตลอดเลยตั้งแต่ปีสองเทอมสอง ยันปีสี่เทอม 1 เพิ่งจะเสีย แบบคุ้มมากๆเลย คู่นั้นประมาณพันกว่าบาทได้มั้ง ฝากพี่ไก๋ซื้อมาจากฮ่องกง

คราวนี้ก้อเลยซื้อ Nike ที่ช๊อปใน MBK นั่นแหละ พอดีดูมาหลายทีหละ ราคาไม่ลดซะที กลัวคนสอยไปก้อเลยกัดฟันซื้อมา

รูปร่างเป็นเช่นนี้แล…

เป็น NIKE รุ่น AIR MAX 90 PREMIUM อ่ะนะ สี ดำ ขาว แดง ฟ้า ทอง ที่ใต้รองเท้านิดหน่อย ลองใส่แล้วรู้สึกว่าแจ่มมากๆ

ราคาก็ไม่ค่อยตลกเลย สังเกตได้จากป้ายราคาอ่ะนะ

แต่นานๆซื้อที คงไม่เปนไรมั้ง…??

สีสดมากๆ ชอบๆ ^^

หลังจากที่ซื้อรองเท้าเสด ก้อเลยไปดูหนังอ่ะนะ

หนังที่ดูวันนี้ก้อคือเรื่อง สิ่งเล็กๆที่เรียกว่ารัก

เจ๋งมากๆ หนังเรื่องนี้ มี 10 คะแนน ให้ 10 เต็มเลยจริงๆอ่ะนะ รู้สึกว่าหนัง GTH ทำออกมาตรงใจทุกเรื่องเลย

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

ประทับใจจริงๆ ฮ่าๆ

วันนี้อัพแค่นี้แหละ คงไม่ว่างมาอัพบ่อยนักเพราะว่างานเยอะมากๆช่วงนี้ -*-

Popularity: 9% [?]

ไม่ได้อัพนานเลย

2010.08.07
0:01

ต้องเล่าบ้างดีก่าไม่ได้มาพิมนานเลย

เริ่มแรกจากการเริ่มใช้งานกล้อง Nikon สองอาทิตย์แรกที่ผ่านมา รู้สึกว่าใช้คุ้มมั๊กๆ ได้ภาพแบบที่ต้องการมากมาย ทำให้เดวนี้รู้สึกว่าจะฮิตไปอัพรูปใน facebook แบบพี่ไก๋เลยอ่ะนะ

รูปนี้ตั้งไก๋ถ่ายตัวเองแล้วกระโดด 555+ มีขาตั้งจำลองคือ Infrared Remote ของกล้องนั้นเองแหละ!

อาทิตย์ก่อนที่ผ่านมา ก็นั่งทำโปรเจ็กต์อ่ะนะ

ตอนนี้ก็ถือว่าไปได้ไกลมากๆ ตอนนี้หา Zigbee ได้ครบแล้วทั้งหมด 4 ตัว เป็นแบบ Series2 ธรรมดา 1-2mW ทั้งหมด 3 ตัว แล้วก็ Pro Series2 50-60mW ทั้งหมด 1 ตัวนั่นเองฮ่าๆ พร้อมกับตอนนี้ได้ทำบอร์ดแบบ program มันได้ขึ้นมาทั้งหมด 3 บอร์ด แล้วก็บอร์ดสำหรับใช้งานกับ ARM7 ขึ้นมา 1 บอร์ดอ่ะนะ

อันนี้เป็น บอร์ดที่สำหรับใช้กับ ARM7 อ่ะนะ รู้สึกว่า ทำเส้นเล็กเกินไป ทำให้เวลาบัดกรียากมากๆเลย คงเข็ดไปอีกนานเหอๆ = =’

 

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

อันนี้ตัว prototype ที่ทำออกมาตอนแรกเลยอ่ะนะ แล้วก็ใช้ได้จริงๆด้วย ตอนนี้เพิ่ม switch สีฟ้าไปตัวนึง ไว้ตัดวงจร Max3232 อ่ะนะ ไม่ให้เสีย power เยอะเกินไป เวลาที่ไม่ได้ใช้งานโหมด Program

อันนี้บอร์ดตัวเล็กตอนประกอบ PCB และลงตัว Xbee เรียบร้อยแล้ว หน้าตาเปนงี้ เล็กกระทัดรัดดีมากๆแหละ

บอร์ดตอนนี้เท่าที่มีอยู่ ไว้ present โปรเจ็กต์อ่ะนะ

อันนี้ต่อ LED เล่นอ่ะนะ อยากเทสกล้องตอนมืดด้วย ก้อเลยเอามาถ่ายเล่นๆ งงชิบ สีสวยซะงั้น 55+ ชอบมากๆอ่ะรูปนี้…

เล่าเรื่องถึงการถ่ายรูป

อาทิตย์ก่อนนู้นน ตอนได้กล้องมาใหม่ๆ พี่ไก๋ก้อเลยพาไปถ่ายเล่นที่แถวๆข้างๆศูนย์หนังสือจุฬาอ่ะนะ ที่มันมีสวนสาธารณะแหละ

ก็ถ่ายๆ ได้มาหลายรูปเหมือนกัน แรงๆทั้งนั้น รู้สึกว่าขาตั้งกล้องจำเป็นนี่ต้องการบ่อยจริงๆ ทีหลังถ้าจะไปถ่ายคงจะแบกขาตั้งไปด้วยดีก่า เดวกล้องเปนรอยหมด เห่อๆ

รูปนี้กระโดดเล่น แรงเฉยอ่ะนะ…

และวันก่อนก็ได้เพิ่งซื้อตัว Bounce Flash ที่เป็นครีบหางปลาไป ก้อเลยเอามาเทสกะพี่ไก๋ซะเลย ปรากดว่า ดีมากๆ

ดีกว่าตัวเก่าที่เคยใช้กับ 430EXII อีกแหละ ตัวเก่าจะเป็นเหลี่ยมๆ แต่อันนี้รู้สึกว่ามันกระจายแสงได้เยอะมากๆเลยทีเดียวอ่ะนะ

พรุ่งนี้เรียน AUA ครั้งที่ 2 แล้ว

อาจารย์คนนี้ชื่อ SAM แหละ มาจากประเทศเกาหลี แต่ว่าพูดเกาหลีไม่ได้ เติบโตอยู่ที่เมกา ไปเรียนทนายความมา เบื่อๆก้อเลยกลายมาเป็นอาจารย์สอนภาษาอังกฤษที่ AUA ซะงั้นเลยอ่ะ = =’

แต่ว่าสอนโอเคดีเลยแหละ ไม่เครียดเท่าอาจารย์คนก่อนอ่ะนะ

วันนี้อัพแค่นี้แหละ พรุ่งนี้กลับบ้านหาแม่ดีก่า อาทิตย์หน้าวันแม่แล้ว ^____^’

Popularity: 3% [?]

Celebrate my birthday July,23 2010

2010.07.23
1:24

Hi everybody, At first tomorrow is July, 23 2010 as everybody knows that’s my birthday. I think these just normally one day form 365 days in one year.

This year was different for me. Everything changed in ways that I didn’t know how it could be. I had a lot of works to do. One thing is my senior project that’s very serious for me. I didn’t know how could it be. I tried to use MMA7455L with my Cortex-M3 but it didn’t success. At last MMA7455L was burned by me. There’s a lot of problems with this project. Now I’m working with a new one but new subject. The new one is about application with Zigbee and Study Zigbee topology. Zigbee topology’s different from OSI Layer7 topology so I’ve to study this subject for this first semester.

Let’s back to my birthday article. I tried to pretend my birthday really didn’t matter anymore and that there were other much more important things to think about. It is just like any other day.

So, Today I’ve been to LAOX shop at pantip plaza. I just brought my new digital camera for my gift. That’s Nikon D90 with 18-105mm lens and SB-600 (External Flash). Previously, I used Canon EOS 450D. I think this one worked for me. But nowadays many types of new technology are coming. I had sold my Canon Digital Camera and all equipment that’s 17-85mm lens, 430EXII external flash. One of the reason that I decided to sell because I had tried babydevil’s Nikon D90 and I was very impressed. It’s working perfect when I took a photograph at night or low light with ISO 3200.

This image’s Nikon D90 Box. It’s very big size of box, I think.

Left’s Nikon Bag. Right’s D90′s Box and SB-600′s Box.

D90 with 18-105 VR Kit lens.

one more picture.

Let’s see SB-600 external flash.

haha I am opening it.

Does everyone know that 430 EXII external flash is bigger than SB-600, isn’t it?

Let’s open next.

I think D90′s very smart and more bigger than Canon EOS 450D very much.

This one is 18-105 VR Lens kit.

Let’s see all that I bought it.

Just new camera.

Let’s talk about my new senior project.

This one I called “Zigbee Board”. It used for connect with PC or Zigbee Node to send data together.

I was working with them to create the Zigbee Board.

Connect node point to point by solder wire and mini-cable.

Test connected with Xbee Wireless Sensor.

I tested short-circuit with bias eneloop 4 batteries with about 5V and 2,000mA. The yellow light’s turned on so, I knew that this board isn’t short-circuit yet. (If short-circuit the yellow light will turn off and smoke out ha ha.)

Let’s see bottom view.

This one is Xbee converter board made by seegate circuit shop.

Zigbee Board prototype and Xbee Converter board.

I tested DB-9 on PCB connected with ET-USB/RS232.

This picture’s tested to connect with Zigbee Coordinator (Zigbee on my board is Router/End Device Mode).

Try to test signal form point to point.

It’s working. I’m very happy.

The next day I created a new one for Zigbee Board second node. Before is first node.

Copy like china product. Ha Ha!! I’m just kidding.

It’s working too.

Then installed these board with Zigbee Wireless Sensor.

Last picture, These can work together. Light red turned on show me that It’s connected together.

gonna go.

I think today is very long article.

See you soon.

Popularity: 100% [?]

Blog pages
My Recent Posts