รีวิว SenseCAP K1100 : Sensor Prototype ด้วย LoRaWAN และ AI (Episode I)

ในยุคดิจิทัลที่ IoT และ Big data เป็นที่แพร่หลายมากขึ้น จำเป็นต้องมีการรวบรวมข้อมูลจำนวนมากผ่านเซ็นเซอร์ เพื่อทำให้เกิดการเปลี่ยนแปลงทางดิจิทัล ผลิตภัณฑ์ SenseCAP K1100 ของ SeeedStudio มาพร้อมกับเซ็นเซอร์และอุปกรณ์ที่จำเป็นทั้งหมด รวมถึง Wio Terminal, AI Vision Sensor และโมดูล LoRaWAN ด้วยชุดเครื่องมือ Plug-and-Play นี้ เราสามารถเพิ่ม AI ลงในอุปกรณ์ Edge ซึ่งช่วยให้ผู้ใช้สามารถสร้างเซ็นเซอร์ DIY สำหรับการรวบรวมข้อมูล และแก้ปัญหาความท้าทายในโลกแห่งความเป็นจริงได้

SenseCAP-K1100

IoT : Internet of Things “อินเตอร์เน็ตในทุกสิ่ง” หมายถึง การที่อุปกรณ์ต่างๆ ได้ถูกเชื่อมโยงทุกสิ่งทุกอย่างสู่โลกอินเตอร์เน็ต ทำให้เราสามารถสั่งการควบคุมการใช้งานอุปกรณ์ต่างๆ ผ่านทางเครือข่ายอินเตอร์เน็ต เช่น การเปิด-ปิด อุปกรณ์เครื่องใช้ไฟฟ้า รถยนต์ โทรศัพท์มือถือ เครื่องมือสื่อสาร เครื่องมือทางการเกษตร อาคาร บ้านเรือน เครื่องใช้ในชีวิตประจำวันต่างๆ

LoRaWAN : Long Range Wide Area Network ซึ่งเป็นเทคโนโลยีสัญญาณวิทยุที่อาศัยโปรโตคอล LoRa ที่ออกแบบมาเพื่อรองรับ การเชื่อมต่ออุปกรณ์แบบใช้พลังงานต่ำ และสื่อสารข้อมูลในระยะไกลข้ามเน็ตเวิร์ค กำลังเป็นที่นิยมมากในกลุ่มนักพัฒนา IoT เช่น การเชื่อมต่ออุปกรณ์อัจฉริยะต่างๆ

SenseCAP K1100 : The Sensor Prototype Kit with LoRaWAN and AI เป็นผลิตภัณ์ของ SeeedStudio รูปทรงค่อนข้างกระทัดรัดอยู่ใน Case พร้อมใช้งาน สำหรับนักพัฒนา ทดลองสร้างเป็นอุปกรณ์ต้นแบบ โดยปกติผลิตภัณฑ์ Wio Terminal จะรองรับการสื่อสารไร้สายแบบ Wi-Fi และ Bluetooth เท่านั้น แต่..เมื่อนำ Grove LoRa-E5 Module มาต่อเชื่อมร่วมด้วย ก็จะทำให้ Wio Terminal สามารถสื่อสารข้อมูลไร้สายแบบ LoRaWAN ได้ไกลมากขึ้นเป็นระยะทางหลายกิโลเมตร ในขณะที่ใช้พลังงานต่ำ ในการรีวิวครั้งนี้จึงมุ่งเน้นไปที่ การประยุกต์ใช้งานเซ็นเซอร์ร่วมกับระบบ LoRaWAN เป็นหลัก

SenseCAP K1100 ประกอบด้วยอุปกรณ์ต่างๆ ดังนี้

  •  Wio Terminal

Wio-Terminal-SenseCAP-K1100

SenseCAP-K1100-Wio-Terminal

สเปคของ Wio Terminal

  • MCU – ATSAMD51P19 ARM Cortex-M4F ทำงานที่ 120 MHz
  • Wi-Fi & Bluetooth – Realtek RTL8720DN ใช้งานได้ 2 ความถี่คือ 2.4 GHz และ 5 GHz
  • GPIO – 40 pin ตำแหน่งขาแบบเดียวกับ Raspberry Pi
  • Sensor on board
    • 3-axis digital accelerometer (LIS3DHTR)
    • Light sensor
    • Microphone & buzzer
    • IR emitter
  • LCD Screen 2.4 นิ้ว
  • TinyML (AI and Machine Learning)

