ผู้เขียนบทความ
นายพัสกร ปานเส้ง
คณะวิศวกรรมศาสตร์ สาขาวิศวกรรมคอมพิวเตอร์
วิชา : 04-513-201 การโปรแกรมคอมพิวเตอร์ขั้นสูง 1/2568
1. ความเป็นมา
ในยุคปัจจุบัน ระบบติดตามตำแหน่งด้วย GPS ได้ถูกนำมาใช้อย่างแพร่หลายในหลายอุตสาหกรรม ไม่ว่าจะเป็นอุตสาหกรรมความบันเทิง อุตสาหกรรมการท่องเที่ยว อุตสาหกรรมการขนส่งสินค้า รวมถึงอุตสาหกรรมอาหาร ซึ่งแสดงให้เห็นถึงความสำคัญของเทคโนโลยีในการติดตามและควบคุมการดำเนินงานต่าง ๆ อย่างมีประสิทธิภาพ แม้ว่าจะมีระบบติดตามจำหน่ายอยู่มากมายในท้องตลาด แต่ระบบติดตามที่มาพร้อมกับฟังก์ชันตรวจสอบอุณหภูมิของสินค้านั้นยังมีน้อยและแทบไม่มีการใช้งานอย่างแพร่หลาย การขาดระบบเช่นนี้ทำให้การควบคุมคุณภาพและความปลอดภัยของสินค้าที่ต้องรักษาอุณหภูมิเป็นไปได้ยากและเพิ่มความยุ่งยากในการตรวจสอบและบริหารจัดการ
ด้วยเหตุนี้ โครงการนี้จึงถูกพัฒนาขึ้นเพื่อรวมระบบติดตามตำแหน่ง GPS เข้ากับระบบวัดอุณหภูมิภายในตู้สินค้าหรือคอนเทนเนอร์ โดยมีวัตถุประสงค์เพื่อเพิ่มประสิทธิภาพในการบริหารจัดการโลจิสติกส์และการติดตามรถบรรทุก ลดความเสี่ยงของการสูญเสียสินค้า และเสริมสร้างความน่าเชื่อถือในการขนส่งอาหารอย่างมีประสิทธิภาพมากยิ่งขึ้น
2. วัตถุประสงค์
2.1 เพื่อพัฒนาระบบติดตามที่มีฟังชั่นวัดอุณหภูมิภายในตู้สินค้า
2.2 เพื่อพัฒนาระบบที่มีค่าใช้จ่ายตำ่
2.3 เพื่อพัฒนาระบบที่ยังคงประสิทธิภาพความเเม่นยำของอุปกรณ์เเม้ต้นทุนตำ่
3. ขอบเขต
3.1 สามารถแสดงผลค่าของเซนเซอร์ เเละ ตำเเหน่งบนเว็ปไซต์ได้
3.2 สามารถนำค่าของข้อมูลเเละตำเเหน่งไปเก็บในฐานข้อมูลได้
3.3 สามารถวัดอุณหภูมิภายในตู้สินค้าที่มีความชื้นสูงได้
3.4 สามารถบอกตำเเหน่งของรถเเบบเรียลไทม์ได้
4. ประโยชน์ที่คาดว่าจะได้รับ
4.1 ได้ฐานข้อมูลการติดตามและวัดอุณหภูมิสำหรับวิเคราะห์และปรับปรุง
4.2 เพิ่มความปลอดภัยและคุณภาพของสินค้าแช่แข็งระหว่างการขนส่ง
4.3 เพิ่มความปลอดภัยและคุณภาพของสินค้าแช่แข็งระหว่างการขนส่ง
4.4 เป็นแนวทางในการวิจัยและพัฒนาระบบ IoT ด้านการขนส่งในอนาคต
5. ความรู้ที่เกี่ยวข้อง
ความรู้ที่เกี่ยวข้องด้านฮาร์ดแวร์ Hardware
5.1 ESP 32-c6-lcd
ESP32-C6-LCD เป็นไมโครคอนโทรลเลอร์ที่มาพร้อม จอ LCD ขนาด 1.47 นิ้ว รองรับ Wi-Fi 6 และ Bluetooth 5 (LE) โดยมี Waveshare เป็นผู้จัดจำหน่าย ข้อดีของรุ่นนี้คือ ขนาดเล็ก, มีจอ LCD ในตัว และสามารถเพิ่มหน่วยความจำได้ แต่ข้อเสียหลักคือ หาก LCD เสีย การหาจอเปลี่ยนค่อนข้างยาก เเละ เนื่องจากจอเชื่อมติดกับขา IC เฉพาะ ทำให้ไม่สามารถเปลี่ยนขาได้เหมือนจอแยกทั่วไป

