ESP8266 + DS18B20 = IoT @ thingspeak.com

Gdyby ktoś mnie zapytał, co uwielbiam w szeroko pojętym Arduino, bez zastanowienia odpowiedziałbym, że prostotę. Prostotę wykonania jakiegokolwiek urządzenia z gotowych modułów i czerpania z tego niesamowitej radochy. Od dłuższego czasu na rynku krąży moduł ESP8266, który nie dość że zapewnia łączność WiFi, to na dokładkę może działać niezależnie jako mikrokontroler. Na jego bazie złożyłem termometr IoT, czyli takie magiczne urządzenie co wyniki pomiarów zsyła na chmurę, gdzie potem mogę je odczytać z dowolnego miejsca na ziemi. Brzmi spoko? No to jedziemy.

Główne cechy projektu:

  • użycie ESP8266 jako mikrokontrolera programowanego w środowisku Arduino
  • pomiar temperatury z użyciem jednego DS18B20 co 5 minut – procedura bezczelnie żywcem wzięta z gotowca
  • wysyłka wyników po GETcie na chmurę http://thingspeak.com
  • i chyba tyle

schemat

Uwaga! Przed przeczytaniem skonsultuj się z lekarzem bądź piekarzem, gdyż poniższe informacje w Twoim przypadku mogą się nie sprawdzić. Jest to niepoprawne politycznie rozwiązanie w stylu „taniej się nie dało”. Tak że coby nie było, ostrzegałem.

Schemat całego wihajstra jest diabelnie prosty, składa się z ESP8266 oraz termometru DS18B20. Problematykę zasilania modułu WiFi rozwiązałem przez zastosowanie dwóch diod prostowniczych. Przy zasileniu wihajstra napięciem 5V, dla ESP dają około 3.5-3.6V co stanowi już bezpieczne napięcie dla głównego bohatera. Nie trzeba stabilizatora? Nie trzeba.

Errata: Jak parę osób fajnie zwróciło mi uwagę, dobrze jest wrzucić trzy diody prostownicze jako nasz pseudo-stabilizator, ze względu na to iż przy dwóch układ pracuje na granicy dopuszczalnego napięcia.

Linie TX i RX w żadnym stopniu nie buforowałem przed napięciem 5V, w praktyce po 20 zaprogramowaniach nic się nie stało, ESP8266 działa dalej. Co więcej, kiedy jeszcze nie wiedziałem że ESP8266 zasila się napięciem 3.3V, puściłem na niego 5V. Grzał się jak diabli, ale 5h godzin bo mniej więcej tyle pracował przeżył zanim załapałem że jest coś nie tak, więc można przypuszczać, że przypadkowe podpięcie za wysokiego napięcia nie powinno zabić modułu. Ten sam egzemplarz działa po dziś dzień:

Capture

https://github.com/avrland/ESP8266_DS18B20_Thingspeak

Cały projekt wyeksportowałem na swojego githuba, z którego zaczynam korzystać coraz częściej, wszak narzędzie to jest zacne. Także tego, bierzcie i programujcie z tego wszyscy – tak chyba mówił stwórca. Mysie pysie a jak uznacie, że w jakimś stopniu to się Wam przydało i macie ochotę na więcej, wbijajcie na Facebooka, gdzie pojawia się więcej zajawek z mojego życia IT wziętych.

https://www.facebook.com/avrland/