Internet Rzeczy w pomiarach środowiskowych (24). Wykrywanie pożaru z użyciem kamery termowizyjnej

Internet Rzeczy w pomiarach środowiskowych (24). Wykrywanie pożaru z użyciem kamery termowizyjnej

Wykrywanie pożaru z zastosowaniem czujników pojedynczych cech, takich jak temperatura lub dym, ma poważne ograniczenia. Użycie do tego celu prostej kamery termowizyjnej obiecuje znaczną poprawę działania, zwłaszcza przy jednoczesnym zastosowaniu dobrego czujnika parametrów środowiska.

Podziękowania dla pana Macieja Michny z Centrum Badań i Rozwoju Nordic Semiconductor w Krakowie za udostępnienie zestawów sprzętowych Power Profiler Kit II (PPK2).

Proste i stosunkowo tanie kamery termowizyjne oferują spore możliwości przy niskim poborze mocy zasilania. Jednak wymaga to sporego nakładu pracy w celu uzyskania dobrej obsługi programowej. Zastosowanie platformy Raspberry Pico 2 i języka MicroPython ułatwia to zadanie.

Moduł kamery termowizyjnej z układem MLX90641

MLX90641 firmy Melexis to w pełni skalibrowana matryca termowizyjna IR o rozdzielczości 16×12 (192) pikseli, umieszczona w standardowej, 4-wyprowadzeniowej obudowie TO39 z cyfrowym interfejsem. Pomiary są wykonywane w sposób ciągły. Kamera ma zintegrowany czujnik temperatury otoczenia oraz czujnik zasilania, mierzący napięcie VDD. Wyniki pomiaru wszystkich czujników IR, Ta i VDD są przechowywane w wewnętrznej pamięci RAM i dostępne przez interfejs I²C. W projekcie został zastosowany moduł firmy Waveshare [3] (fotografia 1).

Fotografia 1. Kamera termowizyjna IR MLX90641 firmy Waveshare [3]

Parametry kamery MLX90641 [3]:

  • zakres pomiaru: od –40°C do 300°C,
  • rozdzielczość: 16×12 px,
  • dokładność: ±2°C (temperatura otoczenia od 0°C do 50°C),
  • częstotliwość odświeżania: od 0,5 Hz do 64 Hz,
  • napięcie zasilania: 3,3 V lub 5 V,
  • pobór prądu podczas pracy (typ): 12 mA,
  • pole widzenia FoV: 55°×35° oraz 110°×75°,
  • interfejs: I²C,
  • temperatura pracy: od –40°C do 125°C,
  • wymiary: 25×16 mm.

Czujnik BME688

Czujnik gazu BME688 firmy Bosch jest wytwarzany w technologii MOX [12]. Lista gazów, które mogą być wykrywane przez BME688, obejmuje niemal wszystkie lotne związki organiczne, lotne związki siarki oraz inne gazy, w tym tlenek węgla (CO) i wodór (H2) na poziomie ppb (parts per billion). Czujnik ma w obudowie otwór o średnicy mniejszej niż 1 mm. Dyfuzja gazu do środka i na zewnątrz obudowy trwa kilka sekund, nie ma potrzeby stosowania wymuszonego przepływu powietrza.

Moduł BME688 Breakout Board firmy pi3g zawiera układ BME688 firmy Bosch skonfigurowany do pracy z szyną I²C. Układ scalony BME688 jest zamontowany daleko od złączy płytki, co pozwala na poprawną pracę czujnika z daleka od źródeł ciepła. Moduł pobiera z zasilania 50 mA prądu.

Płytka RPi Pico 2 firmy Raspberry Pi

