(19-11-2019, 08:52)peetpeet napisał(a): Tak. Zasilanie bateryjne. Aktualizacja danych nie częściej niż co 2-5 minut. Nie widzę potrzeby częściej w przypadku temperatury i wilgotności. Inne dotyczące stanów nietrwalych i szybko zmieniających mogą być częściej...
To zapomnij o Wi-Fi z powodu poboru prądu. BT odpada ze względu za zasięg. Celowałbym w LoRa albo jak już pisałem 315/433/868MHz.
W przypadku serwera większa dowolność, naturalnie nie marne UNO, wtedy lepiej ESP z wskazaniem na ESP32. Jeszcze, jak wspomniałem, RPi a gdy pobór prądu jest istotny (np praca awaryjna) to ARM (np STM32) z ETH (STM32F107 itp z wbudowanym ETH).
"Trochę" roboty Cię czeka. Gotowców nie znajdziesz, takich gotowców, co:
- Będą oszczędzać energię.
- Rozwiążą problem kolizji nadawanych informacji przez czujniki.
- Zrealizują szyfrowanie/autoryzację aby nie było możliwości podstawienia nadajnika symulującego pracę czujnika co oszuka serwer.
- Rozwiążą problem "zagłuszania" transmisji przez do serwera, bo może zablokować wysyłanie informacji o alarmach i serwer nic nie zauważy.
Robiłem coś takiego. Samo zaprojektowanie/napisanie softu czujników i "hosta" zbierającego informacje trwało ok 2 miesięcy. Sam koszt prototypowych PCB i elementów to ok 1000..1500zł.
Serwera do tego nie robiłem, wiem tyle, że na SoC jest zrobiony. Mogę szacować, że to kilka miesięcy pracy. Koszt elementów niewielki, tyle co np RPi (ok 200zł) lub OrangePi-Zero (ok 100zł razem z kartą SD i zasilaczem).
Aktualnie buduję system archiwizacji danych, podobny jak potrzebujesz. Część już działa
http://es2.noip.pl/automatyka/ Jak widzisz, poza temp., ciśnieniem itp, rejestrowany jest pobór energii elektrycznej, podłączona jest kamera. Czujniki komunikują się miedzy sobą. Na każdym z urządzeń można wyświetlić dane innego. W tym sensie czujniki są autonomiczne. Na razie jeszcze nie ma trzeciego i czwartego. Dane wysyłane są w sumie na 4 serwery (docelowo 2), dwa lokalne, dwa w sieci rozległej. Wszystko to zbudowane na:
Czujniki:
- "Pirometr tęczowy": AVR + ESP-01 + VNC-2 (dodatkowa rejestracja na pen drive).
- "Mini stacja pogodowa": ESP32 z OLED (od tego projektu stwierdziłem, że dane będę rejestrował tylko na serwerach).
- "Termometr tęczowy" (jeszcze nie wrócił prototyp z testów): STM32F072 + ESP01.
- Nie dokończony jeszcze "Zegar, termometr" (6 matryc 8x8 na WS2812): STM32F105 + ESP-01.
- "Interfejsy liczników ORNO": Wemos D1 ale to tylko tymczasowo, bo ESP nie nadaje się do zaawansowanych zadań. Docelowo slave na STM32F072 + RFM12B + E-INK, host na STM32F072 + RFM12B + OLED - komunikacja z serwerem przez USB (opcja Wi-Fi na ESP-01).
Serwer: RPi 3B+ (pełni także rolę serwera NAS, FTP, niedługo e-mail).
Tylko jeden projekt (pierwszy i ostatni raz) zrealizowany jest na ESP8266 z wykorzystaniem ArduinoIDE. "Wybadam" przydatność ESP32 może coś z niego będzie bo jak na razie, ESP8266 dobrze sprawuje się w roli karty sieciowej Wi-Fi a nie rejestratora danych. ESP32 ma dwa rdzenie, więc może coś z tego wyjdzie?
Prace trwają ponad rok i potrwają jeszcze pewnie kolejny. Faktem jest, że realizuje także inne zadania, więcej gdybym tylko zajął się systemem czujników, pewnie prace byłyby już zakończone. Ty masz prościej, bo jeden typ czujnika. Jak się "sprężysz" to w pół roku zrobisz o ile dobrze znasz się na programowaniu i nie będziesz tego realizował na Arduino, które ma duże ograniczenia. Część ograniczeń można zlikwidować modyfikując biblioteki ale gdy zacznie się to robić, dochodzi się do wniosku, że lepiej to napisać od nowa, pomijając ograniczone Arduino, w IDE z prawdziwego zdarzenia z obsługą debugera. Gdybym nie używał debugera, to pewnie dopiero skończyłbym "Pirometr tęczowy" a prace nad całością w 2030 roku.