Oldalforrás megtekintése Korábbi változatok Hivatkozások Exportálás PDF-be Share on ... Google+ Twitter LinkedIn Facebook Pinterest Telegram Tartalomjegyzék ESP8266 Az ESP-8266 termékcsalád Az ESP-8266 perifériák Technikai jellemzők ESP8266 oldalak és adatlapok Az ESP-01 modul technikai jellemzői Az ESP-01 PIN kiosztása Az ESP-01 Arduino összekötése ESP-01 "Deep Sleep" ESP-01 illesztőmodulok Az ESP-01 szoftver ESP-12 Az ESP-12 PIN kiosztása ESP8266 12-E ESP32 ESPlorer ESP8266 esp8266, wifi, iot Az ESP-t tárgyaló fejezetet két részre bontottam: Ezen az oldalon ismertetem az ESP-1, ESP-12 és ESP-32 modulokat A nodeMCU saját fejezetet kapott itt: nodeMCU Az ESP-8266 termékcsalád Az ESP8266 egy nagyon kedvező árazású, 4 dolláros (jellemzően legfeljebb 10 dolláros) Wi-Fi modul. Lehetővé teszi a bemenetek és a kimenetek vezérlését, csakúgy mint egy Arduino, de a Wi-Fi-vel is rendelkezik, ráadásul az Arduino IDE-vel is programozható, és az Arduino-val is csatolható (pl. a soros portokon keresztül). Néhány jellemző alkalmazás: webszerverként használható HTTP kéréseket küldhet kimeneteket vezérel bemeneteket olvas és megszakításokat kezel emaileket küld tweeteket küld Az ESP név a sanghaji székhelyű kínai gyártóra, az Espressif Systems-re utal. Ők fejlesztették ki ezt az "önjáró" kommunikációs modult, mely jellemzően az "alap" Wifi kommunikációján kívül több más rendszert és kommunikációs lehetőséget is integrál, például a Bluetooth|Bluetoooth]]-t vagy a LoRaWAN-t. A modulok így egy Wi-Fi csipet és egy MCU-t (mikrokontroller egység) foglalnak magukba, és szinte az összes ismert automatizálási rendszer integrálta már ezeket, így az Arduino is. A modulok TCP/IP protokollja egyszerű, többnyire 2 betűs Hayes- stílusú AT parancsokkal vezérelhető, a dokumentációját eredetileg a gyártó csak kínai nyelven adta ki, nem kis közösségi munka volt lefordítani "emberi" nyelvekre. A helyzet szerencsére idővel megváltozott, a gyártó parancs-dokumentációja itt található: https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf A modul több kiadásban kerül forgalomba, ezek közül néhány: ESP-8266 ESP-01 ESP-32 nodeMCU A modulok 3,3V-os TTL jelszinten üzemelnek, az 5V-os rendszerekhez közvetlenül nem mindegyik köthető. Az újabb modulokon a belső memória mérete az alap 512k-ról már legalább 1MB-re emelkedett. Az ESP-8266 perifériák 17 GPIOs SPI I²C (szoftveres megvalósítás) I²S DMA-val UART 10-bit ADC Technikai jellemzők Üzemi hőmérséklet: -40 ℃ .. +125 ℃ Tápfeszültség: 4.5V .. 9V (nodeMCU: 12V max), USB-tápellátás Áramfelvétel: folyamatos felvétel ≈70mA (200mA Max) Készenléti állapot: <200uA ESP8266 oldalak és adatlapok ESP8266 Arduino Core’s documentation ESP8266EX Ez a modul az ESP 8266 sorozat legkisebb és egyben legolcsóbb egysége. Az ESP-01 árának megfelelően kissé korlátozott szolgáltatásokat nyújt, messze nem alkalmas minden "AT" parancs fogadására és feszültségszabályzás hiányában csak a 3,3V-os üzemre alkalmas - a tápellátásáról gondoskodni kell. Az ESP-01 modul technikai jellemzői 2 digiális pin találató rajta (GPIO0 és GPIO2) wifi b / g / n támogatás 8 MB külső QSPI flash memória (1MByte) 32 bites Tensilica Xtensa LX106 processzor (80 MHz) 3.3V tápfeszültség (vigyázat, az áramfelvétele akár 300mA-ig is emelkedhet) NYÁK-ra integrált antenna 2 * 4 PIN Az ESP-01 PIN kiosztása nrpinleírás 1GNDGrund 2GPIO1 / U0TXDSerial UART TX port 3GPIO2Szabadon felhasználható PIN, felfutáskor a boot-eljárást választja ki (lásd fent), Vcc-re kell felhúzni egy (2k-10k) ellenállással 4CHIP_EN / CH-PDChip engedélyezés. HI: be, a chip működik, LO: kikapcsol, alacsony áramfelvétel 5GPIO0 / SPI_CS2Szabadon felhasználható PIN, felfutáskor a boot-eljárást választja ki (lásd fent), Vcc-re kell felhúzni egy (2k-10k) ellenállással 6EXT_RSTBKülső RESET szignál. LO: Reset aktív, HI: nincs reset 7GPIO3 / U0RXDSerial UART RX port 8VccTáp: 3,3V (A 3,3V a maximum, ennél többet nem visel el) COMM LEDkék színű, a kommunikációt jelzi POWER LEDVörös színű, a modul bekapcsolt állapotát jelzi A jellemző pin áram 6mA, de maximum 12mA lehet Alvó módhoz (SLEEP-MODE) a GPIO16-ot az EXT-RSTB-re kell kötni. Ébresztéshez a lekötés után a GPIO16-ot LOW-ban kell hagyni. Újraindításhoz (RESET) a GPIO15-öt LOW, a GPIO16-ot HIGH-ba kell kapcsolni. A táp maximuma 3,6 V lehet, efölött a modul tönkremegy. Teljes áramfelvétel maximuma 100 mA. Az ESP-01 Arduino összekötése Alkatrészjegyzék: Arduino UNO, vagy valami hasonló vezérlő ESP-01 modul 2 x 3K3kΩ (1..10kΩ) ellenállás a CH_PD és a RESET portok felhúzásához 3 x 220Ω ellenállás az UART feszültségosztóhoz 3,3 V-os szabályozott tápegység az ESP8266-hoz (nem érdemes a tápot az Arduino 3,3 V-os csatlakozójáról lekötni, mert az ESP8266-nek nagy az áramfelvétele) breadboard A külső 3,3V-os tápegység grundját mindenképpen érdemes az Arduino grundjával összekötni, így a TTL jelszintek nem fognak egymáshoz képest elcsúszni. Az Arduino TX kommunikációs portját egy feszültségosztón keresztül kell az ESP-hez kötni, az Arduino 5V-os TTL-jét 3,3V-ra kell mérsékelni. Ellenkező irányban ez nem szükséges, a 3,3V HI még értelmezhető 5V HI-nak is (lásd TTL jelszintek). A CH_PD és RESET portok LO aktiv bemenetek, ezeket (3K3kΩ-os (1..10kΩ)) felhúzóellenállásokkal kell HI szinte állítani. http://www.deviceplus.com/how-tos/arduino-guide/esp8266-setup-tutorial-using-arduino/ ESP-01 "Deep Sleep" A mélyalvás funkció, ami sokkal alacsonyabb fogyasztást eredményez stand-by módban, hivatalosan nem érhető el az ESP-01 modulhoz, bekapcsolásához egy kicsit hekkelni kell, a GPIO16 portot közvetlenül az IC-n kell lekötni a RESET (EXT_RSTB) pinhez, így: ESP-01 illesztőmodulok Az illesztőmodulok egyrészt az 5V-os tápból 3,3V-os, az ESP-t nem leégető tápot konvertálnak, de ami fontosabb, az 5V-os TTL TX, RX jeleket is automatikusan (ide-oda) 3,3V-ra alakítják. Nyilván, ezt a feladatot meg lehet oldani ellenállásokkal is, de mennyivel egyszerűbb "konyhakészen" venni ezeket az átalakítókat. ESP-01 UART illesztőmodulESP-01 USB illesztőmodul - 5V / 3.3V tápfeszültség konverzió - 5V / 3.3V TX / RX konverzió - UART modulhoz csatlakoztatható- 5V / 3.3V tápfeszültség konverzió - 5V / 3.3V TX / RX konverzió - USB (serial) csatlakozó - Kondenzátor a dinamikus áramfelvételekhez - CH340 UART-IC (PC driver kell hozzá) Az illesztőmodulokon keresztül a PC-ESP-01 kommunikáció (teszt) legegyszerűbben a Termite programmal valósítható meg. Az ESP-01 szoftver Az alábbi szoftverrel érdemes tesztelni az ESP modult. A parancsokat az IDE soros monitoron keresztül lehet megadni, és a válaszok is oda fognak megérkezni. A biztos kommunikáció céljából a sebességét érdemes az alapértelmezett 11.500 baud-ról 9.600-ra visszavenni. Ezt a modulon a "AT+IPR=9600" paranccsal lehet megtenni. A kommunikációhoz az IDE soros monitoron a sorvég figyelést “Both NL & CR“ módba kell állítani. const byte rxPin = 2 ; // Wire this to Tx Pin of ESP8266 const byte txPin = 3 ; // Wire this to Rx Pin of ESP8266 // We'll use a software serial interface to connect to ESP8266 SoftwareSerial ESP8266 ( rxPin , txPin ) ; void setup ( ) { Serial . begin ( 9600 ) ; // You may need to uncomment this block for the first run: // ESP8266.begin(115200); // Change this to the factory baudrate used by ESP8266 // delay(1000); // // Serial.println("Setting BAUDRATE to 9600"); // ESP8266.println("AT+IPR=9600"); // ESP8266 . begin ( 9600 ) ; } bool okReceived = false ; void loop ( ) { if ( Serial . available ( ) > 0 ) { String command = Serial . readStringUntil ( '\n' ) ; Serial . println ( "Command Sent: " + command ) ; Serial . println ( ) ; ESP8266 . println ( command ) ; } int responseCounter = 0 ; if ( ESP8266 . available ( ) > 0 ) { while ( ESP8266 . available ( ) > 0 ) { if ( responseCounter == 0 ) { Serial . println ( "Response Received:" ) ; } String response = ESP8266 . readStringUntil ( '\n' ) ; Serial . println ( response ) ; responseCounter ++ ; } Serial . println ( ) ; Serial . println ( "============" ) ; Serial . println ( ) ; } } ESP-12 Az ESP-12 PIN kiosztása ESP8266 12-E ESP32 Az ESP32 az ESP8266 utódja (2016-ban került kiadásra), habár az előd, a ESP8266 sem tekinthető "kifutott" modellnek. Ezen a modulon az integrált Wi-fi mellett egy dual-mode Bluetooth is megtalálható. Meg még egy csomó minden más: CPU: Xtensa kétmagos (vagy egymagos) 32 bites LX6 mikroprocesszor, amely 160 vagy 240 MHz-en üzemel és akár 600 DMIPS Ultra alacsony teljesítményű (ULP) társprocesszor Memória: 520 kB SRAM Vezeték nélküli kapcsolat: Wi-Fi: 802.11 b / g / n / e / i Bluetooth: v4.2 BR / EDR és BLE Üzemmódok: AP, STA, vagy AP+STA Periferikus interfészek: 12 bites SAR ADC legfeljebb 18 csatorna 2 × 8 bites DAC-ok 10 × érintésérzékelő ( kapacitív érzékelő GPIO) Hőmérséklet szenzor 4 × SPI 2 × I²S interfész 2 × I²C interfész 3 × UART SD / SDIO / CE-ATA / MMC / eMMC kártyavezérlő SDIO / SPI slave vezérlő Ethernet MAC-cal és Precision Time Protocol-lal CAN 2.0 busz Infravörös távirányító (TX / RX, legfeljebb 8 csatorna) Motor PWM LED PWM (max. 16 csatorna) Hall effekt érzékelő Ultra alacsony teljesítményű analóg előerősítő https://esp-idf.readthedocs.io ESPlorer Az ESPlorer egy multiplatform eszköz / program, mellyel az ESP8266 funkciói elérhetők és minden AT parancs kiadható, tesztelhető. Elérése: https://github.com/4refr0nt/ESPlorer Bővebb leírása: http://www.esp8266.com/viewtopic.php?f=22&t=882