Nowe płytki Pico 2 i Pico 2W firmy Raspberry Pi z procesorem RP2350 są zgodne elektrycznie z płytkami Pico z pierwszej serii (Pico/Pico W) [1]. Na płytkach zostały zastosowane układy pamięci NOR Flash z serii W25Q (Winbond) o częstotliwości pracy do 133 MHz (przepustowość do 66 MB/s). Płytka Pico 2 zawiera przetwornicę buck-boost, która dostarcza napięcie 3,3 V do zasilania RP2350 i obwodów zewnętrznych z szerokiego zakresu napięć wejściowych (od 1,8 do 5,5 V). Umożliwia to znaczną elastyczność w zasilaniu urządzenia z różnych źródeł, takich jak pojedyncze ogniwo litowo-jonowe lub 3 ogniwa AA połączone szeregowo. W dokumentacji płytki pokazano, jak poprzez dodanie tranzystora P-MOSFET (np. IRF7425) można zrealizować potrzymanie bateryjne zasilania płytki [2].

Pico Inky Pack – moduł z wyświetlaczem e-Paper

Pico Inky Pack (PiM634) firmy Pimoroni to moduł z czarno-białym wyświetlaczem e-Paper o przekątnej 2,9” i rozdzielczości 296×128 px, przeznaczony do płytek z serii Raspberry Pi Pico. Ma wbudowany kontroler, który realizuje komunikację za pomocą interfejsu SPi. Pico Graphics to zunifikowana biblioteka grafiki i wyświetlania firmy Pimoroni, umożliwiająca sterowanie wyświetlaczami z Pico w języku MicroPython [8].

Cyfrowy miernik zużycia energii z układem INA219

INA219 firmy Texas Instruments to bocznik prądowy i monitor mocy z interfejsem zgodnym z I²C. Układ monitoruje zarówno spadek napięcia na boczniku, jak i napięcie zasilania magistrali, z programowalnymi czasami konwersji i filtrowaniem. Moduł cyfrowego miernika mocy I²C Digital Wattmeter (SEN0291) firmy DFRobot zawiera tylko układ INA219 z zewnętrznym rezystorem bocznikującym 0,01 Ω, złącze do zasilania i komunikacji I²C oraz złącze pomiarowe. Dokładny opis jest zamieszczony w artykule „UPS do Raspberry Pico/Pico 2” [11].

Moduł ładowarki akumulatora Li-Ion z układem TP4056

Układ TP4056 to scalona ładowarka pojedynczego ogniwa litowo-jonowego lub litowo-polimerowego (3,7 V), chroniąca akumulator przed nadmiernym ładowaniem lub rozładowaniem [6]. Ma dwa wyjścia stanu wskazujące ładowanie w toku (LED czerwona) i zakończenie ładowania (LED niebieska) oraz możliwość programowania wartości prądu ładowania do 1 A. Obsługuje pracę w trybie stałego prądu (CC) oraz stałego napięcia 4,2 V (CV). Obsługuje automatyczne przejście do uśpienia z prądem poniżej 2 μA.

Akumulator Li-Ion

Akumulator Li-Ion XTAR 18650 ma nominalne napięcie 3,7 V i pojemność 2600 mAh [9]. Dysponuje wbudowanymi zabezpieczeniami przed przeładowaniem, nadmiernym rozładowaniem, przeciążeniem i zwarciem.

Zmodyfikowany moduł DFRobot I²C ADS1115

Moduł I²C ADS1115 (DFR0553) firmy DFRobot [14] zawiera układ przetwornika analogowo-cyfrowego ADS1115. W celu zapewnienia optymalnych warunków zasilania, płytkę należy zmodyfikować zgodnie z opisem, który zamieściliśmy w poprzednich odcinkach niniejszego cyklu.

Ekspander szyny Pico

Ekspandery szyny Pico firmy Pimoroni są przeznaczone do płytek z serii Raspberry Pi Pico. Wyposażone zostały w jedno standardowe złącze żeńskie do bezpośredniego wpięcia modułu Pico oraz zestawy męskich listew 2×20 pinów, które umożliwiają podłączenie dodatkowych modułów rozszerzeń. Etykiety pinów umieszczone na górnej stronie płytki znacznie ułatwiają prototypowanie. Ekspander Pico Decker (Quad Expander) (PiM555) ma cztery zestawy męskich listew, a Pico Omnibus (Dual Expander) PiM556 – dwa zestawy.

Konfiguracja pomiarowa

