Poniżej przedstawię moją konfigurację do testowania stacji gorącego powietrza - dwa urządzenia OpenBeken, pierwsze używane do pomiaru temperatury gorącego powietrza za pomocą MAX6675, a drugie używane do pomiaru mocy - oba raportują pomiary do mojego serwera HTTP, dzięki czemu mogę je wykorzystać do dalszego przetwarzania. Oczywiście moja konfiguracja została wykonana na stockowym OpenBekenie bez hardcodingu - wszystkie raporty są wykonywane przez skrypty. Zobaczmy więc, jak je oskryptowałem.
Pierwsze urządzenie - moja płytka WB3S - pomiar temperatury MAX6675
MAX6675 może mierzyć bardzo wysokie temperatury i jest bardzo łatwy w użyciu - można go podłączyć do dowolnych trzech GPIO. MAX6675 wykorzystuje protokół SPI, ale w tym przypadku transakcja SPI jest bardzo prosta i wymaga jedynie odczytu pojedynczego 16-bitowego słowa.
W tym przypadku, dowolne urządzenie OBK może być łatwo użyte.
Oto zrzut ekranu z mojego panelu, wiem, że jest bardzo niechlujny, większość rzeczy nie jest związana z tym projektem:
Najważniejsza część znajduje się w autoexec.bat w LittleFS, zobacz tutaj jak go zrobić:
Oto mój skrypt:
startDriver MAX6675 24 26 6 1
again:
SendGET http://192.168.0.169:8002/log.php?temperature=$CH1
delay_s 0.5
goto again
Załóżmy co się tutaj dzieje:
- najpierw masz MAX6675 init i ustawione piny, składnia jest taka:
MAX6675 CS CLK MISO targetChannel
- następnie masz pętlę, co 0.5s temperatura jest wysyłana (a dokładniej wartość kanału 1) do mojego niestandardowego serwera HTTP, gdzie skrypt log.php przetwarza ją dalej
Drugie urządzenie - Mycket Power Metering Socket - Gniazdo do pomiaru pomiar mocy
Poniżej kilka informacji na temat drugiego urządzenia, z którego korzystałem:
Mycket Smart Outdoor Socket PE-01E IP44 z pomiarem energii
Jednakże, każde gniazdo do pomiaru mocy powinno być dobre do tego celu.
Mój skrypt tutaj wysyła pomiary napięcia/prądu/mocy do mojego skryptu co 0.5 sekund:
again:
SendGET http://192.168.0.169:8002/log.php?voltage=$voltage¤t=$current&power=$power
delay_s 0.5
goto again
Mój skrypt logujący w PHP
Urządzenie OBK wysyła pomiary napięcia/prądu/mocy do mojego skryptu co 0,5 sekundy. Mój skrypt logujący jest w rzeczywistości całkiem sprytny - nie ma zakodowanych na sztywno wartości. nie ma żadnych zakodowanych nazw zmiennych, po prostu zapisuje to, co zostało odebrane przez GET. Ponadto dodawany jest znacznik czasu:
https://github.com/openshwprojects/hotair/blob/main/log.php
Poniższe rozwiązanie może nie być idealne w niektórych przypadkach, na przykład dlatego, że zapisany czas to czas, w którym odebrano pomiar a nie czas, w którym został zrobiony, więc mogą być pewne małe rozbieżności, ale są one akceptowalne dla mojego projektu.
Następująca konfiguracja pozwoliła mi stworzyć te wykresy:
https://openshwprojects.github.io/hotair/350c.html
https://openshwprojects.github.io/hotair/450c.html
Oczywiście, pomiary wymagały dalszego postprocessingu (usunięcie podwójnych wpisów i scalenie), ale jest to poza zakresem tego tematu.
Co więcej, oczywiście możliwe byłoby połączenie moich dwóch skryptów w jedno urządzenie i podłączenie MAX6675 do samego gniazda pomiaru mocy, ale nie chciałem ponownie otwierać sprawy Mycket. W każdym razie, to na razie wszystko. Do tej pory użyłem mojego setupu do przetestowania 8 stacji hot air, więc bądźcie czujni na więcej! Daj mi znać, jeśli masz jakieś pytania lub sugestie.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.