Inhoudsopgave:

Tiny ESP8266 dash-knop (opnieuw configureerbaar): 15 stappen
Tiny ESP8266 dash-knop (opnieuw configureerbaar): 15 stappen

Video: Tiny ESP8266 dash-knop (opnieuw configureerbaar): 15 stappen

Video: Tiny ESP8266 dash-knop (opnieuw configureerbaar): 15 stappen
Video: УРОК ПО MICROPYTHON | ЗАПУСКАЕМ ВЕБ СЕРВЕР НА ESP8266 #micropython #python #esp8266 2024, Juli-
Anonim
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)
Tiny ESP8266 Dash-knop (opnieuw configureerbaar)

Dit is een kleine op ESP8266 gebaseerde dash-knop. Het blijft in diepe slaap, zodra u op de knop drukt, voert het een GET-verzoek uit naar de opgegeven URL en indien geconfigureerd, geeft het ook de voedingsspanning door als een variabele. Het beste is dat u door eenvoudig twee pinnen te overbruggen, de configuratiemodus kunt openen. Hiermee kunt u alle instellingen wijzigen zonder te herprogrammeren.

Voor het volgen van deze instructable ga ik ervan uit dat je een aantal dingen weet, zoals; hoe te solderen, hoe een schema te volgen en hoe een programma en SPIFFS-gegevens naar een ESP te uploaden.

Stap 1: Benodigde materialen en gereedschappen

Benodigde materialen en gereedschappen
Benodigde materialen en gereedschappen
Benodigde materialen en gereedschappen
Benodigde materialen en gereedschappen
Benodigde materialen en gereedschappen
Benodigde materialen en gereedschappen

Voor dit project heb je nodig:

  • Een ESP-01 (uiteraard)
  • Een 50mAh of vergelijkbare Li-Po-batterij
  • 2x1 vrouwelijke pin-header
  • Een 3.3V LDO (Beveel de HT-7333A ten zeerste aan, het heeft een uitstekende standby-stroom van 4uA en 170mV uitval)
  • Een kleine drukknop
  • Wat dunne draad (draadwikkeldraad werkt prima)

Je hebt ook nodig:

  • Een ESP-programmeerbord
  • Een soldeerbout / soldeer / flux
  • Een desoldeerpomp
  • Pincet en/of draadstripper
  • Schuurpapier
  • Superlijm

Stap 2: Programmeren

Programmeren
Programmeren

Dit project is volledig open source, als je de code wilt wijzigen, staat het op mijn GitHub. Maar dat hoeft ook niet. Deze knop kan opnieuw worden geconfigureerd zonder herprogrammering.

U kunt de voorgecompileerde code hier downloaden.

Sluit gewoon uw ESP-programmeur en uw ESP8266 aan (vergeet niet om GPIO_02 te verbinden met GND om de programmeermodus te openen) en upload het.bin-bestand en de SPIFFS-gegevens.

Het is erg belangrijk om de SPIFFS-gegevensmap te uploaden, zonder deze zal de code niet opstarten. En na het verwijderen van de pin-headers zal het erg vervelend zijn om terug te gaan om te herprogrammeren.

Stap 3: Hoe de code werkt (als je geïnteresseerd bent, sla anders gewoon over)

Hoe de code werkt (als je geïnteresseerd bent, sla je anders gewoon over)
Hoe de code werkt (als je geïnteresseerd bent, sla je anders gewoon over)
Hoe de code werkt (als je geïnteresseerd bent, sla je anders gewoon over)
Hoe de code werkt (als je geïnteresseerd bent, sla je anders gewoon over)
Hoe de code werkt (als je geïnteresseerd bent, sla anders gewoon over)
Hoe de code werkt (als je geïnteresseerd bent, sla anders gewoon over)

Wanneer de ESP opstart, leest en parseert het het bestand 'config.jsn' van het SPIFFS-bestandssysteem met behulp van de ArduinoJSON-bibliotheek. Dit laadt alle configureerbare instellingen op in variabelen.

Vervolgens controleert het of GPIO_03[RX] is verbonden met aarde, als dit het geval is, gaat het naar de configuratiemodus.

Als dit niet het geval is, probeert het verbinding te maken met wifi en vervolgens met de server. Het voltooit een GET-verzoek en gaat in diepe slaap om stroom te besparen.

In de configuratiemodus kunt u alle instellingen instellen. (meer hierover in stap 13)

Aangezien het hier essentieel is om stroom te besparen, zal het, als iets te lang duurt of als het verbinden met wifi/server mislukt, vijf keer snel knipperen en daarna lang knipperen om een fout aan te geven en terug te keren naar de diepe slaap.

Als het allemaal goed gaat, zal het een korte knipper en dan een lange knippering doen. Om te laten zien dat het lukt. Ga dan de diepe slaap in.

Nog steeds nieuwsgierig? kijk eens op mijn GitHub.

Stap 4: Schema

Schematisch
Schematisch

Dit zou je moeten helpen het te bouwen, tijdens de volgende paar stappen.

Stap 5: Desoldeer de pin-header

Desoldeer de pin-header
Desoldeer de pin-header

Wees er eerst 100% zeker van dat je de ESP8266 correct hebt geprogrammeerd en 100% zeker dat je de SPIFFS-gegevens hebt geüpload.

Dan is de eerste stap om de 2x4 pin header te desolderen, hierdoor kunnen we onze knop kleiner maken. Maar het betekent ook dat u niet kunt herprogrammeren zonder het opnieuw te solderen. Zorg ervoor dat het programma en SPIFFS geflitst zijn.

U kunt de instellingen nog steeds opnieuw configureren.

Dit gaat een stuk makkelijker met een puntige soldeerboutpunt en een desoldeerpomp. Mijn strategie is om eerst alle acht pinnen te overbruggen met soldeer, ze dan allemaal tegelijk te verwarmen en de header eruit te trekken met een pincet. Na het verwijderen van het overtollige soldeer, prik ik de gaten van bovenaf met het strijkijzer en zuig het soldeer eruit met mijn pomp via de onderkant.

Stap 6: Soldeer de schakelaar

Soldeer de schakelaar
Soldeer de schakelaar

Vervolgens wilt u uw drukschakelaar tussen GND en RST solderen. In mijn geval waren de knoopspelden net iets te dik, dus ik moest ze met wat knipjes wat dunner knippen. Zorg ervoor dat de knop gelijk met het bord zit, anders kan deze na verloop van tijd breken door de stress van het indrukken.

Stap 7: Verbind CH_PD met VCC

Verbind CH_PD met VCC
Verbind CH_PD met VCC

Om de ESP de code te laten uitvoeren, vergeet niet om CH_PD te verbinden met VCC.

Stap 8: Verwijder de Power-LED

Verwijder de Power-LED
Verwijder de Power-LED
Verwijder de Power-LED
Verwijder de Power-LED

De knop moet zo min mogelijk stroom verbruiken. En aangezien deze altijd aan is, verbruikt de power-led altijd ~4mA. Dit zou de levensduur van de batterij terugbrengen tot twaalf uur. Dus desoldeer het of breek het af.

Stap 9: Soldeerconfiguratieschakelaar

Soldeer configuratie schakelaar
Soldeer configuratie schakelaar

Om de configuratiemodus te openen, moet GPIO_03[RX] verbonden zijn met GND. Om het makkelijk te maken heb ik een hendeltje gesoldeerd dat opzij geschoven kan worden om de verbinding te maken.

Stap 10: Voeg de voeding, regelaar en connector toe

Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe
Voeg de voeding, regelaar en connector toe

Dit is het langste deel van de build. U moet de batterij, spanningsregelaar en de laadconnector volgens het schema solderen.

Om het allemaal in de kleine ruimte onder de ESP-01 te laten passen, moest ik het TO92-pakket van de spanningsregelaar schuren. Zorg ervoor dat u uw lay-out plant voordat u gaat solderen, het zal erg strak zijn maar moet nog steeds te doen zijn.

Als uw batterij te groot is, kunt u ervoor kiezen om de spanningsregelaar weg te laten. Dit zal werken, maar het risico bestaat dat de ESP8266 beschadigd raakt. Het is alleen geschikt voor maximaal 3,6 V, maar een volledig opgeladen LiPo levert 4,2 V. Ga verder op eigen risico.

Stap 11: Superlijm het samen

Superlijm het samen
Superlijm het samen
Superlijm het samen
Superlijm het samen
Superlijm het samen
Superlijm het samen

De laatste stap om alles op zijn plaats te houden, is om alles op zijn plaats te superlijmen.

Stap 12: Opladen

Opladen
Opladen

Om je knop op te laden, heb je een soort LiPo-oplader nodig, ik gebruik gewoon een generiek USB Li-Po-opladerbord dat via de oplaadconnector op de knop is aangesloten. Pas op dat u de polariteit niet omdraait.

Stap 13: Configureren

Configureren
Configureren

U bent bijna klaar om uw knop voor de eerste keer te gebruiken.

Om de configuratiemodus te openen, moet u GPIO_03[RX] verbinden met GND, dit zal gemakkelijker zijn als u een hendel hebt gesoldeerd zoals in stap 9. Door vervolgens op de knop te drukken om de ESP te resetten, zou deze in de configuratiemodus moeten gaan. U kunt nu de hendel loskoppelen.

Dan kunt u eenvoudig:

  1. Maak verbinding met 'ESP_Button' WiFi Access Point, met het wachtwoord 'wifibutton'
  2. Ga naar https://192.168.4.1 om de configuratiepagina te openen.
  3. Nadat u uw waarden hebt ingesteld, klikt u op de knop 'Opslaan' en vervolgens op 'Herstarten'
  4. Uw knop wordt opnieuw opgestart, voert het verzoek uit en gaat in diepe slaap.

Zorg ervoor dat u alleen de hostnaam typt in het hostveld, geen https:// of https:// en scheid de rest van de URL in de URI-velden.

Stap 14: Probeer het uit

Image
Image

Je zou helemaal goed moeten zijn om te gaan, als je op de knop drukt, wordt je GET-verzoek gedaan.

De video hierboven is mijn knop die verbinding maakt met mijn website en IFTTT en een op maat gemaakte tweet plaatst.

Het instellen van het GET-verzoek valt buiten het bestek van deze instructable, maar u zou dit gemakkelijk moeten kunnen verbinden met IFTTT of een andere service. Als je bereid bent om wat aangepaste PHP-code te schrijven en deze op je eigen website te hosten, zoals ik deed, kun je misschien zelfs de batterij controleren.

Als je problemen hebt of hulp nodig hebt bij het oplossen van problemen, laat dan hieronder een reactie achter.

Iedereen is welkom om ideeën te geven over hoe dit te verbeteren, zoals misschien een zaak? xD

Laat een reactie achter als je een Doctor Who-fan bent.

Proost!

Stap 15: Update: 3D-geprint hoesje

Update: 3D-geprint hoesje
Update: 3D-geprint hoesje
Update: 3D-geprint hoesje
Update: 3D-geprint hoesje
Update: 3D-geprint hoesje
Update: 3D-geprint hoesje

Na een tijdje de dash-knop te hebben gebruikt, heb ik besloten er een zaak voor te maken. STL- en Fusion 360-bestanden bijgevoegd.

Aanbevolen: