Skocz do zawartości

Pomocna odpowiedź

Napisano

Siema! Chciałem przedstawić Wam mój pierwszy projekt inteligentnego czujnika do komputera. Cały pomysł zrodził się po obejrzeniu filmów Zmaslo, a ostatecznym impulsem było pytanie mojego kumpla, który całkiem serio zadał mi ciekawą rozkminę: „Ty, a mogę dać zwykłą taśmę termoprzewodzącą na procesor zamiast pasty?”. Zamiast po prostu odpowiedzieć mu na sucho, temat dał mi mocno do myślenia. Mając już wcześniej zajawkę na IoT stwierdziłem, że muszę zbudować coś, co czarno na białym sprawdzi, czy w obudowie jest optymalny przepływ powietrza i kiedy tak naprawdę pora na wymianę pasty lub termopadów.

Założenie jest proste: miniaturowy czujnik, który wrzucam do obudowy komputera. Aktualnie układ działa całkowicie offline (zdjęcia wrzucam niżej). Pokazuje temperaturę i wilgotność, wyciąga średnią z pomiarów i monitoruje napięcie baterii. Wszystko wyświetla się na małym OLED-zie 0.96". Ze względu na to, że potrzebowałem go „na już”, nie rysowałem jeszcze schematu, a pierwszą wersję kodu wygenerowało mi AI, żeby po prostu postawić sprzęt na nogi i sprawdzić podzespoły.

Ale to dopiero początek zabawy, bo traktuję ten projekt jako poligon doświadczalny i chcę sprawdzić realne różnice w zużyciu energii:

Język programowania: Python (MicroPython) kontra czyste C.

Transmisja danych: wysyłanie pakietów przez BLE do brokera kontra klasyczne Wi-Fi.

Hardware opiera się na mikroskopijnej płytce ESP32-S3 SuperMini i czujniku GY-21 (HTU21D). Całość zasila... odzyskane ze zużytego e-papierosa ogniwo 14650 o pojemności 850 mAh.

Na ten moment sprawdzam stabilność układu w ciągłej pętli i muszę przyznać, że strasznie złapałem bakcyla na grubsze projekty. Docelowo system ma działać tak: po kliknięciu fizycznego przycisku czujnik odpala sesję pomiarową, co minutę wybudza się z Deep Sleep, robi strzał i zapisuje dane do pliku pomiar_x.csv. Na tej podstawie będę mógł idealnie przeanalizować na wykresach, jak zachowuje się powietrze w obudowie pod obciążeniem i czy podzespoły nie grzeją się nadmiernie. W głowie mam już też plan na przejście na ESP-NOW i architekturę Master-Slave, żeby maksymalnie oszczędzać to małe ogniwo.

Od razu zaznaczam – dopiero szlifuję swoje skille i się uczę, więc z góry przepraszam za estetykę niektórych lutów na uniwersalnej płytce. Jedną grubą zworę na zasilaniu i liniach sygnałowych udało mi się na szczęście wyłapać multimetrem w ostatniej sekundzie przed puszczeniem dymu! xd Najważniejsze, że hardware ożył i to napędza mnie do dalszego działania.

Co sądzicie o takim podejściu i zabawie w ESP-NOW dla optymalizacji baterii? Ktoś z Was robił już u siebie bezpośrednie testy porównawcze zużycia prądu MicroPython vs C na małych akumulatorach?

Z góry dzięki za feedback i do usłyszenia w kolejnym wpisie!

 

IMG_20260522_151701.thumb.jpg.5e2783630c4dd59188421172cb544ca2.jpgIMG_20260522_153514.thumb.jpg.31b4df30d060b34027a139d05af87df5.jpg

  • Lubię! 1
Dnia 22.05.2026 o 16:17, CyberGhostPL napisał:

Ktoś z Was robił już u siebie bezpośrednie testy porównawcze zużycia prądu MicroPython vs C na małych akumulatorach?

