Kurs ESP8266: Obsługa czujnika DS18B20

Cześć,
w tej części kursu pokażę, jak obsługiwać czujnik DS18B20 w Lua oraz przedstawię prosty przykład zastosowania czujnika w połączeniu z serwerem www. Więcej informacji poniżej :)

Spis treści:

  1. Czujnik DS18B20
  2. Aktualizacja oprogramowania ESP8266
  3. Dołączenie zewnętrznej biblioteki
  4. Podstawowe funkcje
  5. Przykład 1.: Odczyt temperatury z dwóch czujników po UART
  6. Przykład 2.: Odczyt temperatury z dwóch czujników przez serwer WWW
  7. Podsumowanie

 

1. Czujnik DS18B20

Jak dobrze wiemy, czujnik DS18B20 firmy Dallas jest czujnikiem opierającym się na komunikacji 1-Wire. Zapewnia on dokładność odczytu od 9 do 12 bitów, czyli odczyt z dokładnością od 0,5 do 0,0625 *C. Zakres mierzonych temperatur tego czujnika wynosi -55 do 125 *C. Czujnik może być podłączony na dwa sposoby:

  • Podłączenie z doprowadzonym zasilaniem (doprowadzenie napięcia)
  • Podłączenie w trybie pasożyta- zwarcie pinów GND i VCC i podciągnięcie ich do GND ESP8266 oraz sygnał podciągnięty przez rezystor 4,7k do VCC

Tryb pasożyta niestety nie działa przy wykorzystaniu tych bilbiotek

 

Przykład podłączenia w trybie pasożyta:

parasite

ds18b20-pinout

 

Było to szybkie przypomnienie głównych cech czujnika Dallas DS18B20. Przejdźmy teraz do następnych punktów.

2. Aktualizacja oprogramowania ESP8266

Ze względu na to, że standardowy firmware ma problemy z obsługą więcej niż jednego czujnika to wygenerujemy sobie nowy firmware. Przechodzimy zatem na stronę NodeMCU custom build. Podajemy na początku nasz adres e-mail, na który ma zostać wysłany nowy firmware, oraz poniżej podajemy go ponownie (nie można go wkleić, trzeba ręcznie wpisać). Następnie z konteneru „Select branch to build from” wybieramy dev. Następnie w „Select modules to include” zaznaczamy: file, gpio, net, node, ow, tmr, uart, websocket, wifi. Jest to wymagane minimum, potrzebne do tej części kursu. Jak chcesz to możesz zaznaczyć sobie więcej modułów. Teraz zjeżdżamy na sam dół i klikamy przycisk „Start your build„. Po 5 minutach powinieneś dostać na e-mail link do wygenerowanego firmwaru. Pobierz firmware i wgraj go do ESP8266

Jeżeli nie pamiętasz jak wgrać firmware to zobacz tutaj [ KLIK ! ]

Jeżeli z jakiegoś powodu generowanie nie działa to na końcu poradnika znajdziesz wygenerowany firmware z wyżej wymienionymi modułami :) Po aktualizacji, w ESPlore’rze trzeba zmienić prędkość transmisji UART na 115200 baud.

3. Dołączenie zewnętrznej biblioteki

Dodawanie nowych bibliotek do programu w Lua jest trochę specyficzne, tzn. musisz je ręcznie wgrać do ESP8266. Aby tego dokonać, otwórz bibliotekę z rozszerzeniem lua i w ESPlore’rze kliknij „Save to ESP”. Zanim jednak wgramy nową bibliotekę to musimy ją pobrać stąd [ KLIK ! ]. Klikamy RAW i kopiujemy zawartość do ESPlorera i zapisujemy jako ds18b20.lua. Ważnym jest, żeby nie zgubić rozszerzenia pliku, bo w przeciwnym wypadku nasz program nie będzie mógł korzystać z biblitoteki. Po wgraniu bilbioteki do ESP możesz kliknąć w oknie UART po prawej stronie „Reload” aby wczytać listę wgranych plików do ESP8266. Po zakończonej operacji powinno to wyglądać tak:

dodana-bilbioteka

Jak widać nasza biblioteka widnieje na liście także wszystko jest ok. Możemy przejść do następnego punktu.