Inhoudsopgave:
- Stap 1: Benodigde materialen en gereedschappen
- Stap 2: Programmeren
- Stap 3: Hoe de code werkt (als je geïnteresseerd bent, sla anders gewoon over)
- Stap 4: Schema
- Stap 5: Desoldeer de pin-header
- Stap 6: Soldeer de schakelaar
- Stap 7: Verbind CH_PD met VCC
- Stap 8: Verwijder de Power-LED
- Stap 9: Soldeerconfiguratieschakelaar
- Stap 10: Voeg de voeding, regelaar en connector toe
- Stap 11: Superlijm het samen
- Stap 12: Opladen
- Stap 13: Configureren
- Stap 14: Probeer het uit
- Stap 15: Update: 3D-geprint hoesje
Video: Tiny ESP8266 dash-knop (opnieuw configureerbaar): 15 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
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)
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
Dit zou je moeten helpen het te bouwen, tijdens de volgende paar stappen.
Stap 5: 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
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
Om de ESP de code te laten uitvoeren, vergeet niet om CH_PD te verbinden met VCC.
Stap 8: 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
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
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
De laatste stap om alles op zijn plaats te houden, is om alles op zijn plaats te superlijmen.
Stap 12: 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
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:
- Maak verbinding met 'ESP_Button' WiFi Access Point, met het wachtwoord 'wifibutton'
- Ga naar https://192.168.4.1 om de configuratiepagina te openen.
- Nadat u uw waarden hebt ingesteld, klikt u op de knop 'Opslaan' en vervolgens op 'Herstarten'
- 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
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
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:
De Z80-computer opnieuw bezoeken: 6 stappen
De Z80-computer opnieuw bekijken: in het verleden heb ik een handleiding geschreven over het bouwen van een Z80-computer, en ik heb het circuit zo eenvoudig mogelijk ontworpen, zodat het zo gemakkelijk mogelijk kan worden gebouwd. Ik heb ook een klein programma geschreven met hetzelfde idee van eenvoud. T
Een coole oude robot opnieuw doen: 10 stappen (met afbeeldingen)
Voer een coole oude robot opnieuw uit: maak kennis met Arlan, een leuke robot met veel persoonlijkheid. Hij woont in een natuurkundelokaal van de vijfde klas. Ik heb hem omgebouwd tot de mascotte van het robotica-team van de school, hij is ook de helper in de klas. De kinderen zien graag technologie in actie en Arlan loopt
Trainz - Inhoud opnieuw skinnen: 13 stappen
Trainz - Hoe inhoud opnieuw te skinnen: Hallo, ik heb deze handleiding gemaakt om u stap voor stap te laten zien hoe u een model voor Trainz kunt skinnen. Ik gebruik Trainz A New Era en zal het proces demonstreren met mijn gevilde CFCLA CF Class #CF4401. Ik zie dat je misschien ook moeite hebt om te villen. Het t
EBike-batterij opnieuw opbouwen: 3 stappen
EBike Battery Rebuild: Deze Instructable is niet bedoeld om u te leren hoe u moet, maar eerder waarom u uw eigen eBike-batterij niet opnieuw moet opbouwen. Ik heb net een maandenlange verbouwing van mij voltooid en ik heb een lijst met pijnlijke lessen om te delen, die allemaal samenkomen met dit ene advies:
Uw Google Home Mini opnieuw stofferen: 6 stappen (met afbeeldingen)
Bekleed je Google Home Mini opnieuw: wil je een echt unieke digitale assistent voor je huis? Je zou naar een garage sale, kringloopwinkel of het huis van je grootmoeder kunnen gaan en eindigen met een oude stoel. Als dit gebeurt, kunt u ervoor kiezen om dat meubel een nieuwe lift te geven door opnieuw te bekleden