สเปค-SenseCAP-K1100-Wio-Terminal SenseCAP-K1100-pinout

 

  • LoRa-E5 Module : Chip STM32WLE5JC รับส่งข้อมูลไร้สายตามมาตราฐาน LoRa กำลังขยาย RF 20.8 dBm รองรับย่านความถี่ EU868 / US915 / AU915 / AS923 / KR920
  • SHT40 Module : เซนเซอร์วัดอุณหภูมิ และความชื้นสัมพัทธ์ในอากาศ (Temperature and Humidity Sensor)
  • SGP30 Module : เซนเซอร์วัดคุณภาพอากาศ (VOC and และeCO2 Gas Sensor)
  • Soil Moisture Module : เซนเซอร์วัดความชื้นในดิน
  • Vision AI Module : ภาพเซนเซอร์กล้องถ่ายและวิดีโอ

 

ภาพเซนเซอร์กล้องถ่ายและวิดีโอ

หลักการทำงานของเซนเซอร์ SenseCAP K1100

  • เซนเซอร์วัดแสง : ใช้โฟโตอิเล็กทริกเป็นองค์ประกอบการตรวจจับ จะแปลงการเปลี่ยนแปลงของแสงที่วัดได้ เป็นการเปลี่ยนแปลงของสัญญาณไฟฟ้า

เซนเซอร์-วัดแสง-SenseCAP K1100

  • เซนเซอร์วัดอุณหภูมิ : ใช้วิธีเทอร์โมคัปเปิล ประกอบด้วยลวดโลหะ 2 ประเภทที่มีวัสดุต่างกัน ปลายด้านหนึ่งของสายไฟสองเส้นเชื่อมเข้าด้วยกัน เมื่ออุณหภูมิของปลายทำงานและปลายอิสระแตกต่างกัน ศักย์เทอร์โมอิเล็กทริกจะปรากฏการเปลี่ยนแปลงของแรงดันไฟฟ้าที่สามารถรับรู้ได้
  •  เซนเซอร์วัดความชื้นสัมพัทธ์ : วัดโดยใช้ฟิล์มโพลีเอมีนหรืออะซิเตทโพลีเมอร์ เมื่อฟิล์มดูดซับหรือสูญเสียน้ำ มันจะเปลี่ยนค่าคงที่ไดอิเล็กตริกระหว่างอิเล็กโทรดทั้งสอง ซึ่งจะทำให้ความจุของตัวเก็บประจุเปลี่ยนไป การเปลี่ยนแปลงในความจุสามารถบันทึกและแปลงโดยใช้วงจรการวัดภายนอก

กราฟ-อุณหภูมิ-SHT-40

การทดสอบ SenseCAP K1100

วัสดุที่ต้องเตรียม

  • Wio Terminal
  • USB Type-C cable
  • LoRa-E5 Module
  • SHT40 Module
  • Computer
  • LoRaWAN Gateway
  • LoRaWAN Cloud Platform

การเชื่อมต่อฮาร์ดแวร์

เรามาทดลองใช้งาน SenseCAP K1100 กัน โดยต่อวจรเซนเซอร์ SHT40 Module เพื่อวัดค่าอุณหภูมิและความชื้นสัมพัทธ์ในอากาศ + อ่านค่าเซนเซอร์แสงและเสียงจากไมค์โครโฟนจาก Wio Terminal และต่อบอร์ด LoRa-E5 Module เพื่อส่งค่าจากเซนเซอร์ต่างๆ ในรูปแบบไร้สายไปยัง LoRaWAN Gateway

เชื่อมต่อ-SenseCAP-K1100-SHT40-LoRaWAN-Module

ในส่วน Gateway เราใช้ LoRaWAN Multi-Channel Gateway ยี่ห้อ Dragino รุ่น LG308-AS923-TH-EC25 รองรับการเชื่อมต่ออินเทอร์เน็ต SIM 4G

LoRaWAN-Multi-Channel-Gateway