Układ pomiarowy (fotografia tytułowa) został skompletowany w następującej konfiguracji (rysunek 1):

  • płytka Raspberry Pi Pico 2 [1],
  • moduł kamery MLX90641 [3],
  • wyświetlacz Pico Inky Pack (PiM634),
  • ekspander Pico Decker (PiM555),
  • czujnik środowiskowy BME688 [12],
  • DFRobot Gravity v2.1.0 (INA219) (I²C) [11],
  • akumulator Li-Ion 18650 XTAR 2600 mAh [9],
  • ładowarka TP4056 [6],
  • moduł buzzera z aktywnym generatorem [5],
  • tranzystor PMOSFET DMG2305UX.

Zmodyfikowany moduł DFRobot I²C ADS1115 (DFR0553) firmy DFRobot [14] (oznaczenie LDO na rysunku 1) został zastosowany jako LDO 3,3V z funkcją kluczowania zasilania modułu kamery.

Rysunek 1. Konfiguracja pomiarowa [13]

Przygotowanie środowiska programowego

Interpreter MicroPython firmy Pimoroni dla Pico 2 [7] zawiera dodatkowo sterowniki wielu czujników oraz wyświetlaczy, w tym Pico Inky Pack [8].

  1. Zmontuj elementy zgodnie z opisem.
  2. Pobierz najnowszy interpreter MicroPythona w pliku rpi_pico2-v0.1.0-micropython.uf2 ze strony firmy Pimoroni [7].
  3. Trzymając wciśnięty biały przycisk BOOTSEL podłącz płytkę Raspberry Pi Pico2 do komputera kablem microUSB. Jest ona widoczna jako dysk RP2350 w eksploratorze plików Windows.
  4. Skopiuj pobrany plik .uf2 na Raspberry Pi Pico2.
  5. W komputerze zainstaluj najnowszą wersję programu Thonny.
  6. Uruchom program Thonny.
  7. Kliknij na ikonkę trzech linii w prawym dolnym rogu i wybierz Configure interpreter.
  8. Ustaw typ interpretera na MicroPython (Raspberry Pi Pico).
  9. Z menu w prawym dolnym rogu wybierz MicroPython (Raspberry Pi Pico) · Board CDC @COMxx.
  10. Interpreter w polu Shell wyświetli informację o wersji:
  11. MicroPython pico2_w_2025_04_09, on 2025-04-15; Raspberry Pi Pico2 with RP2350
  12. Pobierz folder code z kodem aplikacji z repozytorium ep.com.pl/files/cst/13770.
  13. Otwórz w oknie Files folder code.
  14. Kliknij prawym klawiszem myszy na plik main.py i wybierz Upload to.
  15. Tak samo załaduj do płytki Pico 2 drugi plik ina219.py z tego folderu.

Oprogramowanie

Oprogramowanie zrealizowane w języku MicroPython bazuje na płytce Raspberry Pi Pico 2, kamerze MLX90641, czujniku środowiskowym BME688, wyświetlaczu Pico Inky Pack, płytce miernika prądu z układem INA219 oraz akumulatorze Li-Ion i ładowarce.

Projekt składa się z następujących plików:

  • main.py – pomiar wywoływany jest przerwaniem z użyciem timera, następnie uruchamiane jest zasilanie kamery. Po ustabilizowaniu działania kamery następuje zapis odczytanych danych oraz wywołanie algorytmu obróbki danych. Potem procesor odczytuje dane z BME688 oraz INA219, a zasilanie kamery zostaje wyłączone. Kolejnym etapem działania programu jest obróbka wszystkich danych oraz sprawdzenie, czy konieczne jest wywołanie alarmu. Wszystkie uzyskane dane są wyświetlane na ekranie e-Paper i w terminalu.
  • display.py odpowiada za poprawne wyświetlanie różnych ekranów i aktualizowanie ich zawartości.
  • data_holders.py zawiera własne klasy systemu, w tym: GatheredOverallData, Settings oraz AlarmHandler.
  • data_processing.py zawiera część funkcji obróbki danych, w tym algorytm wykrywania pożaru catch_fire, funkcje do wyświetlania odpowiednich danych na terminalu oraz obliczania poziomu naładowania akumulatora, zgodnie z przykładową charakterystyką napięciowo–pojemnościową akumulatora 18650.
  • mlx90641.py stanowi bibliotekę do obsługi kamery, umożliwiającą pobranie z niej potrzebnych danych.
  • ina219.py to sterownik układu miernika mocy INA219.

