กลับไปหน้ารวมไฟล์
covid19-realtime-monitor-04050e.md

title: Coronavirus (COVID-19) Tracker description: ติดตามสถานการณ์การแพร่ระบาดของไวรัสโคโรนาทั่วโลกแบบ Real-time ผ่านหน้าจอ TFT Touchscreen ด้วย Arduino MKR

ในยุคที่ข้อมูลข่าวสารมีความสำคัญอย่างยิ่ง โปรเจกต์ Coronavirus Tracker ขนาดจิ๋วนี้จะช่วยให้คุณก้าวทันสถานการณ์การแพร่ระบาดของ COVID-19 ได้จากบนโต๊ะทำงานของคุณโดยตรง ระบบจะทำการดึงข้อมูลล่าสุดจากทั่วโลกและแสดงผลสลับไปมาระหว่างประเทศต่างๆ ที่คุณสนใจ เพื่อให้คุณเห็นภาพรวมของสถานการณ์ได้แบบวินาทีต่อวินาที

ข้อมูลทั้งหมดที่แสดงผลถูกรวบรวมและอ้างอิงมาจากแหล่งข้อมูลที่น่าเชื่อถือระดับโลกอย่าง www.worldometers.info/coronavirus/ ซึ่งเป็นเว็บไซต์ที่รายงานสถิติผู้ติดเชื้อและผู้เสียชีวิตที่ได้รับการยอมรับในระดับสากล

รายละเอียดอุปกรณ์ (Hardware Analysis)

หัวใจหลักของโปรเจกต์นี้คือการเลือกใช้แพลตฟอร์มที่มีประสิทธิภาพและง่ายต่อการประกอบ ผมได้เลือกใช้ชุดคิท AZ-Touch สำหรับ Arduino MKR เป็นโครงสร้างหลักทางฮาร์ดแวร์

ชุดคิท AZ-Touch สำหรับ Arduino MKR ในรูปแบบ Smart Case ที่สวยงาม

วิเคราะห์ส่วนประกอบสำคัญ:

  1. Arduino MKR WiFi 1010: บอร์ดไมโครคอนโทรลเลอร์ที่ใช้ชิป SAMD21 (32-bit Arm® Cortex®-M0+) ซึ่งมีประสิทธิภาพสูงและประหยัดพลังงาน มาพร้อมกับโมดูล WiFi NINA-W102 สำหรับการเชื่อมต่ออินเทอร์เน็ต และชิป CryptoAuthentication (ECC608) ที่ช่วยจัดการเรื่องการเข้ารหัสข้อมูล SSL ได้อย่างปลอดภัย
  2. AZ-Touch Hardware: ชุดคิทนี้มาพร้อมกับหน้าจอสัมผัส (Touchscreen) แบบ TFT ขนาด 2.4 นิ้ว ความละเอียด 320x240 พิกเซล ซึ่งเพียงพอสำหรับการแสดงผลตัวเลขสถิติและชื่อประเทศได้อย่างชัดเจน นอกจากนี้ยังมีตัวเคสที่ออกแบบมามาเป็นอย่างดี เหมาะสำหรับการตั้งโชว์หรือติดตั้งบนผนัง

การพัฒนาซอฟต์แวร์และการรักษาความปลอดภัย (Software & SSL)

เนื่องจากเว็บไซต์ Worldometers ใช้โปรโตคอล HTTPS เพื่อความปลอดภัย ข้อมูลที่ส่งผ่านเครือข่ายจึงถูกเข้ารหัส (Encryption) การที่ Arduino MKR WiFi 1010 จะดึงข้อมูลเหล่านี้ได้ จึงจำเป็นต้องมีการยืนยันตัวตนผ่าน SSL Certificate

