Termometr TCP/IP
Termometr elektroniczny ze wskazaniami dostępnymi on-line. Miejsce pomiaru: Gdańsk, wschodnia strona budynku (możliwe zawyżanie temperatury w godzinach przedpołudniowych w porównaniu z pomiarem w cieniu).
Ostatni odczyt: Temp: 16.9C RH: 100% 1003hPa 19:24Ostatnie 24h:
Temperatura minimalna: 16.3°C, maksymalna: 25.6°C.
Uptime: 100%.
Baza danych pomiarowych
Wersja 1. Sprzęt: ATmega8 (RS232), DS1820, oprogramowanie PC napisane przy użyciu LabWindows.
Wtyczka do komunikatora Free GG manipulująca ustawiająca odczyt jako status, w późniejszym
okresie czasu LUA-skrypt dla komunikatora Unicom.
Kod źródłowy: AVR_LCD_USART_DS1820.zip łączy
- bibliotekę obsługującą alfanumeryczny wyświetlacz LCD ze sterownikiem HD44780 (Peter Fleury), użyty wyświetlacz 1x16 który z punktu widzenia obsługi zawiera dwie linie po osiem znaków,
- bibliotekę obsługującą 1-wire (Peter Dannegger),
- obsługę DS1820 (Martin Thomas),
- obsługę USART (Jaakko Ala-Paavola)
Kod źródłowy pochodzi z roku 2005 - najprawdopodobniej jego kompilacja z użyciem współczesnej wersji WinAVR/avr-gcc/avr-libc wymaga przeróbek.
Wersja 2. Sprzęt: PIC18F4550 (USB), DS1820, oprogramowanie PC napisane przy użyciu Borland
C++ Builder. Integracja z bazą mySQL, histogramy tworzone z pomocą biblioteki phplot. Integracja
z IM poprzez wtyczkę AQQ. Program mikrokontrolera bazował na przykładzie CDC z pakietu MCHPUSB, istotne zmiany (obsługa 1-wire) zawarte
są tylko w pliku user.c.
Schemat: pic18f4550_thermometer.pdf.
Polecałbym raczej użycie mikrokontrolera w mniejszej obudowie (PIC18F2550 lub 2450) i firmware HID
(brak potrzeby wskazywania sterownika, brak problemu ze zmieniającym się numerem portu COM przy np. zmianie gniazda
do którego podłączone jest urządzenie).
Wersja 3. Sprzęt: mikroserwer z ATmega32 i starej karty sieciowej (microserver), układ MAX6608
jako analogowy czujnik temperatury. Ustalanie statusu gg poprzez wersję Free GG opartą
na opublikowanych źródłach wersji 1.8.9 tego komunikatora
(http://sadysta.ath.cx/projekty/freegg/).
Wersja 4. Zmiana sensora na czujnik temperatury i wilgotności SHT11. Od 22.02.2008 udostępniony pomiar ciśnienia (MPXA6115A).
Wersja 5. Zmiana mikroserwera na układ z mikrokontrolerem
PIC18F67J60.
Wersja 6. ATmega32/SHT11/MPXA6115A (jak wersja 4) + ESP8266 (połączenie poprzez WiFi).
Wersja 7. ESP8266 + BMP180 + Si7021 (połączenie poprzez WiFi).
Changelog:
20.06.2015 ESP8266 + BMP180 + Si7021.
25.10.2014 ESP8266 + AVR + SHT11 + MPX6115A.
25.07.2008 Zmiana mikroserwera na układ z PIC18F67J60 opisany na stronie - obsługa czujnika SHT11 przez mikrokontroler PIC18F2550.
31.03.2008 Przywrócone logowanie danych do bazy - mikroserwer uzupełniony o kod pełniący funkcję prostego klienta TCP/HTTP uzupełniającego z pomocą skryptu php dane w sposób asynchroniczny.
22.02.2008 Dodany czujnik ciśnienia MPXA6115A. Czujnik współpracuje z ADC mikrokontrolera za pośrednictwem wzmacniacza różnicowego (dopasowanie pomiaru stosunkowo wąskiego użytecznego zakresu ciśnienia atmosferycznego do zakresu przetwarzania ADC). Kompletny tor pomiarowy (czujnik ciśnienia + wzmacniacz + ADC) skalibrowany został przez kilku(nasto)dniowe porównywanie wyników z wzorcowym i wyznaczenie współczynników aproksymacji liniowej metodą najmniejszych kwadratów.
12.08.2007 Zmiana czujnika na produkowany przez Sinsirion SHT11 - pomiar temperatury i względnej wilgotności powietrza z całkiem niezłą rozdzielczością i dokładnością. Biblioteka obsługi czujnika (+ program testowy dla ATmega8): SHT11_ATmega8.zip
19.05.2007 Zmiana hardware na mikroserwer, integracja z gg przez zmodyfikowaną wersję komunikatora FreeGG. Brak współpracy z bazą danych.
23.07.2006 Rozbudowa możliwości generacji wykresów.
01.12.2005 Klient konsolowy z użyciem Dev-C++ (libwsock32.a). Źródło (devcpp_main.c)
18.11.2005 Nowa platforma sprzętowa - przystawka USB z notabene częściowo niesprawnym egzemplarzem PICa.
10.11.2005 Generacja prostych wykresów z użyciem biblioteki phplot.
09.11.2005 Serwer przeniesiony do BCB
21.10.2005 Plugin dla AQQ (Delphi2k5 Personal).
01.10.2005 Lua-skrypt dla komunikatora Unicom (następca FreeGG).
24.07.2005 Plugin do komunikatora FreeGG ustawiający jako opis ciąg znakowy przesyłany po RS-ie (tu: odczyt temperatury).
20.05.2005 Klient - kontrolka ActiveX. Działa tylko z IE 6 lub przeglądarkami korzystającymi z niego. Źródła (VC6, ATL).
??.??.200? Pierwsza wersja, serwer napisany (naklikany?) w LabWindows na bazie jakiegoś przykładu prostego komunikatora, źródło.