Po inicjalizacji procesora system przechodzi do stanu sleep z aktywnymi timerami. Cała funkcjonalność jest obsługiwana za pomocą przerwań.

Rysunek 2. Kamera MLX90641 skierowana na słońce [13] 
 

Testy działania kamery

Zastosowany model kamery termowizyjnej MLX90641 nie doczekał się jak dotąd wsparcia w języku MicroPython. Dlatego też została stworzona własna biblioteka w języku MicroPython, bazująca głównie na dokumentacji kamery. Przydatne były również fragmenty biblioteki układu MLX90640 [4], która znajduje się w repozytorium projektu (ep.com.pl/files/cst/13770).

Układ jest w stanie odczytywać dosyć dokładną wartość temperatury każdego piksela. Możliwe jest również zastosowanie korekty zakresu mierzonej temperatury. Zmierzona przez czujnik wartość temperatury otoczenia wydaje się jednak nie być precyzyjna.

W projekcie zaimplementowany został również przykładowy algorytm wykrywania obszarów o podwyższonej temperaturze, wraz z możliwością dostosowywania parametrów.

Mimo wąskiego kąta widzenia, czujnik pozwala na przetestowanie różnych sposobów wykrywania pożaru. Gdy obszar podwyższonej temperatury (ciemny kolor na rysunek 3) obejmie zbyt duży obszar, zostanie aktywowany alarm.

Rysunek 3. Reakcja układu MLX90641 na obecność płomienia i dymu – aktywacja alarmu [13]
 

Celem przeprowadzonych testów było sprawdzenie skuteczności działania zbudowanego układu, wyposażonego w kamerę termowizyjną MLX90641. Badania miały na celu ocenę jego działania w różnych warunkach. Sprawdzano również zdolności alarmowania w przypadku wykrycia źródeł ciepła o wysokiej temperaturze (innych niż płomień).

Testy odległościowe z użyciem świeczki

Kamera sprawnie wychwytuje podwyższenie temperatury, którego źródłem jest mały płomień w odległości 30 cm oraz 50 cm, zajmujący od 1 do 3 pól matrycy odczytywanej z kamery. W odległości 100 cm od kamery urządzenie nie jest w stanie wskazać ani jednego piksela kamery z temperaturą ponad 50°C, co skutkuje brakiem możliwości detekcji takiego źródła.

Testy z użyciem grilla

Testy z użyciem grilla polegały na powolnym oddalaniu się z układem do momentu, kiedy kamera przestanie wykrywać gorącego grilla o rozmiarach 25×35 cm (fotografia 2). Kamera wykrywała grilla na każdej odległości do 3 m. Następnie zwiększano odległość aż do momentu, kiedy grill przestał być wykrywany jako pożar – stało się to przy dystansie około 6 metrów.

Fotografia 2. Testy zasięgu kamery z zastosowaniem grilla [13]

Testy kątowe (pole widzenia)

Kamera sprawnie wychwytuje podwyższenie temperatury w zakresie 43° w pionie (21° w górę i 22° w dół) oraz 85° w poziomie (43° w lewo, 42° w prawo). W podanych kątach granicznych płomień wychwytywany jest w skrajnych kolumnach lub wierszach matrycy czujnika (fotografia 3).

Fotografia 3. Testy zakresu kątowego kamery [13]

Test wykrywania pożaru

Na koniec sprawdzono, czy urządzenie aktywuje alarm w sytuacji wykrycia nagłego wzrostu temperatury z innego źródła niż płomień. W tym celu przed urządzeniem postawione zostały kubki z wrzątkiem. Dobór symulacji miał odwzorować przykładową sytuację, gdy użytkownik przestrzeni, których monitorowanie było celem projektu (pracownie, stolarnie, warsztaty) wchodzi do pomieszczenia z ciepłym napojem.

