
โพสต์นี้กล่าวถึงเนื้อหาที่เพิ่มไปในหนังสือ "พัฒนาไอโอทีโดย ESP8266 และเน็ตพาย" ที่มอบให้กับผู้ฝึกอบรม เกี่ยวกับการใช้ไลบรารี EEPROM เขียนข้อมูล WiFi และ NETPIE ลงบนหน่วยความจำ Flash ของ NodeMCU โดยไม่ต้องแก้ไขโปรแกรมเพื่อคอมไพล์และโหลดใหม่ ซึ่งจะมีประโยชน์กรณีที่พัฒนาอุปกรณ์ IoT ให้บุคคลทั่วไปใช้งาน แต่ไม่ต้องการมอบ source code ไปด้วย หรือว่าให้กับผู้ใช้ที่ไม่มีความชำนาญในการเขียนโปรแกรม ซึ่งอาจพลาดไปแก้ไขส่วนอื่นๆ ทำให้อุปกรณ์ทำงานผิดพลาดและยากต่อการบำรุงรักษา วิธีการนี้จะมีคำสั่งให้ผู้ใช้งานสามารถป้อนข้อมูล ssid, password, APPID, KEY, SECRET, ALIAS ทางพอร์ตอนุกรมและเซฟลงบน EEPROM ซึ่งสามารถจะเปลี่ยนแปลงใหม่ได้ทุกเวลาตามที่ผู้ใช้งานกำหนด เพื่อความง่ายในการทดลอง โปรแกรมที่ใช้ประกอบการศึกษานี้จะไม่ต้องการฮาร์ดแวร์อื่นใดนอกจากบอร์ด NodeMCU V2 สิ่งที่ผู้อ่านต้องเตรียมไว้คือข้อมูล ssid, password จาก WiFi router ที่ใช้ และข้อมูล APPID, KEY, SECRET จากบัญชี NETPIE ของท่าน
ในการพัฒนาอุปกรณ์ IoT บางกรณีผู้ใช้ต้องการเก็บข้อมูลที่ปรับแต่งหรือแก้ไขแล้วเพื่อการใช้งานในครั้งต่อไป คือเก็บอย่างถาวรแม้ไม่มีไฟเลี้่ยงข้อมูลก็ไม่สูญหาย ถึงแม้ ESP8266 ไม่มีหน่วยความจำแบบ EEPROM แต่มีไลบรารีที่ยอมให้เขียนข้อมูลลงบน Flash ได้ ซึ่งจะยังคงอยู่เมื่อรีเซ็ตระบบหรือหยุดจ่ายไฟเลี้ยง แต่ต้องคำนึงด้วยว่าอายุการใช้งานการเขียน Flash จะน้อยกว่า EEPROM ข้อจำกัดอีกประการคือ ESP8266 ต้องจัดสรรหน่วยความจำที่ปกติใช้สำหรับโปรแกรมมาจำลอง EEPROM ดังนั้นขนาดหน่วยความจำที่ใช้ได้จะถูกจำกัดอยู่ที่ 4 – 4096 ไบต์ และการใช้งานร่วมกับ NEPIE จะต้องมีการปรับ offset เพื่อแยกพื้นที่ของผู้ใช้งานกับของ NETPIE Microgear มิให้ทับซ้อนกัน
เนื้อหาในหัวข้อ 3.3 และการทดลอง LAB 3.6 จะสาธิตการเขียน/อ่านข้อมูล WiFi และ NETPIE ที่อยู่ในรูปสตริงตัวอักษร และการอ่านเขียนข้อมูลตัวแปรแบบ float ในการใช้งานจริงคำสั่ง EEPROM.put() และ EEPROM.get() มีความยืดหยุ่นทำให้สามารถใช้กับตัวแปรประเภทต่างๆ ได้รวมถึงแบบ struct
ข้อมูลที่ต้องใช้สำหรับ LAB 3.6 คือ ssid, password ของ WiFi router และข้อมูล APPID, KEY, SECRET ตัวอย่างเช่นดังรูปด้านล่าง


หมายเหตุ :
- ในหนังสือจะเรียกหน่วยความจำส่วนที่ใช้เก็บข้อมูลถาวรของ ESP8266 ว่า EEPROM ตามชื่อไลบรารี ถึงแม้ว่าในทางปฏิบัติจะถูกจำลองโดยหน่วยความจำ Flash ก็ตาม
- เครดิตรูปที่ 3.24 จาก NETPIE group โพสต์โดย NEXPIE
เนื้อหาในส่วนนี้สามารถดาวน์โหลดศึกษาได้จากไฟล์ .pdf และโปรแกรมประกอบในลิงก์ด้านล่างนี้
No comments:
Post a Comment