หลังจากที่ได้ทำการสั่งซื้ออุปกรณ์อิเล็กทรอนิกส์จากต่างประเทศผ่านเว็บ RS Components Thailand ซึ่งอยู่ในช่วงจัดโปรโมชันสั่งซื้อโดยไม่เสียค่าจัดส่งสินค้า ทำให้ประหยัดงบไปได้ ถ้าที่อื่นไม่เสียค่าใช้จ่ายการจัดส่งที่แพงผมว่ายอดจำหน่ายสินค้าน่าจะมากเพราะอีกฝั่งหนึ่งของโลกก็ต้องการ Source ที่ราคาไม่แพง ทำให้ลดต้นทุนสำหรับผลิตสินค้าได้อีกทาง
ผมสั่งซื้อ PIC32MX340F512H(ES.co.th ไม่มีรายการนี้) และ MRF24WG0MA/MRF24WG0MB(ซื้อที่ Microchip Direct) ซื้ออย่างละตัวเป็นเงินจำนวนหนึ่งเพราะที่ Microchip Direct เสียค่าจัดส่งครับ
บอร์ดทดลอง PIC32MX340
Hardware อินเตอร์เฟสกับอุปกรณ์ดังนี้
- ENC28J60 Module เป็นบอร์ด Ethernet LAN
- MRF24WG0MA/MRF24WG0MB คือ WiFi Module สำหรับสื่อสารข้อมูลแบบไร้สาย
- 25LC512 EEPROM จัดเก็บค่าคอนฟิกของระบบ
- SD Card สำหรับ Data Logger และ Web Server ใน SD Card
จากที่ผมต่ออินเตอร์เฟสกับอุปกรณ์ดังรูปภาพ(MRF24WG0MA/MRF24WG0MB ยังไม่ได้ทดสอบ) และใช้ Library ของ Microchip ล่าสุดในขณะนี้คือ Microchip Application Libraries v2013-02-15 การต่ออินเตอร์เฟสกับอุปกรณ์สามารถทำงานได้เป็นอย่างดี แต่ติดปัญหาอยู่ในส่วนของ Web Server เมื่อผมพยายามจัดเก็บ Web Source ใน SD Card จะบนว่า TCP Stack ไม่สามารถทำงานในส่วนของ Variable ที่ทำงานอยู่ในส่วน CGI ซึ่งการเขียนโค้ด Variable ดังนี้
~hellomsg~ ตัวแปรเพื่อแสดงข้อความ Hello~version~ ตัวแปรเพื่อแสดง Version
~builddate~ ตัวแปรเพื่อแสดงวันที่ทำการคอมไฟล์โปรแกรม
Web Server บน SD Card แสดงดังรูปภาพ
หากต้องการจะจัดเก็บเว็บลงใน SD Card ต้องลงไปแก้ไขบักส่วนนี้ หรือถ้าหากต้องการเลี่ยงไม่ใช้งาน Web Server ใน Sd Card ให้กลับไปใช้ MPFSImg ในส่วนการจัดเก็บลงใน 25LC512 ทั้งนี้จะมีข้อจำกัดเรื่องขนาดของเว็บ หรือไม่ให้ก็จัดเก็บลงใน Flash Memory ของ PIC32MX แต่ก็จะทำให้สิ้นเปลืองหน่วยความจำสำหรับจัดเก็บโค้ดโปรแกรม หรือไม่ก็ไปจัดเก็บใน External Flash Memory ซึ่ง Chip ที่ Stack รองรับคือ SST25VFxxxB ซึ่งสามารถจัดเก็บได้มากกกว่าเบอร์ 25LC512
อ้างอิง