Test zakończył się przewidywanym efektem – urządzenie wykryło podwyższoną temperaturę i uruchomiło alarm. Taka sytuacja mogłaby wystąpić, gdyby użytkownik znalazł się z takim obiektem zbyt blisko kamery.

Sprawdzono także, jak kamera zareaguje, gdy skierowana zostanie na rozgrzany do 80°C stół drukarki 3D. Zgodnie z założeniami projektu alarm się aktywował, a kamera wykryła bardzo duży obszar rozgrzany do 80°C. Co ciekawe, po zamknięciu drzwiczek w obudowie drukarki 3D pożar nie jest już wykrywany.

Z przeprowadzonych testów płyną następujące wnioski.

  • Kamera MLX90641 poprawnie wykrywa płonącą świeczkę odległości do 100 cm.
  • System wykrywa gorący grill do odległości 6 metrów. Świadczy to o poprawnym działaniu systemu. Dodatkowo system informuje o zjawisku skalowania rozmiaru wykrywanego źródła emitowanego promieniowania podczerwonego. Układ nie wykryje małego źródła ciepła z większych odległości, co eliminuje problem fałszywego wykrywania pożarów. Warto jednak uniknąć sytuacji w postaci zbyt bliskiego umiejscowienia kamery w stosunku do przestrzeni roboczej.
  • Pole widzenia kamery (kąty graniczne) pozwala na wiarygodne monitorowanie przestrzeni ograniczonej kątami 43° w pionie oraz 85° w poziomie.
  • System skutecznie reaguje na nagłe zmiany temperatury – alarm aktywował się w momencie dostrzeżenia wrzątku.

Testy działania czujnika BME688

Czujnik BME688 skutecznie sygnalizuje obecność różnych substancji lotnych, czego dowodem są znaczące zmiany wartości jego rezystancji w obecności wykrywanego gazu. Najsilniejszą reakcję zaobserwowano w przypadku dymu z kartki papieru oraz oparów izopropanolu. Warto zauważyć, że:

  • im niższa rezystancja „gazowa”, tym większe stężenie wykrytych związków lotnych,
  • po dłuższym nieużywaniu czujnik wymaga czasu na stabilizację odczytu po włączeniu zasilania,
  • reakcja jest natychmiastowa, ale powrót do wartości bazowej może być powolny.

Czujnik z powodzeniem zastosowano do detekcji oparów izopropanolu, zmywacza do paznokci oraz dezodorantu. W kolejnym teście została zbadana reakcja na dym powstały przy tleniu się kartki papieru. Wystąpiła silna odpowiedź sensora: im więcej dymu, tym niższa rezystancja.

Testy całego układu – czujnik BME688 + kamera MLX90641

Następnie zostały wykonane testy całościowego działania układu w dwóch scenariuszach środowiskowych:

  • nasłonecznienie – obecność silnego źródła ciepła (słońca) bez obecności gazów.
  • palnik + dym – obecność źródła wysokiej temperatury oraz gazów (dymu).

Celem testów było sprawdzenie, czy:

  • alarm nie zostaje wywołany w przypadku jedynie wysokiej temperatury (np. promieniowania słonecznego),
  • alarm aktywuje się poprawnie w przypadku jednoczesnej detekcji ciepła i obecności gazów (dymu),
  • reakcja układu jest wystarczająco szybka,
  • powrót do wartości normalnych po ustąpieniu zagrożenia następuje w rozsądnym czasie.

Nasłonecznienie – brak gazu, wysoka temperatura

Opis: Kamera termowizyjna MLX90641 została skierowana w kierunku słońca.

Na wyświetlaczu układu wyraźnie widoczna była wysoka temperatura w centralnym punkcie obrazu. W tym samym czasie czujnik BME688 nie wykazał obecności żadnych gazów w otoczeniu (rezystancja utrzymywała się na wysokim poziomie).

Obserwacja: Pomimo widocznego źródła wysokiej temperatury, system alarmowy nie został aktywowany.

Wnioski: Układ poprawnie rozpoznaje, że wysoka temperatura nie zawsze oznacza zagrożenie, jeśli nie towarzyszy jej obecność gazów.

