ESP8266 med GPIO0/GPIO2/GPIO15 stift (4 / 4 steg)
Steg 4: Använda GPIO0, GPIO2 och GPIO15 som insatsvaror.
Använda dessa pins som insatsvaror är lite knepigt. Som nämnts ovan på makt upp, och under återställning, skall dessa stift dras upp eller ner som krävs för att har ESP8266 modul starta i normalläge körs. Detta innebär i allmänhet, du kan bara koppla en extern till dessa stift eftersom på driver upp har du vanligtvis inte kan garantera växeln inte kommer vara att dra indata för att marken och förhindra så att modulen från att starta korrekt.
Tricket är att inte ansluta den externa switchen direkt från GPIO0 eller GPIO2 till GND men att ansluta den i stället till en annan GPIO stift som drivs till marken (som en utgång) endast efter ESP8266 startar upp. Kom ihåg, när den används som utgångar, GPIO stiften ger en mycket lågt motstånd anslutning till VCC eller GND beroende på om de är drivna hög eller låg.
Här kommer endast GPIO0 och GPIO2 att beaktas. Med den här metoden kan du få en (1) tillägg inmatning med dessa två (2) GPIO.
En liknande metod kan användas för GPIO15 genom att använda en annan GPIO pin för att ansluta sin övergång till + VCC, men detta inte vinna en extra ingång, du kan lika gärna använda andra GPIO PIN-koden direkt som indata.
Kretsen ovan använder modulen ESP8266-01 som ett exempel. Utan att använda detta trick, har ESP8266-01 inte några fria stift att använda som underlag om du redan använder stift RX/TX för en UART-anslutning.
Eftersom den skiss setup() metod är endast körs efter modulen ESP8266 startar, är det säkert att göra GPIO0 utgång låg sedan och ger en grund för S1 ansluten till GPIO2. Du kan sedan använda digitalRead(2) på andra håll i din skiss för att läsa switch inställningen.
Slutsats
Detta kort meddelande visar hur används GPIO0, GPIO2 och GPIO15 som resultat och hur du använder få en extra ingång med GPIO0 och GPIO2 tillsammans.