ขั้นตอนที่สำคัญที่สุด: คุณต้องทำการเพิ่ม URL worldometers.info ลงในหน่วยความจำของบอร์ด WiFi ผ่านเครื่องมือ WiFi101 / WiFiNINA Firmware Updater ใน Arduino IDE เพื่อให้บอร์ดสามารถยอมรับการเชื่อมต่อแบบ Secure กับเว็บไซต์เป้าหมายได้

การอัปโหลด SSL Root Certificate เพื่อให้บอร์ดสามารถสื่อสารผ่าน HTTPS ได้อย่างสมบูรณ์

การทำงานของโปรแกรม (Code Logic)

การทำงานของซอร์สโค้ดถูกออกแบบมาในลักษณะ Sequential Tasking โดยมีขั้นตอนการทำงานหลักดังนี้:

  1. WiFi Connection: เริ่มต้นด้วยการเชื่อมต่อเข้ากับเครือข่าย WiFi ผ่าน SSID และ Password ที่กำหนด
  2. HTTPS Request: บอร์ดจะส่งคำสั่ง HTTP GET ไปยังเซิร์ฟเวอร์ Worldometers เพื่อดึงข้อมูล Raw HTML หรือ JSON (ขึ้นอยู่กับ API ที่เรียกใช้)
  3. Data Parsing: ระบบจะทำการค้นหาคีย์เวิร์ดของประเทศที่คุณกำหนดไว้ และดึงเอาตัวเลข "Total Cases", "Deaths", และ "Recovered" ออกมา
  4. Display Loop: ข้อมูลจะถูกส่งไปแสดงผลบนหน้าจอ TFT โดยใช้ไลบรารีสำหรับการวาดกราฟิก เพื่อจัดวางข้อความให้อยู่ในตำแหน่งที่อ่านง่าย

คุณสามารถปรับแต่งโปรแกรมได้ง่ายๆ โดยการเพิ่ม ลด หรือเปลี่ยนชื่อประเทศที่ต้องการติดตามในฟังก์ชัน loop() ของโปรแกรมหลักตามความสนใจของคุณ

ตัวอย่างโค้ดในส่วนของการเรียกข้อมูลรายประเทศ (Customizing Country List)

คำแนะนำเพิ่มเติม: ในการระบุชื่อประเทศ โปรดตรวจสอบให้แน่ใจว่าชื่อที่ใช้ในโค้ดตรงกับชื่อประเทศที่แสดงบนเว็บไซต์ www.worldometers.info/coronavirus/ ทุกประการ (ตัวสะกดและเว้นวรรค) เพื่อให้ฟังก์ชันการค้นหาข้อมูลทำงานได้อย่างถูกต้องแม่นยำ

ข้อมูล Frontmatter ดั้งเดิม

title: "COVID19 Realtime Monitor"
description: "This small project shows the current data of coronavirus outbreak of different countries in realtime on a 2.4 inch TFT."
author: "hwhardsoft"
category: "Screens & Displays"
tags:
  - "iot"
  - "health"
  - "covid19"
  - "monitoring"
views: 41251
likes: 40
price: 2450
difficulty: "Intermediate"
components:
  - "1x AZ-Touch"
  - "1x Arduino MKR WiFi 1010"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/HWHardsoft/COVID19-Tracker-ESP32"
  - "https://github.com/HWHardsoft/COVID19-Tracker-ESP32"
  - "https://github.com/HWHardsoft/COVID19-Tracker-Arduino-MKR"
documentationLinks: []
passwordHash: "8f391dbe301752521f7db0c9cc521feeb80faf1384d438a3bacb5847ae8cc414"
encryptedPayload: "U2FsdGVkX1/L1QZnDOvwBwN7Q/8xtC0w0QvlpuEGz5bUuwbnYTpjrNIpIPQeEcZrptMSEPlmn40ofVQcqlnGzBi3AIdBNKuTNZuT463kPaA="
seoDescription: "Monitor global COVID19 outbreak data in realtime using this Arduino project with a 2.4 inch TFT display. Stay updated with current statistics."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/covid19-realtime-monitor-04050e_cover.jpg"
lang: "en"