Dodatkowo, aby zabezpieczyć układ przed rozpoznawaniem słońca jako ognia, zmieniono algorytm tak, aby nie wykrywał słońca jako ogień, ale palnik – już tak.

Palnik + dym – wysoka temperatura i obecność gazów

Opis: Kamera została skierowana w stronę zapalonego palnika w odległości 20 cm, zbliżono także do czujnika źródło dymu. W ciągu kilku sekund od wystawienia układu na działanie tej kombinacji bodźców wartość rezystancji gazowej gwałtownie spadła, a kamera wykazała wzrost temperatury w polu widzenia.

Obserwacja: System aktywnie zareagował – uruchomił się alarm dźwiękowy oraz wyświetlony został komunikat o zagrożeniu pożarowym.

Wnioski: Układ skutecznie rozpoznaje sytuację zagrożenia, gdy obecne są oba czynniki: wysoka temperatura i gazy.

Pomiary zużycia energii

Do dynamicznego pomiaru prądu zasilania zastosowano zestaw Power Profiler Kit II (PPK2) firmy Nordic Semiconductor [10].

Układ bez optymalizacji pobiera średnio 35 mA prądu z akumulatora o napięciu 3,7 V. Po zaimplementowaniu kluczowania zasilania kamery nastąpiło znaczne obniżenie poboru prądu do wartości około 20 mA.

Obecnie MicroPython nie udostępnia funkcji usypiania procesora RP2350. Jako rozwiązanie pomocnicze zastosowano obniżenie taktowania rdzenia, co dało następujące wyniki średniego poboru prądu całego układu:

  • 96 MHz, na poziomie 14 mA,
  • 36 MHz, na poziomie 10 mA,
  • 24 MHz, praca niestabilna.

Kompromis pomiędzy funkcjonalnością a zużyciem energii uzyskano dzięki zastosowaniu taktowania procesora sygnałem 18 MHz w stanie bezczynności oraz dynamicznego podbijania częstotliwości do 36 MHz tylko podczas pracy. Osiągnięto w ten sposób znaczącą redukcję poboru energii, głównie dzięki ograniczeniu częstotliwości taktowania CPU, zasilaniu elementów jedynie w czasie pracy, a także uproszczeniu logiki działania układu w trybie spoczynku. Pobór energii przez elementy peryferyjne został skutecznie zmarginalizowany – wyświetlacz, czujniki i inne komponenty zastosowano tak, aby pobierały jak najmniej mocy. Finalnie osiągnięto średni pobór prądu z pomiarami co 30 s o wartości 8,17 mA.

Profil poboru prądu zasilania przy napięciu akumulatora równym 3,719 V i przy pomiarach co 12 s pokazano na rysunku 4. Widoczne są piki prądu podczas włączania zasilania elementów składowych systemu. Zastosowano taktowanie procesora 128 MHz i 18 MHz. Czas pomiarów jest stosunkowo długi i wynosi ok. 2,5 s. Średni pobór prądu pozostaje stosunkowo niski, pomimo zwiększenia częstotliwości pomiarów.

Rysunek 4. Pomiar zasilania układu

Podsumowanie

Kamera termowizyjna MLX90641 oraz czujnik gazów BME688 dobrze współpracują, by dokładnie wykrywać realne zagrożenie pożarem – nawet w sytuacjach, w których sam czujnik temperatury mógłby dać fałszywy alarm (np. w bezpośrednim nasłonecznieniu).

Testy potwierdziły poprawne działanie zintegrowanego systemu czujnikowego. Układ błyskawicznie reaguje na pojawienie się zagrożenia, dając odpowiedź w czasie najbliższego pomiaru. Sygnalizacja nie uruchamia się przy samym wzroście temperatury, co zapobiega fałszywym alarmom. Powrót do wartości bazowych po ustąpieniu dymu jest stosunkowo wolny – czujnik gazowy potrzebuje czasu, by oczyścić się z pozostałości wykrywanych substancji.