การติดตั้งซอฟต์แวร์

  • ดาวน์โหลด Arduino IDE
  • เพิ่มบอร์ด Wio Terminal: Arduino menu File -> Preferences คัดลอก https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json ไปวางไว้ที่ช่อง Additional Boards Manager URLs:
  • Click on Tools -> Board -> Board Manager และค้นหาคำว่า Wio Terminal
  • Tools -> Board -> เลือกบอร์ด Seeeduino Wio Terminal
  • เพิ่ม Library Source Code สำหรับเซ็นเซอร์ SHT40 (วัดอุณหภูมิและความชื้น) โดยดาวน์โหลดไฟล์ arduino-i2c-sht4x.zip
    sketch -> Include Library -> Add .ZIP Library -> เลือก arduino-i2c-sht4x
  • เพิ่ม Library Source Code สำหรับบอร์ด LoRa-E5 Module โดยดาวน์โหลดไฟล์ Disk91_LoRaE5.zip
    Sketch -> Include Library -> Add .ZIP Library -> เลือก Disk91_LoRaE5
  • เพิ่ม Library Source Code สำหรับจอภาพ LCD Wio Terminal โดยดาวน์โหลดไฟล์ Seeed_Arduino_LCD.zip
    sketch -> Include Library -> Add .ZIP Library -> เลือก Seeed_Arduino_LCD
  • เปิดโค้ดโปรแกรม LoRa-SHT40-TFT.ino

  • แก้ไขโปรแกรม เพื่อกำหนดข้อมูลที่จำเป็นสำหรับบอร์ด LoRaWAN ดังนี้
    • หมายเลข DevEUI จำนวน 8 byte
    • หมายเลข AppEUI จำนวน 8 byte
    • หมายเลข APPKEY จำนวน 16 byte
    • กำหนดการเชื่อมต่อเป็นแบบ OTAA
    • กำหนดย่านความถี่ใช้งานสำหรับประเทศไทย คือ AS923
  • Upload โปรแกรมลงไปที่บอร์ด Wio Terminal ซึ่งข้อดีของบอร์ดนี้คือ จะเข้าสู่โหมด Bootloader โดยอัตโนมัติ เราไม่ต้องกดปุ่มใดๆ บนบอร์ดนี้เลย

SenseCAP K1100 Arduino

  • เปิดโปรแกรม Serial Monitor แสดงผลการเชื่อมต่อ LoRaWAN Module กับ LoRaWAN Gateway หากทำการ Join กันได้สำเร็จ ก็จะแสดงค่าจากเซ็นเซอร์ Temperature = 25.46 องศา , Humidity = 58.39 % , Light = 7 % และ Microphone = 55 dBserial monitor

 

  • แสดงผลที่หน้าจอภาพ TFT LCD ของบอร์ด Wio Terminal

SenseCAP K1100 review LoRaWAN sensors

หลังจากที่บอร์ด Wio Terminal อ่านค่าจากเซนเซอร์ จะได้รับการเข้ารหัสแบบ BASE64 (ซึ่งจะแทนที่ข้อมูลด้วยตัวอักษร 64 ตัว) ข้อมูลเซนเซอร์และข้อมูลมาตราฐาน LoRa จะถูกเข้ารหัสอีกครั้งในรูปแบบของ AES-128 (Advanced Encryption Standard) และส่งข้อมูลแบบไร้สายออกมาทางบอร์ด LoRa-E5 Module ซึ่งหากอยู่ในรัศมีที่ LoRaWAN Gateway สามารถรับสัญญาณได้ ก็จะส่งต่อไปให้ LoRaWAN Network Server ต่อไป

 ปัญหาในการรีวิว

ระหว่างการเขียนโค้ดและ Flash program ลงบอร์ด Wio Terminal ผ่านทาง Arduino IDE ก็เกิดปัญหา Uploading ค้างตลอด เป็นเพราะพอร์ต USB ของคอมพิวเตอร์มองไม่เห็นตัวบอร์ด Wio Terminal ดังรูป
Device Manager

 

ถึงแม้ผู้รีวิวจะทำการจะทำการ Reset บอร์ด และเข้า Bootloader ด้วยวิธีทาง Manual หลายครั้งแล้วก็ตาม ก็ไม่เป็นผลแต่อย่างใด ทำให้การรีวิวต้องหยุดชะงัก ดำเนินการต่อไปไม่ได้ดังรูปReset Wio Terminal

หลังจากนั้นจึงติดต่อไปยังทีมงาน Technical support ของทาง SeeedStudio ได้ให้คำแนะนำกลับมา ซึ่งก็เหมือนกับวิธีที่ได้ทำมาก่อนหน้านี้ แต่ครั้งนี้ ผู้รีวิว กลับมาสะดุดกับคำเน้นๆ ที่ว่า “twice very quickly” ที่ผ่านมาเราก็กดปุ่ม 2 ครั้ง เร็วแล้วนะ หรือว่าเรายังเร็วไม่เพียงพอ จึงได้นำบอร์ด Wio Terminal มาทดลองใหม่อีกครั้ง (เป็นครั้งที่เท่าไรแล้วก็ไม่รู้ เพราะไม่เคยได้นับ) แต่..คราวนี้เน้นกดแบบรัวๆ เลย ปรากฎว่าคอมพิวเตอร์มองเห็นพอร์ต USB แล้ว จึงดำเนินการต่อ Sensor และ Flash program Uploading 100% ได้เป็นปกติเฉยเลย  สรุปก็คือหากบอร์ดมีอาการแฮ้งค์ค้าง จะต้องทำการ Reset โดยการเข้าสู่โหมด Bootloader ด้วยมือ ปัญหาก็คือ เราจะทราบได้อย่างไรว่า ขณะนี้เราเข้าสู่โหมดดังกล่าวแล้ว เนื่องจากไม่มีอะไรแสดงให้เรารู้นั่นเอง เรื่องนี้สอนให้รู้ว่า “ความไวเป็นเรื่องของปีศาจ”

Private LoRaWAN IoT On-Premise Platform

Private LoRaWAN IoT On-Premise Platform

เป็น IoT Platform ที่ผู้รีวิวติดตั้งขึ้นมาใช้งานเป็นการส่วนตัว เพื่อความสะดวกในการบริหารจัดการระบบ LoRaWAN ได้อย่างเบ็ดเสร็จ ประกอบด้วยซอฟท์แวร์ต่างๆ ที่จำเป็นในการใช้งาน ซึ่งอยู่ในรูปแบบของ Open Source ทั้งหมดดังนี้

  • ChirpStack: LoRaWAN Network and Application Server ทำการลงทะเบียนหมายเลขอุปกรณ์ LoRaWAN IoT และถอดรหัสข้อมูลที่ได้รับในรูปแบบ AES128 และมีตัวกลาง MQTT broker (Message Queuing Telemetry Transport) โดยทำหน้าที่เป็นผู้ส่ง (publish)

  • Node-RED : เป็นเครื่องมือพัฒนาแบบโฟลว์สำหรับการเขียนโปรแกรม โดยเป็นผู้รับ (subscribe) มาจาก ChirpStack ผ่านโปรโตคอล MQTT และนำข้อมูลจาก payload มาถอดรหัสตามรูปแบบ BASE64 ก็จะได้ข้อมูลที่ส่งมาจากเซนเซอร์ นำไปเก็บไว้ที่ InfluxDB และตรวจสอบกำหนดค่าแจ้งเตือนไปที่ LINE Notify Application

  • InfluxDB : Time Series Database ใช้เก็บข้อมูลที่มาจากเซนเซอร์และข้อมูลที่มาจาก LoRaWAN Gateway ไว้ในฐานข้อมูล โดยเรียงตามอนุกรมของเวลาโดยอัตโนมัติ ทำให้เราสามารถนำข้อมูลไปวิเคราะห์ หรือดูย้อนหลังได้ตลอดเวลา

 

  • Grafana : Real Time Dashboard นำข้อมูลจากฐานข้อมูลมาแสดงผลในรูปแบบต่างๆ

  • LINE Notify : เมื่อเซนเซอร์มีค่าสูงหรือต่ำกว่าที่กำหนดไว้ LINE Application จะแจ้งเตือนให้เราทราบผ่านทางระบบ LINE Notify เพียงครั้งเดียว แต่หาก Sensor มีค่าเปลี่ยนแปลงไปจากค่าตอนแรก ก็จกลับมาแจ้งเตือนอีกครั้งหนึ่ง นั่นหมายความว่า จะไม่มีการแจ้งเตือนกรณีที่มีค่าซ้ำๆ เดิม

SenseCAP K1100 เหมาะกับใคร?

สำหรับนักเรียน, นักศึกษา, นักทดลอง (maker) ที่สนใจชื่นชอบการประกอบวงจรตรวจวัดต่างๆ (Sensor) และเขียนโค๊ด (Coding) เพื่อพัฒนาสร้างเป็นอุปกรณ์ต้นแบบ (Prototype) หรือการทดสอบความเป็นไปได้ (PoC : Proof of Concept) ภายใต้การเชื่อมต่อแบบไร้สาย ตามคุณสมบัติมาตราฐานของ LoRaWAN โดยมีเซนเซอร์โมดูลให้เลือกใช้งานมากมาย https://www.seeedstudio.com/

ข้อเสนอแนะ

หากต้องการนำไปใช้งานจริง ควรเลือกใช้ Sensor ประเภท Industrial grade จะมีความเหมาะสมกับสภาพแวดล้อมจริงและให้ความน่าเชื่อถือได้มากกว่า https://www.seeedstudio.com/iot_into_the_wild.html

การรีวิว Episode II จะเป็นการใช้ Grove Vision AI module ทำการ Train Model จับภาพใบหน้า ว่ามีความแม่นยำเพียงใด (Face detection)

ฉันต้องขอขอบคุณบริษัท SeeedStudio ที่ส่งชุดผลิตภัณฑ์ SenseCAP K1100 มาให้ฉันรีวิวในครั้งนี้ ชุดผลิตภัณฑ์ SenseCAP K1100 ราคา $99.00 หรือ ~3,500฿

อ่านต่อ รีวิว SenseCAP K1100: AI Vision พบกับ LoRaWAN (Episode II)

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา