Temasız sıcaklık nasıl kontrol edilir? Proje, mükemmel güvenlik için PIR algılama, IR kamera ve el hareketi tanıma teknolojilerini birleştiriyor.
https://www.hackster.io/rei-vilo/contactless-temperature-monitor-6fa25f
Donanım bileşenleri
Wio Terminal × 1
Grove El Hareketi Sensörü (PAJ7620U2) × 1
Grove – mini PIR hareket sensörü × 1
Grove AMG8833 8×8 Kızılötesi Termal Sıcaklık Sensörü Dizisi × 1
Grove I²C Hub 6 Port × 1
Hikaye
COVİD dönemlerinde temasız sıcaklık nasıl kontrol edilir? Proje, mükemmel güvenlik için PIR algılama, termal kamera ve el hareketi tanıma teknolojilerini birleştiriyor. Bir IoT uzantısı, uzaktan çalışmasını sağlıyor.
UYARI — Bu proje YALNIZCA EĞİTİM AMAÇLIdır ve etkili ateş tespiti için KULLANILMAMALIDIR. Uygun araçlar ve prosedürler için yerel sağlık otoritenizle iletişime geçin.
Nasıl çalışır
Temasız sıcaklık monitörü, sonlu durum makinesi etrafında inşa edilmiştir ve yedi aşama içerir.

Sonlu durum makinesi diyagramı
- Aşama 0: Başlatma
Sistem, sensörleri başlatır ve çalıştıklarını kontrol eder.
- Aşama 1: Uyku
Sistem düşük güç modundadır.
- Aşama 2: Uyanma
PIR sensörü, birini algıladığında sistemi uyandırır.
- Aşama 3: Fotoğraf çekme
IR kamera bir fotoğraf çeker ve ekran üzerinde görüntüler.
- Aşama 4: Sonuç
Eğer sıcaklık algılanmazsa, kişi yeşil ışık alır.
Bir süre sonra, sistem tekrar uyku moduna geçer.
- Aşama 5: Soru ve eylem
Aksi takdirde, bir kırmızı ışık yanar ve kişiye iki seçenek sunulur: ya başka bir fotoğraf çekmek ya da yardım çağırmak.
Seçenekler, ekran üzerinde ilgili el hareketleriyle görüntülenir: başka bir fotoğraf çekmek için sağdan sola, yardım çağırmak için soldan sağa.
- Aşama 6: Yardım çağırma
Yardım çağrısı WiFi üzerinden gerçekleştirilir.
Sistem daha sonra tekrar düşük güç moduna döner.
Donanımı hazırlayın
Sistemin merkezi Wio Terminal’dır. Güçlü bir MCU, renkli bir ekran ve sensörleri bağlamak için iki Grove konektörü içeren kompakt beyaz bir kasaya sahip olduğundan, ideal bir seçimdir.
Tüm sensörler Grove konektörünü kullanır. Bu, tüm uygulamaları hızlı, kolay ve güvenli bir şekilde inşa etmenin bir yolunu sağlar. IR kamera ve el hareketi sensörü, I²C hub aracılığıyla I²C Grove konektörüne bağlanır. PIR sensörü, GPIO Grove konektörüne bağlanır.

Grove konektörleri hataya yer bırakmaz ve birkaç dakika içinde bir devre kurar.
Wio Terminal’i ilk kez kullanıyorsanız, Wio Terminal ile Başlayın ve Kablosuz Çekirdek Yazılımını Güncelleyin. prosedürlerini takip etmeniz gerekebilir.
- Grove I²C hub’ı Wio Terminal I²C konektörüne bağlayın.
- Termal kamerayı ve hareket sensörünü Grove I²C hub’a bağlayın.
- IR sensörünü Wio Terminal GPIO konektörüne bağlayın.
- Son olarak, Wio Terminal’i bilgisayara bağlayın.
Yazılımı hazırlayın
Proje Arduino SDK’sına dayanmasına rağmen, projeyi geliştirmek için Arduino IDE yerine embedXcode, Xcode’da gömülü hesaplama kullandım, böylece daha iyi bir verimlilik sağladım.
Her Grove sensörü, Arduino SDK’sı için kendi kütüphanesi ile birlikte gelir, ekran ve WiFi radyo da öyle.
Proje, beş alt sistem içerir: PIR sensörü, LCD ekran, IR kamera, el hareketi sensörü, isteğe bağlı WiFi.
Her alt sistem önce ayrı ayrı test edildi, ardından ana projeye entegre edildi ve bir sonraki aşamaya geçmeden önce tamamen doğrulandı.
- Ekli projeyi indirin.
- Her alt sistem için kütüphaneleri indirin ve yükleyin:
- Ekran: Seeed_Arduino_LCD, Adafruit Zero DMA,
- Termal kamera: Seeed-AMG8833,
- Hareket sensörü: Gesture-PAJ7620,
- WiFi için MQTT: Seeed-Arduino-FreeRTOS, Seeed_Arduino_atUnified, Seeed-Studio/esp-at-lib, Seeed_Arduino_mbedtls ve PubSubClient; isteğe bağlı olarak Seeed_Arduino_atWiFiClientSecure.
Gerekirse, Kütüphane nasıl yüklenir prosedürüne başvurun.
- Projeyi oluşturun ve yükleyin.