Procesor zawsze pobiera zbliżone ilości prądu, więc pozostaje kwestia ile czasu pozostaje w stanie aktywnym (a nie uśpionym) czytaj jak szybko wykonują się instrukcje. Tutaj problemem jest to, że uPython jest interpretowany, więc nigdy nie będzie tak szybki jak C, ale słaby programista może spowodować, że kod w C będzie wolniejszy niż w uPythonie (np. nadużywanie funkcji `delay`). Tak więc decyzją kworum można uznać, że to zależy mocno od konkretnego przypadku.

Przykład: Jak kod w uPythonie będzie wykonywał się 1.1s, a w C 1s to przy skali jednego wykonania na dzień różnice są nieodczuwalne, ale gdy mówimy o np. 500 wykonaniach na dzień to już zaczyna to mieć dużo większy wpływ.

(edytowany)

Ble jest bardziej uniwersalne, dane prześlesz na smartfon. Do esp-now potrzeba odbiornika z innego esp. Micropython pewnie dłużej wstaje po ponownym rozruchu z deepsleep, ale prosty kod wykona w podobnym czasie.

Zasilanie z aku w celu całkowitej izolacji od kompa? Są płytki jak lolin32 lite, które jednocześnie potrafią działać z 5V, ładować aku i mieć backup zasilania. Pomysł z aku jako głównym zasilaniem wydaje się trochę niezrozumiały, kiedy obok jest gniazdko na ładowarkę.

Edytowano przez orb777
  • Lubię! 1
(edytowany)

Jeśli musiałbym robić taką izolację to prędzej zastosowałbym przetwornicę DC/DC są w sklepie z krówkami, niestety bootland ich nie posiada 

Edytowano przez _LM_

Ja tak przy okazji: zmniejszenie taktowania z 240 na 80 MHz to o ponad połowę zmniejszony pobór prądu (mniej się nie da bo tyle potrzebne do WiFi/BLE).

A co do płytki wrzuciłbym tam XIAO - jeszcze mniejsza i ładowarka na pokładzie. Lolin32 lite pomijam, bo w deep sleep żre prąd jak żaba muchy...

Dziękuję za feedback i podpowiedzi co do testów, bo szczerze mówiąc, na początku nie byłem do końca pewien, czy tak prosty, a zarazem bardzo potrzebny pomysł kogoś w ogóle zainteresuje.

8 godzin temu, H1M4W4R1 napisał:

Procesor zawsze pobiera zbliżone ilości prądu, więc pozostaje kwestia ile czasu pozostaje w stanie aktywnym (a nie uśpionym) czytaj jak szybko wykonują się instrukcje. Tutaj problemem jest to, że uPython jest interpretowany, więc nigdy nie będzie tak szybki jak C, ale słaby programista może spowodować, że kod w C będzie wolniejszy niż w uPythonie (np. nadużywanie funkcji `delay`). Tak więc decyzją kworum można uznać, że to zależy mocno od konkretnego przypadku.

Przykład: Jak kod w uPythonie będzie wykonywał się 1.1s, a w C 1s to przy skali jednego wykonania na dzień różnice są nieodczuwalne, ale gdy mówimy o np. 500 wykonaniach na dzień to już zaczyna to mieć dużo większy wpływ.

@H1M4W4R1 – ciekawe spostrzeżenie. Z jednej strony, z pozoru różnica jest niewidoczna i do samego prototypowania czy pisania kodu Python jest dużo wygodniejszy względem C. Jednak o tym, że płytka przy wybudzaniu wczytuje najpierw cały interpreter, naprawdę nie wiedziałem! To w zasadzie teraz wszystko wyjaśnia, dlaczego niskopoziomowe C jest bardziej wydajne i zoptymalizowane od jakiejkolwiek wersji Pythona w projektach bateryjnych.

7 godzin temu, orb777 napisał:

Ble jest bardziej uniwersalne, dane prześlesz na smartfon. Do esp-now potrzeba odbiornika z innego esp. Micropython pewnie dłużej wstaje po ponownym rozruchu z deepsleep, ale prosty kod wykona w podobnym czasie.

Zasilanie z aku w celu całkowitej izolacji od kompa? Są płytki jak lolin32 lite, które jednocześnie potrafią działać z 5V, ładować aku i mieć backup zasilania. Pomysł z aku jako głównym zasilaniem wydaje się trochę niezrozumiały, kiedy obok jest gniazdko na ładowarkę.

@orb777 – protokół BLE jest jak najbardziej uniwersalny i pożądany w takim projekcie, jednakże pamiętajmy, że to nie ma być montowanie czujnika na stałe do ciągłego logowania danych przez miesiące. Cel tego czujnika to bardziej "autonomiczna diagnoza sprzętu" – wrzucam układ do zamkniętej skrzynki na 30–60 minut, a on powiedzmy co minutę robi szybki pomiar. Nie ma więc konieczności sprawdzania na wykresie, jaka temperatura panuje w obudowie przez cały rok. Co do zasilania: akurat ta płytka ESP32 posiada piny BATT, ale zrezygnowałem z nich, ponieważ musiałbym kompletnie przebudowywać płytkę perforowaną, co znacznie utrudniłoby upchnięcie wszystkiego w tak małej obudowie przewidzianej do tego projektu. Akumulatorek pochodzi z recyklingu (co moim zdaniem jest na plus), a całe urządzenie ma być zamknięte wewnątrz PC, więc zewnętrzne zasilanie kablowe odpada.

3 godziny temu, _LM_ napisał:

Jeśli musiałbym robić taką izolację to prędzej zastosowałbym przetwornicę DC/DC są w sklepie z krówkami, niestety bootland ich nie posiada 

@LM – można zastosować teoretycznie powerbank, żeby w ogóle ominąć masę z PC, albo też pokusić się o stabilizator napięcia 3,3V z kierunkową diodą Schottky’ego.

1 godzinę temu, ethanak napisał:

Ja tak przy okazji: zmniejszenie taktowania z 240 na 80 MHz to o ponad połowę zmniejszony pobór prądu (mniej się nie da bo tyle potrzebne do WiFi/BLE).

A co do płytki wrzuciłbym tam XIAO - jeszcze mniejsza i ładowarka na pokładzie. Lolin32 lite pomijam, bo w deep sleep żre prąd jak żaba muchy...

@ethanak – to też bardzo ciekawe spostrzeżenie. Myślę, że sprawdzenie zachowania kodu pod różnym ustawieniem taktowania procesora i zbadanie, o ile wydłuży to życie projektu, będzie świetnym doświadczeniem. A co do Seeed Studio XIAO ESP32-C3 – zamierzam go wykorzystać do troszkę innego projektu, który również niebawem pokaże się na tym forum, ale ciiiii... 😉

Swoją drogą, dziękuję za pomysł na eksperyment! Testy z różnicą w delay (np. porównanie 2000 ms vs 500 ms w pętli) pomogą mi w analizie i optymalizacji kodu do absolutnego minimum poboru prądu w fazie aktywnej.

Ciekawostka: chwilowo timer testowy pokazuje już ok. 4,5 godziny stabilnej pracy i kod (w sporej części wygenerowany przy wsparciu AI) działa bez zarzutu. Myślę więc, że po finalnych szlifach projekt naprawdę może się przydać innym.

 

                                                                                                              IMG_20260522_234201.thumb.jpg.b90202afc97ba4d2970e2852c0cfc576.jpg

 

 

Aa, i spokojnie – finalna wersja zostanie spakowana w dedykowaną obudowę i solidnie zalana klejem na gorąco. Bezpieczeństwo przede wszystkim, nie zależy nam na uszkodzeniu jakiegokolwiek podzespołu komputera czy samego prototypu.

Tak czy inaczej, panowie – dzięki Wam dowiedziałem się dzisiaj czegoś nowego, a co za tym idzie, mogę sobie teraz pokombinować na różne sposoby, co na pewno pomoże mi ostatecznie zoptymalizować układ o wiele bardziej, niż początkowo zakładałem!

25 minut temu, _LM_ napisał:

No, nie to miałem na myśli, chodziło o przetwornicę izolujacą masę i zasilanie:

https://sklep.msalamon.pl/produkt/przetwornica-hi-link-b0505s-1wr3-5-v-dc-5-v-dc-1-w/

Wiesz, przetwornica izolująca masę według mnie miałaby sens, gdyby to był stricte czujnik temperatury do PC. Ale przecież można wykorzystać takie coś również do pomiaru temperatury klimatyzacji w samochodzie albo np. temperatury wewnątrz lodówki. Skoro taki czujnik jest całkowicie offline, myślę, że znajdę mu jeszcze szersze spektrum zastosowań, które udowodni, że warto budować takie autonomiczne projekty. Ale dziękuję za radę, bo w przyszłości na pewno przyda mi się wiedza, że taka przetwornica w ogóle istnieje! 🙂

(edytowany)
2 godziny temu, CyberGhostPL napisał:

Cel tego czujnika to bardziej "autonomiczna diagnoza sprzętu" – wrzucam układ do zamkniętej skrzynki na 30–60 minut, a on powiedzmy co minutę robi szybki pomiar.

W takim razie cokolwiek tam wsadzisz, supermini, xiao, lolin32, będzie działało wystarczająco długo w light/deep sleep. W supermini masz kiepską, ceramiczną antenę, ciekawe, czy poradzi sobie w metalowej budzie. Chyba, że to też nie problem. W sumie trend jest na akryl i świecące pecety jak choinki.

Edytowano przez orb777
Dnia 25.05.2026 o 22:56, orb777 napisał:

W takim razie cokolwiek tam wsadzisz, supermini, xiao, lolin32, będzie działało wystarczająco długo w light/deep sleep. W supermini masz kiepską, ceramiczną antenę, ciekawe, czy poradzi sobie w metalowej budzie. Chyba, że to też nie problem. W sumie trend jest na akryl i świecące pecety jak choinki.

W projekcie offline raczej antena nie będzie aż taka ważna mi się wydaje, ale dobrze że zauważyłeś ten problem, bo w sumie nie zastanawiałem się czy jakbym kiedyś chciał wgrać na to ESPHome, skonfigurować MQTT i agregować dane do Home Assistanta po BLE (bo jest mniej prądożerne), to czy metalowa obudowa komputera nie zadziała jak taka klatka Faradaya i nie obetnie zasięgu.

32 minuty temu, CyberGhostPL napisał:

czy metalowa obudowa komputera nie zadziała jak taka klatka Faradaya i nie obetnie zasięgu.

Obetnie, wiem z doświadczenia jak miałem pompę z BLE w stalowej obudowie (1mm)... zasięg to było max 3m 😉 Po zbudowaniu od zera w plastiku mam obecnie zasięg na prawie całe mieszkanie (jakieś 5-10m). Używam taniego ESP32 Zero (płytka z S3 od Waveshare z taką samą anteną jak XIAO).

Te małe antenki do WiFi się nie nadają, ale z BLE całkiem dobrze sobie radzą.

13 minut temu, H1M4W4R1 napisał:

ESP32 Zero (płytka z S3 od Waveshare z taką samą anteną jak XIAO).

Płytka Zero z u.fl? Bo z tego co widzę ma tą parszywą ceramiczną.

13 minut temu, ethanak napisał:

Płytka Zero z u.fl? Bo z tego co widzę ma tą parszywą ceramiczną.

Z ceramiczną, która wbrew pozorom ma całkiem dobry zasięg... może kwestia layoutu. Przynajmniej do moich zastosowań spokojnie wystarcza 🙂 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...