Znajdź zawartość
Wyświetlanie wyników dla tagów 'esp8266' .
-
Witam. Dawno nie odzywałem się na forum ale że dziś sylwester a ja spędzam go w domu (małe dziecko...) to postanowiłem jakoś ten czas sobie zagospodarować. Dostałem jakiś czas temu modulik ESP8266 od żółtych braci i jakoś mnie tak natchnęło, że może wykorzystać go do sterowania lodówką zamiast zamawiać sterownik. Po dwóch godzinach zabawy i trzech grzebania po necie miałem gotową zabawkę. Prezentuje to się tak: Do zabawki użyłem: - ESP8266 v01 - czujnik DS18B20 - AMS1117 3.3V (LDO) - przekaźnik 3V 8A LMR2-3D - pierdołki (dioda 1N4148, MOSFET 2N7000, rezystor 4,7kOhm, płytka uniwersalna, stara ładowarka z telefonu) Schematów nie wrzucam bo po pierwsze nie chce mi się ich rysować a po drugie każdy kto będzie chciał skorzystać z tego wpisu to albo się zapyta albo będzie wiedział jak podłączyć czujnik DS18B20 i przekaźnik do ESP. Cała magia zaczyna się po oprogramowaniu tego maleństwa. Po paru minutach szukania inspiracji na kod trafiłem na forum www.esp8266.com gdzie znalazłem masę wiedzy na temat tego maleńkiego układziku. Znalazłem nawet większość kodu do moich potrzeb. Po krótkim dostosowaniu kod wygląda tak: memclear cls let emp = 0 let setp = 12 let wl = 1 let hist = 0.5 wprint "<head>" wprint "<meta http-equiv='refresh' content='6;URL=/input?'>" wprint "</head>" print "Komora fermentacyjna WiFi na ESP8266" print Button "Ustaw temperature:" [ustaw] textbox setp wprint "<br>" Button " Ustaw histereze: " [ustaw] textbox hist print wprint "Chlodzenie=" wprint htmlvar(wl) wprint "<br>" wprint "Aktualna temperatura=" wprint htmlvar(emp) wprint "<br>" print button "Koniec" [koniec] wprint "<br>" timer 5000 [odswiez] wait [wlacz] po 0 1 let wl = "1" Wait [wylacz] po 0 0 let wl = "0" Wait [ustaw] Wait [odswiez] temp 0 emp let plus = setp + hist let minus = setp - hist if emp > plus then goto [wlacz] if emp < minus then goto [wylacz] Wait [koniec] timer 0 wprint "<a href='/'>Menu</a>" end czyli tylko kilka linijek, ale efekt jest warty zabawy: Do tego zrobiłem zaczytywanie temperatury do MySQL i wyświetlanie tego w formie wykresu razem z informacją o włączeniach i wyłączeniach lodówki. Ale to w następnym odcinku. Dosiego!
-
Hejka, dzis chcialem wam zaprezentowac bardzo ekonimiczny kontroler fermentacji oparty na module ESP8266 ktorego mozemy dostac za okolo 3$ u chinskich braci a jezeli ktos ma ochote na troche bardziej skomplikowane lutowanie to sa same chipy ESP za duzo taniej. Jest to ekonomiczna wersja https://www.brewpi.com/ wiec duzo rzeczy moze byc przydatnych, interfejs jest bardzo podobny oraz zasada dzialania taka sama. Mozna wiec zaczerpnac stamtad informacje o rozmieszczeniu czujnikow itd. Od oryginalu BrewPi rozni sie tym ze zamiast RaspberryPi mamy server na ESP, mozliwosci Arduino sa tez przeniesione na ESP takze to duze obciecie kosztow projektu a funkcjonalnosc jest bardzo podobna. Czesci: Ja do projektu wybralem Wemos D1 mini ktory ma wbudowana obsluge USB oraz zasilanie z 5V. Dodatkowo mozna zerknac na moduly NodeMCU lub z robotdyna ktore obsluguja zasilanie do 19V. Wemos D1 mini V2 - https://goo.gl/O4CdEE Wemos mini pro - https://goo.gl/2VAdJ6 (wiecej pamieci na logi) Wemos D1 mini - http://s.click.aliexpress.com/e/csId92PQ (chyba najtaniej jak znalazlem) Program ktory wgrywamy do modulu ESP jest napisany i udoskonalany prze Vito z Tajwanu, mam z nim staly kontakt wiec jakby byla potrzeba zmiany lub dodania czegos lub po prostu sugestii mozecie pisac tutaj ja na pewno przekaze dalej Najnowsza paczka znajduje sie w zalaczniku do tego tematu. Co nam jeszcze bedzie potrzebne? Przekazniki do grzania i chlodzenia, gdzie pewnie wiekszosc osob bedzie uzywala tylko chlodzenia no chyba ze jest to gdzies w piwnicy czy na dworze gdzie temperatury dochodza do zera a chcemy miec 15 na fermentatorze. Wystarcza takie zwykle mechaniczne przekazniki ktore dla uproszczenia sprawy mozna zakupic z gotowa plytka z tranzystorami ktora podpinane sa bezposrednio pod piny modulu ESP. Wystepuja one w roznych konfiguracjach i mozna zakupic od razu dwa na jednej plytce. np: https://goo.gl/TdNQ0n http://s.click.aliexpress.com/e/cHV8CDzW Oraz czujniki temperatury DS18B20 http://s.click.aliexpress.com/e/c4EHj6ZS lub na kablu: http://s.click.aliexpress.com/e/b9DQxPE0 beda nam potrzebne conajmniej 2 sztuki, jedna do mierzenia temperatury komory fermentacyjnej (lodowka) druga do mierzenia temperatury piwa w fermentorze. Pierwszy umieszczamy najlepiej jak najdalej fermnetatora a drugi najlepiej w srodku fermentatora lub na sciance ale zaizolowanego od zewnatrz aby odczyt byl jak najbardziej zblizony do temperatury piwa w srodku. Dodatkowo mozemy zakupic LCD 2004 oraz interfejs I2C plus przycisk do wybudzania. Na wyswietlaczu wtedy pokazuja sie te same dane co w lewym gornym rogu na ekranie programu. Czy to jest potrzebne? Wydaje mi sie ze nie ale jest taka mozliwosc. Ekran po jakims czasie przygasa i aby go wybudzic bedziemy potrzebowali przycisku. Podlaczenie: Myslalem nad zaprojektowaniem plytki PCB do tego projektu ale tak naprawde chyba nie jest potrzebna skoro za grosze mozna kupic przekazniki z wbudowanymi tranzystorami i wiecej do funkcjonalnosci nam nie potrzeba. ESP8266 GPIO Wemos pin Podłączenie GPIO16 D0 Buzzer (glosnik) GPIO5 D1 I2C SCL (do LCD) GPIO4 D2 I2C SDA (do LCD) GPIO0 D3 przycisk wybudzania GPIO14 D5 chłodzenie (przekaznik) GPIO12 D6 czujnik(i) temperatury GPIO13 D7 grzanie (przekaznik) Tutaj jest troche juz stary schemat podlaczenia ale moze sie komus przyda -> http://vito.tw/wp-content/uploads/2016/08/BrewPiLess-1.png Program: BrewPiLess.zip Cała niezbędna konfiguracja jest dostępna w pliu config.h i tam można zmieniać np ułożenie i podłączenie do pinów. Konfiguracja sieci jest dostępna w espconfig.h. Myślę że nie ma co się nad tym dużo rozpisywać bo do podstawowego działania nie jest potrzebne konfigurowanie tych plików a jak ktoś się bardziej zna to bez problemu sobie w nich poradzi bo wszystko jest opisane w nich (po angielsku). Program do ESP możemy wgrać w dwojaki sposób. Oczywiście podłączamy moduł za pomocą kabla USB (Wemos D1) lub poprzez TTL jeżeli nie mamy modułu z portem USB. Pierwsza metoda jest użycie Arduino IDE z dogranymi danymi do modułów ESP w których znajduje się także Wemos. Następnie musimy dograć wszystkie niezbędne biblioteki, znajdują się one w folderze programu i najlepiej wgrywać je stamtad ponieważ wgrywajac samemu mialem problemy pozniej w kompilacja programu. Jak juz wszystko mamy wgrywamy program do ESP poprzed arduino IDE. Druga prostsza metoda jest wgranie pliku binarnego poprzez np ESP8266Flasher - https://github.com/nodemcu/nodemcu-flasher Tutaj wybieramy plik z rozszerzeniem *.bin i wgrywamy. Po zakonczeniu mamy dzialajacy program na ESP, nie trzeba dogrywac zadnych plikow ani bibliotek, wszystko znajduje sie w pliku binarnym. Konfiguracja sieci: Jezeli nie uzywalismy wczesniej modulu ESP z nasza siecia to dane nie sa zapisane w pamieci i po pierwszym podlaczeniu nasz ESP z programem BrewPiLess tworzy sie Access Point o nazwie brewpi do ktorej musimy sie polaczyc za pomoca smartfona lub komputera wyposazonego w WiFi. Tam musimy ustawic dane naszej sieci (configure). Na to wszystko mamy tylko 3 minuty bo po tym czasie system przelacza sie w trym Soft AP. Jest on zrobiony po to aby po zaniku zasialnia badz sieci system dalej dzialal niezaleznie. Nastepnie ulatwieniem maja ludzie posiadajacy sprzed od Apple, u nich wystarczy wpisac w adres przegladarki brewpi.local (lub brewpi.org podczas Soft AP) i wyświetli się strona z ESP. Jezeli posiadamy windowsa sprawa jest troche trudniejsza bo musimy odnalezc IP przypisane do ESP. To mozemy sprawdzic najlepiej w ustawieniach DHCP routera. Kopiujemy ten adres to okna adresu w przegladarce i pokaze nam sie strona BrewPiLess. Mozna zainstalowac sobie itunes i bedziemy mieli obsluge mDNS czyli mozemy wpisac brewpi.local zamiast wyszukiwac IP z ESP. Alternatywa itunes jest programik od appla bonjour. Jak juz wejdziemy na lokalna strone BrewPiLess widzimy cos podobnego do screenu z poczatku postu. Jest to raczej samo wytlumaczalne i powinno byc zrozumiale. Na samym dole mamy rozne tryby pracy BrewPi - Beer profile (zmiana temperatury piwa w czasie), Beer Const (utrzymywanie stalej temperatury piwa), Fridge const (utrzymywanie stalej temperatury lodowki), OFF (wiadomo). Na gorze mamy 3 przyciski, zacznijmy od Data Logging, tam ustawiamy serwisy zewnetrzne do monitorowania temperatuy jak thingspeak lub ubidots (jak ktos jest zainteresowany moge pomoc w konfiguracji) oraz lokalne logowanie temperatury. Logowanie nie jest niezbedne do dzialania urzadzenia ale daje informacje co sie dzialo z naszym piwem podczas fermentacji. Pamiec ESP jest ograniczona wiec lokalny log nie bedzie trwal w nieskonczonosc jednak miejsca jest dosc sporo. Nalezy pamietac ze domyslnie opcja logowania lokalnego jest wylaczona i musimy go w tej zakladce wlaczyc. Nastepnie mamy device setup gdzie ustawiamy nasze czujniki temperatury, system sam je odnajdzie. Musimy tylko mu powiedziec ktory to ktory. Ostatni przycisk jest do ustawien hasla itd. Do dyspozycji mamy tez szereg innych rozszerzen adresu: Sam wyswietlacz LCD ip/lcd lub brewpi.local/lcd OTA update - ip:8008/systemupdate lub http://brewpi.local:8008/systemupdate Tutaj podczas aktualizacji mozemy zdalenie wrzucic plik *.bin i kontroler sam nam sie zakutalizuje bez koniecznosci podlaczania przez kabel. Podsumowanie i laczny koszt: ESP8266 2-8$ DS18B20 2x1,5$ Relay 2-6$ suma okolo 10$ - 40zl W planach jest rozbudowanie programu aby mogl pobierac informacje z projektu iSpindel ktory mierzy OG piwa bezprzewodowo. Wtedy mozliwa bedzie zmiana temperatury fermentacji w zaleznosci od etapu fermentacji - OG. Już jest to możliwe