Başarılı bir yükleme
Her alt sistem, detaylı bir wiki sayfası ile birlikte gelir: Wio Terminal, Wio Terminal WiFi, Wio Terminal ekranı, termal kamera, hareket sensörü.
Kod oldukça basittir çünkü proje, loop() fonksiyonu etrafında bir sonlu durum makinesi üzerine inşa edilmiştir. Bir C++ kütüphanesi, daha iyi tutarlılık için Gesture-PAJ7620 kodunu bir nesne olarak sarmalar. Free_Fonts.h dosyası, 320×240 ekran için fontları listeler.
Harika PubSubClient kütüphanesi MQTT özelliklerini sağlar. Ayrı bir dosya olan Credentials.h IoT uzantısı için kimlik bilgilerini içerir.
Hadi kullanalım!
- Aşama 0: Başlatma
Sistem, sensörleri başlatır ve çalıştıklarını kontrol eder.

- Aşama 1: Uyku
Sistem düşük güç modundadır. Ekran kapanır.
- Aşama 2: Uyanma
PIR sensörü, birini algıladığında sistemi uyandırır.

Ekran uyarı mesajını görüntüler.
- Aşama 3: Fotoğraf çekme
IR kamera fotoğraflar çeker ve bunları ekranda görüntüler.

Ekranın sağ tarafında, minimum ve maksimum sıcaklıkların °C cinsinden gösterildiği renk skalası görüntülenir.
- Aşama 4: Sonuç
Eğer sıcaklık algılanmazsa, kişi yeşil ışık alır.

Yeşil ışık!
Bir süre sonra, sistem tekrar uyku moduna geçer.
- Aşama 5: Soru ve eylem
Aksi takdirde, iki durum vardır: ya önceki adım kesin değildir ya da bir ateş algılanmıştır.
Eğer önceki adım kesin değilse, kişiye iki seçenek sunulur: ya başka bir fotoğraf çekmek ya da yardım çağırmak.

Tekrar deneyin!
Eğer bir ateş tespit edilirse, kişiye iki seçenek sunulur: ya başka bir fotoğraf çekmek ya da yardım çağırmak.

İyi haber değil
Seçenekler ekranda ilgili el hareketleriyle gösterilir: başka bir fotoğraf çekmek için sağdan sola, yardım çağırmak için soldan sağa.

Tekrar deniyorum!
Elin sola hareket ettirilmesi başka bir fotoğraf çeker.

Yardım çağırma
Elin sağa hareket ettirilmesi yardım çağırır.
- Aşama 6: Yardım çağırma
Yardım çağrısı WiFi üzerinden gerçekleştirilir.

Yardım bekleyin
Sistem daha sonra düşük güç moduna geri döner.
IoT uzantısını etkinleştirin
IoT uzantısı, bir Node-RED sunucusuyla bilgisayara bağlanmak için MQTT’ye dayanır.
Bir bilgisayarda, örneğin bir tek kartlı bilgisayarda:
- Node-RED’i yerel olarak, bir Raspberry Pi veya BeagleBone’da, bir Docker konteynerinde, bir Android cihazında kurmak için Başlarken prosedürünü izleyin.
- MQTT broker’ını kurmak için İkili Kurulum prosedürünü izleyin. İkili dosyalar Windows, macOS, çeşitli Linux sürümleri ve Raspberry Pi için mevcuttur.
- MQTT ve Node-RED’i başlatın.
- Gerekli düğümü
node-red-dashboardkurun. - Ekli Node-RED akışını içe aktarın ve Yayınla butonuna basın.

Yüklenmiş akış ile Node-RED IDE
- Bilgisayarı WiFi LAN’a bağlayın ve bilgisayarın IP adresini not edin,
192.168.1.10örneğinde olduğu gibi.
Arduino IDE’de,
- Projeyi açın.
- PubSubClient Kütüphanesi: MQTT için Arduino İstemcisi zaten kurulu olduğundan emin olun.
MQTT hakkında daha fazla bilgi için, Salman Faris’in Wio Terminal’da MQTT projesine başvurun.
- Kimlik bilgileri dosyasını
Credentials.holarak düzenleyin. -
OPTION_WIFIdeğerinin WiFi’yi etkinleştirmek için1olarak ayarlandığını kontrol edin.
////// @brief WiFi için seçenek/// @details 1=etkin, 0=devre dışı///#define OPTION_WIFI 1
- Bilgisayar IP adresini
brokerIPolarak ayarlayın.
/// /// @brief MQTT broker'ın IP adresi ///char brokerIP[] = "192.168.1.10";
-
ssidWiFivepasswordWiFideğerlerini yerel yapılandırmanızla eşleşecek şekilde girin.
////// @brief Ağ adı = SSID///char ssidWiFi[] = "ağ adım";////// @brief Ağ şifresi///char passwordWiFi[] = "ağ şifrem";
- Projeyi derleyin ve yükleyin.
- Node-RED’de, menüyü Görünüm > Gösterge Paneli seçerek gösterge panelini görüntüleyin.

