Tags:
Node Thumbnail

บอร์ด AIS NB-IoT นั้นเริ่มประกาศวางจำหน่ายมากตั้งแต่งาน AIS Vision 2018 ที่ผ่านมา และเพิ่งเริ่มส่งมอบบอร์ดจริงเมื่อเดือนพฤษภาคมนี้ หลังจากที่ประกาศเปิดเครือข่ายทั่วประเทศเรียบร้อยแล้ว

ทาง Blognone ได้รับบอร์ดทดสอบจาก AIS มาระยะหนึ่งแล้ว จึงมารายงานกัน

บอร์ด Devio NB-Shield I ไม่ใช่แค่บอร์ดอย่างเดียว แต่มาพร้อมกับ eSIM ในตัว และไลบรารี Arduino โดยตัวไลบรารีนั้นอยู่ใน Library Manager ของ Arduino IDE เรียบร้อย อันนี้ถือว่าตั้งใจทำดี

No Description

ตัว Shield คือการวางโมดูล Quectel BC95 ลงเป็น shield ของ Arduino โมดูลตัวนี้เชื่อมต่อกับชิปอื่นๆ ด้วย UART ที่ความเร็ว 9600bps ดังนั้นหากใครเห็นสเปค NB-IoT ที่ dl/up 24kbps/15.625kbps แล้วคิดว่ายังต่ำไปก็อาจจะพบว่าความเร็วจริงที่ได้ต่ำกว่านั้นเสียอีก เพราะติดความเร็วของตัว UART เอง

