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: 1.7C RH: 0% 1003hPa 05:02

Ostatnie 24h:
Temperatura minimalna: 0°C, maksymalna: 10.9°C.
Uptime: 100%.
rightarrowBaza 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.
termometr ATmega8
Kod źródłowy: AVR_LCD_USART_DS1820.zip łączy

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).
termometr PIC18F4550

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/).
termometr ATmega32, NE2000

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.
termometr 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.
pressure sensor scheme

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.

diagram systemu

 "Cookie monsters": 7737357    Parse time: 0.224 s