Aby uzyskać poprawną pracę całości, kamera nie może zostać zablokowana przez jakikolwiek obiekt, choć duże pożary powinny skutecznie zostać wykryte ze względu na ogrzanie otoczenia oraz zjawisko odbijania promieniowania podczerwonego. Pożary tlące się powoli mogą zostać wykryte po długim czasie, ponieważ nie będą emitować znacznego promieniowania podczerwonego.

Poprawna implementacja głębokiego uśpienia procesora (deep sleep) może jeszcze bardziej ograniczyć zużycie energii – nawet do pojedynczych mikroamperów w stanie bezczynności.

Możliwa jest też dalsza optymalizacja kodu, w szczególności w zakresie obsługi kamery. Proces odczytu danych generuje wyraźne skoki poboru energii – można spróbować je obniżyć, redukując wykonywane operacje i nie obliczając dokładnej wartości temperatury, a zamiast tego porównując surowe dane. Usprawnienie tego procesu może przyczynić się do dalszego ograniczenia strat energetycznych.

Opis i realizacja oprogramowania bazuje na projekcie „Autonomiczny układ wykrywania pożaru”, wykonanego w ramach przedmiotu „Systemy dla Internetu Rzeczy” na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej przez zespół w składzie: Łukasz Gójski, Piotr Wawrzonkowski, Zuzanna Fabisiak i Weronika Przybył.

Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska

Literatura:
[1] Raspberry Pi Pico 2, https://www.raspberrypi.com/products/raspberry-pi-pico-2/
[2] RP2350 Datasheet, 2024-10-16, Raspberry Pi, https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
[3] MLX90641 IR Array Thermal Imaging Camera, 16×12 Pixels, 55° FOV, I²C SKU:20465, Waveshare, https://www.waveshare.com/mlx90641-d55-thermal-camera.htm
[4] MicroPython Driver for MLX90640 IR Camera, Michael-Sulyak, https://github.com/michael-sulyak/micropython-mlx90640
[5] Moduł z buzzerem aktywnym z generatorem – zielony Indeks: MOD-04526, Botland, https://botland.com.pl/buzzery-generatory-dzwieku/4526-modul-z-buzzerem-aktywnym-z-generatorem-zielony-5904422300654.html
[6] Moduł ładowarki akumulatora Li-Ion z układem TP4056 i złączem microUSB, Kamami, https://kamami.pl/ladowarki-li-po-moduly/562280-modul-ladowarki-akumulatora-li-ion-z-ukladem-tp4056-i-zlaczem-microusb-5906623455461.html
[7] Pimoroni Pico MicroPython for RP2350/Pico 2 boards, https://github.com/pimoroni/pimoroni-pico-rp2350
[8] Pico Graphics, Pimoroni, https://github.com/pimoroni/pimoroni-pico/tree/main/micropython/modules/picographics
[9] Akumulator Li-Ion Xtar 18650 3,7 V 2600 mAh z zabezpieczeniem, Kamami, https://kamami.pl/akumulatory/579126-akumulator-li-ion-xtar-18650-37v-2600mah-z-zabezpieczeniem-6952918340263.html
[10] Profilowanie mocy z zastosowaniem Power Profiler Kit II, Henryk A. Kowalski, EP 5/2022, https://ep.com.pl/kursy/15267-systemy-dla-internetu-rzeczy-60-profilowanie-mocy-z-zastosowaniem-power-profiler-kit-ii
[11] UPS do Raspberry Pico/Pico 2, Henryk A. Kowalski, EP 11/2025, https://ep.com.pl/projekty/moduly-w-aplikacjach/16653-internet-rzeczy-w-pomiarach-srodowiskowych-23-ups-do-raspberry-pico-pico-2
[12] Bosch gas sensor BME688, Bosch Sensortec, https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/#documents
[13] Autonomiczny układ wykrywania pożaru, Raport projektowy, Łukasz Gójski, Piotr Wawrzonkowski, Zuzanna Fabisiak i Weronika Przybył, 2025
[14] Gravity: I²C ADS1115 16-Bit ADC Module, DFR0553, DFRobot, https://www.dfrobot.com/product-1730.html

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik styczeń 2026

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio styczeń - luty 2026

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2025

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2025

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich luty 2026

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów