CAT LoRa Starter Kit ตอนที่ 5 เพิ่มฟังชันก์การวัดอุณหภูมิให้กับ CAT Lora Library

สวัสดีครับ ในตอนที่แล้วผมได้อธิบายการสร้างไลบรารี CAT LoRaไว้ใช้เองแบบง่าย ๆ ในบทความนี้เราจะมาทำการเพิ่มการอ่านอุณหภูมิ (Temperature) และความชื้นในอากาศ (Humidity) เนื่องจากในบอร์ด CAT LoRa Starter Kit ได้มีการใส่เซนเซอร์ HTS221 ไว้ให้แล้ว โดยเราจะนำไลบรารี่ที่ชื่อ SmartEverything HTS221 มาใช้ใน CAT LoRa Library ที่เราได้สร้างไว้

ติดตั้งไลบรารี่ SmartEverything HTS221

โดยไปที่ Manage Libraries แล้วคนหาไลบรารี่ชื่อ SmartEverything HTS221 จากนั้นทำการติดตั้งจนเสร็จ

เขียนโปรแกรม

ที่ไฟล์ CatLoRaS76S.h แก้ไขดังนี้

  1. include ไลบรารี่ SmartEverything HTS221 เข้ามาใช้งาน
  2. เพิ่ม getTemp() — เพื่อดึงค่าอุณหภูมิ
  3. เพิ่ม getHumi() — เพื่อดีงค่าความชื้น

ที่ไฟล์ CatLoRaS76S.cpp แก้ดังนี้

เมื่อแก้ไขแล้วจะได้ดังนี้

CatLoRaS76S.h

CatLoRaS76S.cpp

ทดสอบ

โดยเราจะเขียนโปรแกรมส่งค่าอุณหภูมิกับความชื้นขึ้นไปยัง Network Server โดยใช้รูปแบบดังนี้

รูปแบบ Payload → 01XXYY02XXYY

โดยที่
อุณหภูมิ → 01XXYY
ความชื้น → 02XXYY
XX = ค่า อุณหภูมิ/ความชื้น ในตำแหน่งจำนวนเต็ม
YY = ค่า อุณหภูมิ/ความชื้นในตำแหน่งทศนิยม

ตัวอย่าง
อุณหภูมิ 33.49 องศา จะได้เป็น 013349
ความชื้น 73.43 จะได้เป็น 027343
payload → 013349027343

ไฟล์ catLoraTest.ino ที่ทำการแก้ไขแล้ว

รันโปรแกรมแล้วจะได้ผลลับดังนี้

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

จากโปรแกรมท่เราเขียนขึ้นข้างต้น จะพบว่าการจะนำข้อมูลจากเซนเซอร์ส่งผ่านเครือข่าย lora ได้นั้นต้องทำการแปลงข้อมูลให้อยู่ในรูปแบบของเลขฐาน 16 ก่อน ดังเช่นในที่นี้เราได้กำหนดรูปแบบ Payload เป็น 01XXYY02XXYY ดังนั้นเพื่อให้ง่ายต่อการนำไปใช้งานเราสามารถสร้าง method เพิ่มเพื่อกำหนดรูปแบบของ Payload ที่เราต้องการไว้ใน Library ได้เลย เช่น รูปแบบของ CayenneLPP ดังนี้

“สำหรับรูปแบบ CayenneLPP Format ดูได้ที่ https://www.thethingsnetwork.org/docs/devices/arduino/api/cayennelpp.html

Last updated on CAT LoRa Library

CatLoRaS76S.h (last updated)

CatLoRaS76S.cpp (last updated)

บทความนี้ก็ขอจบเพียงเท่านี้นะครับ

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store