บอร์ดไมโครคอนโทรลเลอร์รุ่น ESP32-C6 1.47 Waveshare ที่ใช้ในการพัฒนาระบบ
ที่มา : https://www.waveshare.com/img/devkit/ESP32-C6-LCD-1.47/ESP32-C6-LCD-1.47-details-3-2.jpg
5.2 MAX31865 เเละ PT100
PT100 เป็นอุปกรณ์วัดอุณหภูมิชนิดตัวต้านทาน (RTD) ซึ่งค่าต้านทานของมันจะเพิ่มขึ้นเมื่ออุณหภูมิสูงขึ้น และลดลงเมื่ออุณหภูมิต่ำลง โดยมักใช้ร่วมกับ MAX31865 ซึ่งทำหน้าที่จ่ายกระแสให้กับ PT100 และแปลงค่ากระแสหรือแรงดันที่ได้จาก PT100 ให้เป็นค่าอุณหภูมิ

เซนเซอร์วัดอุณหภูมิ pt100
ที่มา : https://m.media-amazon.com/images/I/61K0Q8nPTJL.jpg

ตัวแปลงค่าต้านทานเป็นอุณหภูมิ MAX31865
ที่มา:https://cdn.shopify.com/s/files/1/0672/9409/products/max-3186.jpg?v=1593088917
Adafruit_MAX31865.h ไลบารี่
#includeใช้สำหรับ รับค่าที่เเปลงเป็นอุณหภูมิเเล้วมาจาก MAX31865
5.3 GPS Neo-m7n
GPS Module NEO-7M เป็นโมดูลสำหรับรับสัญญาณดาวเทียม GPS เพื่อหาตำแหน่งบนโลก โมดูลนี้ใช้ชิป u-blox NEO-7M ซึ่งสามารถรับสัญญาณจากดาวเทียมหลายดวงพร้อมกัน ทำให้สามารถระบุตำแหน่งละติจูดและลองจิจูดได้อย่างแม่นยำ ประมาณ ±2.5 เมตรในสภาพปกติ โมดูลส่งข้อมูลตำแหน่งผ่านพอร์ต UART ในรูปแบบข้อความมาตรฐาน NMEA เช่น $GPGGA หรือ $GPRMC ซึ่งสามารถนำไปประมวลผลต่อเพื่อหาตำแหน่ง เวลา ความเร็ว หรือทิศทางการเดินทาง โมดูลนี้จึงมักถูกนำไปใช้ร่วมกับไมโครคอนโทรลเลอร์ เช่น Arduino หรือ ESP32 เพื่อติดตามตำแหน่งหรือสร้างระบบนำทางต่าง ๆ

โมดูลบอกตำแหน่ง GPS Neo7m
ที่มา:https://i0.wp.com/nauvitel.com/wp content/uploads/2023/11/neo7m-gps.webp?fit=750%2C750&ssl=1
TinyGPS++ เเละ HardwareSerial ไลบารี่
#include #includeใช้สำหรับรับค่าข้อมูลมาจาก GPS Module หลังจากเชื่อมดาวเทียมสำเร็จ
5.4 BMP280
BMP280 เป็นเซนเซอร์วัดอุณหภูมิและความดันอากาศขนาดเล็ก ส่งข้อมูลผ่าน I2C หรือ SPI สามารถใช้วัดความสูงหรือสภาพอากาศได้อย่างแม่นยำและกินไฟต่ำ

อุปกรณ์วัดความกดอากาศและอุณหภูมิภายนอก BMP280
ที่มา : https://www.google.com/url?sa=i&url=https%3A%2F%2Fkitsguru.com%2Fproducts%2Fhttps-kitsguru-com-products-bme280-temperature-and-humidity-atmospheric-pressure-sensor-module%3Fsrsltid%3DAfmBOopIgZUrwVftKUsQBQ8fOEzdxY0dvChTsQgiSw9rpiRCjooOWHb2&psig=AOvVaw025Pq6WFNUTDYPSgIXmmpg&ust=1762003049277000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqFwoTCOiGn4nDzpADFQAAAAAdAAAAABAE
Adafruit_BMP280 ไลบารี่
#includeไลบารี่สำหรับ รับค่าความกดอากาศ เเละ อุณหภูมิมาจากเซนเซอร์
5.4 OLED 0.96
อุปกรณ์อิเล็กทรอนิกส์ที่ใช้สำหรับแสดงผลข้อมูลและสถานะการเชื่อมต่อกับเซิฟเวอร์

ความรู้ที่เกี่ยวข้องด้านซอฟต์แวร์ Software
5.4 Docker
แพลตฟอร์มที่ใช้สำหรับดึงเซอร์วิสต่าง ๆ ทำหน้าที่รวบรวมและจัดการข้อมูลจากเซนเซอร์หลายประเภท เช่น เซนเซอร์ติดตาม หรือเซนเซอร์วัดอุณหภูมิ ข้อมูลจะถูกส่งต่อไปยังส่วนประมวลผลและการแสดงผล เพื่อให้ผู้ใช้ติดตามสถานะและตั้งค่าการแจ้งเตือนได้แบบเรียลไทม์

Docker pc สำหรับดึงเซอร์ววิส
ที่มา : https://logos-world.net/wp-content/uploads/2021/02/Docker-Logo-2017-present.jpg
5.5 MQTT
เซอร์วิสโบรเกอร์ที่ดึงมาจาก Docker เพื่อใช้ในการรับและส่งข้อมูลไปยังแพรตฟอร์มต่างๆซึ่งมีประสิทธิภาพที่สูง

MOSQUITTO Broker สำหรับรับส่งข้อมูล
ที่มา : https://www.deos-ag.com/wp-content/uploads/logo-mqtt-ver.png
WiFiClientSecure.h เเละ PubSubClient.h ไลบารี่
#include #includeใช้ WiFiClientSecure เพื่อเชื่อมต่อกับ HTTPS แบบปลอดภัย และใช้ PubSubClient สำหรับเชื่อมต่อผ่านโปรโตคอล MQTT
5.6 Node-red
เซอร์วิสที่ดึงลงมาจาก Docker เพื่อใช้สำหรับรับข้อมูลและทำการเก็บข้อมูลในฐานข้อมูลที่จัดทำขึ้นเพื่อเก็บเป็นสถิติ

เซอร์วิสสำหรับจัดการข้อมูล
ที่มา : https://upload.wikimedia.org/wikipedia/commons/2/2b/Node-red-icon.png
โค๊ดสำหรับดึง Service โดยใช้ไฟล์ compose
node_red: image: nodered/node-red volumes: – ./Data_service/Node_red/data:/data ports: – “1880:1880”รูปบล็อก Node-RED สำหรับเก็บข้อมูลในฐานข้อมูล

5.6 Postgres SQL
เซอร์วิสที่ดึงลงมาจาก Docker เพื่อใช้เป็นที่สำหรับการเก็บข้อมูลในฐานข้อมูล

ฐานข้อมูล
ที่มา : https://www.somkiat.cc/wp-content/uploads/2021/10/postgresql-database.png
โค๊ดสำหรับดึง Service โดยใช้ไฟล์ compose
image: postgres volumes: – ./Data_service/postgres/save_Data:/var/lib/postgresql/data ports: – “5432:5432” environment: – POSTGRES_USER=admin – POSTGRES_PASSWORD=admin – POSTGRES_DB=mydb