คำสั่งของ Quectel BC95 นั้นใช้คำสั่งแบบ AT มีเอกสารจาก Quectel ให้ดาวน์โหลด แสดงคำสั่งที่รองรับไว้ครบถ้วน แต่ผมเองไม่แน่ใจนักเครือข่ายของ AIS เปิดให้ใช้งานหมดหรือไม่ เช่นตัวผมเองลองพยายามส่ง SMS แล้วพบว่าไม่สำเร็จแต่อย่างใด (แต่อาจจะเป็นเพราะผมสร้างคำสั่งผิดเองก็ได้

ไลบรารี AIS_NB_BC95 บังคำสั่ง AT ของตัว BC95 ไว้ให้ ทำให้เรียกใช้งานโดยไม่ต้องส่งคำสั่ง AT เอง คำสั่งที่ไลบรารีรองรับมีดังนี้

  • ping ไอพีที่ระบุ
  • รับและส่งแพ็กเก็ต UDP ได้ อย่างไรก็ดี ขนาดแพ็กเก็ตสูงสุดคือ 512 ไบต์
  • เปิด/ปิด การเชื่อมต่อ
  • อ่านเวอร์ชั่นเฟิร์มแวร์
  • อ่าน IMEI หรือหมายเลขประจำโมดูล
  • อ่าน IMSI หรือหมายเลขประจำ SIM
  • อ่านค่าไอพีที่ได้รับจากเครือข่าย
  • อ่านความแรงสัญญาณ

ที่จริงแล้วคำสั่งที่น่าสนใจอีก 2 คำสั่งของ BC95 คงเป็นการอ่านค่าเวลา ที่ทำให้โมดูลไม่ต้องพึ่ง real-time clock (หรือหากมีอยู่แล้วก็ใช้นาฬิกาจากเสาสัญญาณโทรศัพท์เพิ่มความแม่นยำได้) แะคำสั่งส่ง SMS

ตัวบอร์ดออกแบบให้รองรับได้ทั้งบอร์ดที่มีพอร์ต serial เพียงช่องเดียว เช่น Arduino Uno โดยบอร์ดจะคอนฟิกให้ใช้ขาหมายเลข 8 และ 9 เป็น serial เพื่อเชื่อมต่อกับ Arduino แทนขา 0 และ 1 แต่มีจัมป์เปอร์ให้กลับมาใช้ขา O และ 1 ได้ด้วย โดยเลือกเสียบจัมป์เปอร์ฝั่ง HW จากเดิมที่ออกมาจากโรงงานจะเสียบฝั่ง SW ไว้

No Description

แพตช์เพิ่มไปอีกหน่อย เพื่อใช้งานกับ Arduino Leonardo

อย่างไรก็ตาม ตัวไลบรารีนั้นดูจะออกแบบให้ใช้งานกับบอร์ด Uno โดยเฉพาะ โดยไม่มีโค้ดรองรับบอร์ดอื่นแต่อย่างใด ผมเองได้ fork ไลบรารีออกมาเพื่อแก้ไขให้ใช้งานกับบอร์ด Leonardo ได้

No Description

สำหรับตัวเน็ตเวิร์ค NB-IoT ของ AIS ยังเป็นแบบ IPv4 และ NAT เอาไว้ ทำให้การส่งข้อมูลโดยตรง โดยไม่ต้องรอตัวบอร์ดส่งแพ็กเก็ตออกไปนั้นทำไ้ดยาก ผมเองพยายามดู IP และพอร์ตที่บอร์ดใช้ยิงแพ็กเก็ตออกมา แล้ว UDP ตรงเข้าไปก็ยังไม่สำเร็จแต่อย่างใด เราคงต้องรอ NB-IoT รองรับ IPv6 เพื่อให้สามารถสื่อสารกันโดยตรงได้ในอนาคต

ข้อจำกัดอย่างหนึ่งคือ latency ของเครือข่ายค่อนข้างสูง ผมทดลอง ping ไปยังเซิร์ฟเวอร์บน Google Cloud สิงคโปร์ พบว่าได้ระยะเวลา 900-1000ms ระยะเวลาขนาดนี้อาจจะทำให้งานบางอย่างที่ต้องการระยะเวลาตอบสนองสั้นๆ เช่น การควบคุมทางเข้าออกพนักงาน อาจจะไม่เหมาะนัก

บทสรุปหลังการใช้งาน

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

อย่างไรก็ดี บอร์ด Devio NB-Shield I และเครือข่าย NB-IoT ในตอนนี้ยังมีข้อจำกัดอยู่หลายอย่าง ทำให้แอปพลิเคชั่นแม้จะเหมาะกับเครือข่ายความเร็วต่ำๆ แต่หากพบกับข้อจำกัดของตัวบอร์ดก็อาจจะทำให้การพัฒนาทำได้ยากขึ้น เช่นการล็อกข้อมูลขนาดใหญ่เกิน 512 ไบต์ ในแต่ละรอบ หรือการส่งข้อมูลที่ต้องการเข้ารหัส และแม้ว่าทาง AIS จะให้ไลบรารีมาที่ดูจะช่วยให้ใช้งานได้ง่ายขึ้นแต่ผู้ใช้งานก็ต้องทำความเข้าใจและอาจจะต้องแก้ไขโค้ดกันเองบ้าง ดังนั้นก่อนสั่งบอร์ดนี้จึงควรตระหนักว่ามันเป็นบอร์ดสำหรับนักพัฒนา

Get latest news from Blognone

Comments

By: Architec
ContributorWindows PhoneAndroidWindows
on 29 May 2018 - 10:39 #1052154

จองรอบไหนครับถึงได้บอร์ดนี้มา

ตอนนั้นผมจองตามข่าว https://www.blognone.com/node/100076 แต่ก็ยังไม่ได้บอร์ดสักที

By: itpcc
ContributoriPhoneRed HatUbuntu
on 29 May 2018 - 12:02 #1052169
itpcc's picture

ดีครับ

ผมลองใช้งานมาพักหนึ่ง ถ้าไม่นับการต้องมาดีลกับขนาด packet ที่ได้น้อยมากก็ถือว่าโอเคครับ สัญญาณนิ่งดี ปัญหาจริงๆ อยู่ที่ support มากกว่าครับ ติดต่อยากเอาเรื่อง แถมข้อมูล​มีน้อยมาก กว่าผมจะรู้ว่ามี CoAP ให้ใช้ก็ต้องมีคนอื่นมาบอกอีก ?

ไหนๆ แล้ว ขอฝากบล็อกรีวิว NB-IoT ด้วยคนครับ​


บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P

By: Mike26
iPhoneAndroidBlackberryRed Hat
on 29 May 2018 - 15:57 #1052208
Mike26's picture

จะกลายเป็น board ยอดนิยมของโปรเจค เด็กปี 4

By: cittavuddho
iPhoneAndroidRed HatUbuntu
on 29 May 2018 - 21:23 #1052232 Reply to:1052208
cittavuddho's picture

เป็นความรู้ระดับปริญญาตรีหรือครับ สัก ม.3 เป็นไปได้ไหม

By: Architec
ContributorWindows PhoneAndroidWindows
on 29 May 2018 - 22:13 #1052236 Reply to:1052232

ได้หมดแหละครับ เหมือน RFID เมื่อสิบปีก่อน เอาไปใช้เป็นโปรเจคจบกันมาก สักพักก็เกร่อและเลิกเห่อไปเอง

(สมัยนั้นผมยังใช้ GPRS อยู่เลย)

By: semiauto
AndroidRed HatUbuntu
on 29 May 2018 - 22:19 #1052237

ผมก็ได้บอร์ดผ่าน Preorder มาแล้ว ยังไม่ได้ลองเล่นเลย ไว้ลองเล่นก่อนค่อยทำคลิปทีหลัง

By: LiteBeerse on 1 June 2018 - 19:15 #1052903

ผมนำBoardไปต่อกับArduino Leonardoแล้วลองuploadด้วยArduinoในmac แล้วก็Uploadผ่านนะครับ แต่Serial monitorไม่มีอะไรแสดงเลย หรือmacมีปัญหากับส่วนนี้ ผมต้องทำยังไงให้มันแสดงค่าครับ ขอบคุณครับ