Menü > Görünüm > Gösterge Paneli
- Tamam butonuna tıklayarak uyarıyı kabul edin.

Gösterge paneli iki termal resmi görüntüler. Solda, ölçek dinamik olup, aralığı tanımlamak için en düşük ve en yüksek sıcaklıkları gösterir. Burada, en yüksek sıcaklık 33.0 °C’dir, bu güvenlidir.
Sağda, ölçek 33.0’dan 42.5 °C’ye kadar mutlak bir ölçektir. Eşik 37.5 °C olarak ayarlanmıştır: lime 37.5 °C’nin hemen altında ve sarı hemen üstündedir.

Lime 37.5 °C’nin altında ve sarı üstünde.
Farklı aralık ve ölçeklere sahip iki termal resim, personelin ne yapacağına karar vermesine yardımcı olur.
Aşağıda, bir çay bardağı ile yapılan pozitif bir test. Ekranda önce:

Ve sonra gösterge panelinde:

Son olarak, iki alan daha sonuç ve önerilen eylemi verir. Eylem Yardım çağır olarak görüntülendiğinde, kişi personeli beklemektedir.
Yerel görüntüyü geliştirin
Varsayılan olarak, görüntülenen resim termal sensörle aynı çözünürlüğe sahiptir, yani 8×8 çözünürlüğündedir.

1 / 2 • Başlangıç 8×8 resmi ve…
Başlangıç resmi, daha güzel bir resim sağlamak için bi-kübik interpolasyon ile yeniden örneklenir, burada 16×16 çözünürlüğündedir.
ATSAMD51’in FPU’su, interpolasyon için gereken tüm hesaplamaları zahmetsizce yönetir.
Sonuç
Wio Terminal her şeyi yönetir: veri toplama ve işleme, görüntüleme ve standart MQTT protokolü ile WiFi iletişimi. Grove bağlantı noktaları, tüm sensörleri bağlamak için güvenli ve hızlı bir şekilde kullanılabilir, ister I²C ister dijital olsun.

Aşağıda projeyi geliştirmek ve yeni özellikler eklemek için bazı fikirler bulunmaktadır.
Daha ileri gitmek
Seçilen IR kamera, ±2.5°C hassasiyetle 8×8 matris sağlar. Daha iyi çözünürlük ve hassasiyet, Grove Termal Görüntüleme Kamerası – MLX90621 BAA 16×4 IR Dizisi 25° FOV (±1°C ±3% hassasiyet), Grove – Termal Görüntüleme Kamerası – MLX90641 BCA 16×12 IR Dizisi 110° FOV (±1.5℃ hassasiyet) veya Grove – Termal Görüntüleme Kamerası – MLX90640 32×24 IR Dizisi 110° FOV (±1.5℃ hassasiyet) gibi diğer Grove termal kameralarla elde edilebilir.
Tüm sistem, Wio Terminal Pil Şasisi – 6 Grove Arayüzü ile 650mAH Lityum Pil ile pillerle çalışabilir.
IoT tarafında, proje MQTT ve Node-RED ile yerel bir yönlendiriciye dayanır. Diğer seçenekler arasında, gösterge panelinden Wio Terminal ekranına gönderilen mesajları eklemek, dış bir MQTT broker’ı kullanmak (örneğin HiveMQ), WiFi’yi özel bir LAN sağlamak için erişim noktası olarak kullanmak, diğer protokollere (örneğin CoAP) ve üçüncü taraf hizmetlere (örneğin IFTTT ve Blynk) dayanmak yer alır.
Ayrıca, daha kolay bakım için firmware’in OTA güncellemesini de düşünmek gerekir.
Lütfen unutmayın:
UYARI — Bu proje YALNIZCA EĞİTİM AMAÇLIdır ve etkili ateş tespiti için KULLANILMAMALIDIR. Uygun araçlar ve prosedürler için yerel sağlık otoritenizle iletişime geçin.
Şemalar
Sonlu durum makinesi diyagramı
Projenin durumları ve geçişleri

Bağlantılar
Periferik cihazları Wio Terminal’e bağlamak için özel, hata yapmaya karşı korumalı Grove Kabloları kullanın.

