Spisu treści:

Tiny ESP8266 Dash-Button (Rekonfigurowalny): 15 kroków
Tiny ESP8266 Dash-Button (Rekonfigurowalny): 15 kroków

Wideo: Tiny ESP8266 Dash-Button (Rekonfigurowalny): 15 kroków

Wideo: Tiny ESP8266 Dash-Button (Rekonfigurowalny): 15 kroków
Wideo: #101 Long lasting DIY "Amazon Dash Button" using an ESP8266 2024, Listopad
Anonim
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)
Mały ESP8266 Dash-Przycisk (Rekonfigurowalny)

To malutki przycisk na desce rozdzielczej oparty na ESP8266. Pozostaje w głębokim śnie, po naciśnięciu przycisku wykonuje żądanie GET do określonego adresu URL, a jeśli jest skonfigurowany, przekazuje również napięcie zasilania jako zmienną. Najlepsze jest to, że po prostu zmostkując dwa piny, możesz wprowadzić go w tryb konfiguracji. Umożliwia zmianę wszystkich ustawień bez przeprogramowywania.

Za podążanie za tym instruktażem zakładam, że znasz pewne rzeczy, takie jak; jak lutować, jak postępować według schematu i jak wgrać program i dane SPIFFS do ESP.

Krok 1: Potrzebne materiały i narzędzia

Potrzebne materiały i narzędzia
Potrzebne materiały i narzędzia
Potrzebne materiały i narzędzia
Potrzebne materiały i narzędzia
Potrzebne materiały i narzędzia
Potrzebne materiały i narzędzia

Do tego projektu będziesz potrzebować:

  • ESP-01 (oczywiście)
  • Akumulator Li-Po 50 mAh lub podobny
  • Gniazdo żeńskie 2x1
  • 3.3V LDO (bardzo polecam HT-7333A, ma doskonały prąd czuwania 4uA i 170mV dropout)
  • Mały przycisk
  • Trochę cienkiego drutu (drut do owijania drutu działa świetnie)

Będziesz także potrzebował:

  • Płytka programowania ESP
  • Lutownica / lut / topnik
  • Pompa rozlutownicza
  • Pęsety i/lub szczypce do ściągania izolacji
  • Papier ścierny
  • Super klej

Krok 2: Programowanie

Programowanie
Programowanie

Ten projekt jest w pełni open source, jeśli chcesz zmodyfikować kod, to jest na moim GitHub. Ale nie ma takiej potrzeby. Ten przycisk można przekonfigurować bez przeprogramowywania.

Wstępnie skompilowany kod możesz pobrać tutaj.

Wystarczy podłączyć programator ESP i ESP8266 (pamiętaj, aby podłączyć GPIO_02 do GND, aby wejść w tryb programowania) i wgrać plik.bin i dane SPIFFS.

Bardzo ważne jest, aby przesłać folder danych SPIFFS, bez niego kod nie uruchomi się. A po usunięciu nagłówków pinów konieczność powrotu do przeprogramowania będzie bardzo żmudna.

Krok 3: Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)

Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)
Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)
Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)
Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)
Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)
Jak działa kod (jeśli jesteś zainteresowany, w przeciwnym razie po prostu pomiń)

Po uruchomieniu ESP odczytuje i analizuje plik „config.jsn” z systemu plików SPIFFS przy użyciu biblioteki ArduinoJSON. To ładuje wszystkie konfigurowalne ustawienia do zmiennych.

Następnie sprawdza, czy GPIO_03[RX] jest podłączony do masy, jeśli tak, wejdzie w tryb konfiguracji.

Jeśli nie, spróbuje połączyć się z Wi-Fi, a następnie z serwerem. Wykonuje żądanie GET i przechodzi w stan głębokiego uśpienia, aby oszczędzać energię.

W trybie konfiguracji możesz ustawić wszystkie ustawienia. (więcej na ten temat w kroku 13)

Ponieważ oszczędzanie energii jest tutaj niezbędne, jeśli cokolwiek trwa zbyt długo lub jeśli połączenie z Wi-Fi / serwerem nie powiedzie się, po prostu miga pięć razy szybko, a następnie długie miganie, aby wskazać błąd i powrócić do głębokiego snu.

Jeśli wszystko pójdzie dobrze, wykona krótkie mrugnięcie, a następnie długie mrugnięcie. Aby pokazać, że to się udało. Następnie wejdź w głęboki sen.

Nadal jesteś ciekawy? spójrz na mój GitHub.

Krok 4: Schemat

Schematyczny
Schematyczny

Powinno ci to pomóc w zbudowaniu go w kolejnych kilku krokach.

Krok 5: Wylutuj nagłówek pinów

Wylutuj nagłówek pinów
Wylutuj nagłówek pinów

Po pierwsze, bądź w 100% pewien, że poprawnie zaprogramowałeś ESP8266 i w 100%, że wgrałeś dane SPIFFS.

Następnie pierwszym krokiem jest wylutowanie listwy pinowej 2x4, co pozwoli nam zmniejszyć nasz przycisk. Ale oznacza to również, że nie można przeprogramować bez ponownego lutowania. Upewnij się, że program i SPIFFS są flashowane.

Nadal będziesz mógł zmienić konfigurację ustawień.

Jest to o wiele łatwiejsze dzięki szpiczastemu grotowi lutownicy i pompce do rozlutowywania. Moją strategią jest najpierw zmostkować wszystkie osiem pinów lutowiem, a następnie podgrzać je wszystkie naraz i wyrwać nagłówek za pomocą pęsety. Następnie po usunięciu nadmiaru lutowia przebijam otwory od góry żelazkiem i wysysam lut pompą od dołu.

Krok 6: Przylutuj przełącznik

Przylutuj przełącznik
Przylutuj przełącznik

Następnie będziesz chciał przylutować przełącznik wciskany między GND a RST. W moim przypadku szpilki do guzików były trochę za grube, więc musiałem je nieco cieńsze przyciąć nożami. Upewnij się, że przycisk jest równo z płytą, w przeciwnym razie może z czasem pęknąć pod wpływem stresu związanego z naciskaniem.

Krok 7: Połącz CH_PD z VCC

Połącz CH_PD z VCC
Połącz CH_PD z VCC

Aby umożliwić ESP uruchomienie kodu, nie zapomnij podłączyć CH_PD do VCC.

Krok 8: Usuń diodę LED zasilania

Usuń diodę LED zasilania
Usuń diodę LED zasilania
Usuń diodę LED zasilania
Usuń diodę LED zasilania

Przycisk musi zużywać jak najmniej energii. A ponieważ jest zawsze włączony, dioda LED zawsze będzie pobierać ~4mA. Skróciłoby to żywotność baterii do dwunastu godzin. Więc wylutuj go lub odłam.

Krok 9: Przełącznik konfiguracji lutowania

Przełącznik konfiguracji lutowania
Przełącznik konfiguracji lutowania

Aby wejść w tryb konfiguracji, GPIO_03[RX] musi być podłączony do GND. Aby to ułatwić, przylutowałem małą dźwignię, którą można odsunąć na bok, aby wykonać połączenie.

Krok 10: Dodaj zasilacz, regulator i złącze

Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze
Dodaj zasilacz, regulator i złącze

To najdłuższa część kompilacji. Będziesz musiał przylutować akumulator, regulator napięcia i złącze ładowania zgodnie ze schematem.

Aby wszystko zmieściło się w niewielkiej przestrzeni pod ESP-01, musiałem zeszlifować obudowę TO92 regulatora napięcia. Pamiętaj, aby zaplanować swój układ przed lutowaniem, będzie bardzo ciasny, ale nadal powinien być możliwy do wykonania.

Jeśli bateria jest za duża, możesz zrezygnować z regulatora napięcia. To zadziała, ale grozi uszkodzeniem ESP8266. Jest oceniany tylko na maksymalnie 3,6 V, ale w pełni naładowany LiPo ma 4,2 V. Kontynuuj na własne ryzyko.

Krok 11: Superglue It Toghether

Superglue to razem
Superglue to razem
Superglue to razem
Superglue to razem
Superglue to razem
Superglue to razem

Ostatnim krokiem do utrzymania wszystkiego na miejscu jest superklejenie wszystkiego na swoim miejscu.

Krok 12: Ładowanie

Ładowanie
Ładowanie

Aby naładować przycisk, będziesz potrzebować jakiejś ładowarki LiPo, ja po prostu używam ogólnej ładowarki USB Li-Po podłączonej do przycisku za pomocą złącza ładowania. Uważaj, aby nie zamienić polaryzacji.

Krok 13: Skonfiguruj

Konfiguruj
Konfiguruj

Jesteś już prawie gotowy do użycia przycisku po raz pierwszy.

Aby wejść w tryb konfiguracji należy podłączyć GPIO_03[RX] do GND, będzie to łatwiejsze jeśli wlutowałeś dźwignię jak w kroku 9. Następnie naciskając przycisk reset ESP powinien wejść w tryb konfiguracji. Możesz już odłączyć dźwignię.

Następnie możesz po prostu:

  1. Połącz się z punktem dostępu Wi-Fi „ESP_Button” za pomocą hasła „wifibutton”
  2. Odwiedź https://192.168.4.1, aby otworzyć stronę konfiguracji.
  3. Po ustawieniu wartości kliknij przycisk „Zapisz”, a następnie „Uruchom ponownie”
  4. Twój przycisk uruchomi się ponownie, wykona żądanie i przejdzie w głęboki sen.

Upewnij się, że wpisujesz tylko nazwę hosta w polu hosta, bez https:// lub https:// i oddziel resztę adresu URL w polach URI.

Krok 14: Wypróbuj

Image
Image

Powinieneś być gotowy do pracy, naciśnięcie przycisku spowoduje wysłanie żądania GET.

Powyższy film to mój przycisk łączący się z moją witryną i IFTTT, publikujący niestandardowy wygenerowany tweet.

Konfiguracja żądania GET wykracza poza zakres tej instrukcji, ale powinieneś być w stanie łatwo połączyć to z IFTTT lub jakąkolwiek inną usługą. Jeśli chcesz napisać niestandardowy kod PHP i umieścić go na swojej własnej stronie internetowej, tak jak ja, możesz nawet monitorować baterię.

Jeśli masz jakiekolwiek problemy lub potrzebujesz pomocy w rozwiązywaniu problemów, zostaw komentarz poniżej.

Każdy może przedstawić pomysły, jak to ulepszyć, na przykład przypadek? xD

Zostaw komentarz, jeśli jesteś fanem Doctor Who.

Pozdrawiam!

Krok 15: Aktualizacja: obudowa z nadrukiem 3D

Aktualizacja: obudowa z nadrukiem 3D
Aktualizacja: obudowa z nadrukiem 3D
Aktualizacja: obudowa z nadrukiem 3D
Aktualizacja: obudowa z nadrukiem 3D
Aktualizacja: obudowa z nadrukiem 3D
Aktualizacja: obudowa z nadrukiem 3D

Po pewnym czasie za pomocą klawisza kreski postanowiłem zrobić dla niego skrzynkę. Załączone pliki STL i Fusion 360.

Zalecana: