en en id en en en en en en en en en en en en en en en en en en en en ca sv en sv en en en en en es en en en en en en en fr en en en en en en en en en en en en en en en en en en en en en en en sw lv en en en lv en en en lv lv lv en en en lv en en en lv en en en lv en en en lv en en en lv lv en en en lv en en en lv en en en lv en en en lv en en en lv en en en lv lv lv lv lv en lv en en en lv lv en de en lv es en en en lv en en en lv en en en nl en en en lv en en en lv lv lv en en en en lv en en en lv lv en en en lv lv en en en en en en en lv lv lv lt lv en en en lv en en en lv en en en lv en en en lv lv en en en lv en en en en hbs_lat lv lv lv en en en lv fr en lv lv en en en lv en en en en en en en en en en en en en en en en lv lv en en en lv en en en en lv en en en lv en en en lv lv lv en en en en en en en en en en en en en en en fa en en en en en en en en en en en en en en en en en en en en en en en en en en en es fr en en en en en en de en en en ur en en sv es sv en en en
ESP8266 Wi-Fi Module with Teensy and Arduino (Electronics) — Kaspars Dambis
Kaspars Dambis WordPress, Electronics & Home Automation
Home → Blog → Electronics →
December 2, 2014 Electronics ESP8266 44 Comments
Recently I ordered two Espressif ESP8266 breakout modules labeled “ESP8266 Version 01” from hermann_shopp on ebay. It is one of the coolest little chips for makers to have these days — it connects to the internet, has an open SDK with complete toolchain, multiple third-party firmware options such as Micro Python and NodeMcu (LUA). Even Hackaday loves it.
Here is a quick overview of what I have learned so far.
There are multiple breakout modules available for this chip. Here is the pinout for the version (possibly ESP-01) that I got:
CH_PD (chip power down, should be pulled high to start the chip)
VCC (power supply 3.3V, max. ~300mA)
Please note that ESP8266 requires 3.3V power supply and a lot of current (up to 300mA) during wireless transmission. I used two AA batteries in series to power the module.
Secondly, remember that UART pins are marked with respect to the device itself, therefore TX pin from the module should be conntected to the RX pin on Arduino, like so:
TX (ESP8266) to RX (Arduino) RX (ESP8266) to TX (Arduino)
The default serial baud rate for talking to these modules is 9600 while most of the other guides online tell you that the baud rate is 115200. It depends on the firmware so be sure to try out different baud rates. A good indication of correct wiring and incorrect baud rate is when you see garbled text returned from the module in the serial monitor.
I decided to use the awesome Teensy 3.1 to talk to ESP8266 since I no longer had my USB-to-UART cable available. The idea is to have a very simple program on Teensy that relays all the Serial data from the module attached to Serial1 pins RX1 (pin 0) and TX1 (pin 1) to the Serial interface that Teensy uses for communicating with your computer:
Using the following Arduino sketch we’re able to use almost any Arduino-compatible microcontroller that supports UART and serial interface as an UART-to-USB module for communicating with ESP8266 instead of an FTDI chip.
We simply pipe all bytes from ESP8266 connected at Serial1 (note the 1 at the end) interface to Serial which is available from the Arduino serial port monitor.
Once everything is wired up correctly you should see the following message in the Arduino serial monitor sent by the module during the boot process:
Now you are able to interact with the module using a set of AT commands. Here is the version information as reported by AT+GMR:
where 0018 is supposedly the SDK version and 000902 is the AT version. I have no idea what AI03 stands for.
ESP8266 supports firmware updates over the same serial interface with a few changes to the setup — you need to pull the GPIO0 pin to ground and use a 115200 baud rate from Teensy to the module.
There are several tools available for updating the firmware:
Windows only ESP8266 Flash Downloader and
The protocol for uploading the firmware binaries is well known:
The bootloader protocol uses SLIP framing. Each packet begin and end with 0xC0, all occurrences of 0xC0 and 0xDB inside the packet are replaced with 0xDB 0xDC and 0xDB 0xDD, respectively.
Inside the frame, the packet consists of a header and a variable-length body. All multi-byte fields are little-endian.
Espressif has enabled over-the-air updates for all chips with firmware version greater than 00170901. Make sure your module is running this firmware version by executing the AT+GMR command before trying to do the cloud update.
Concatenate Assets Instead of Loading Conditionally
Mounting Shared Folder in VirtualBox on OS X for ESP8266 SDK
Storing Raspberry Pi Wi-Fi Network Settings on the SD Card
Notes on ESP8266 and MicroPython
December 5, 2014 at 17:19
es netieku tālāk par AT komandām, tās vienkāši neizpildās :( caur FTDI .. http://s2.postimg.org/l9pq7t5m1/Screen_Shot_2014_12_05_at_16_59_11.png t.i. nekas nenotiek
December 5, 2014 at 18:48
Izskatās cerīgi! Katra AT komanda ir jābeidz ar “CR+LF” jeb “\r\n” baitiem. Te ir aprakstīts, kā to iestatīt CoolTerm gadījumā.
December 5, 2014 at 19:21
tas viss jau izdarīts, nepalīdz :(
izmēģināju CoolTerm, Arduino, screen + vēl pāris win termināļus. un tas man ir uz visiem 5 čipiem. http://www.ebay.co.uk/itm/201205524305?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
btw es kkā neredzu iepriekšējos komentus
December 5, 2014 at 19:50
Tad, manuprāt, vienīgais iemesls varētu būt bojāts TX vads no FTDI uz moduļa RX, jo FTDI RX gals acīmredzot strādā labi, saņemot ielādes informāciju no moduļa. Varbūt ir kāda cita iekārta ar kuru pamēģināt UART savienojumu, piemēram Raspberry Pi, lai pārliecinātos, ka vaina nav FTDI pieslēgumā?
December 5, 2014 at 22:49
nu arī nevar saprast, jo pēc ‘send’ uz čipa nomirgo zilā gaismiņa us super īsu brīdi
December 6, 2014 at 10:45
Varbūt vari kādā dienā atnest vienu uz Stabu 17, kur man ir birojs un tad varam pamēģināt ar manu slēgumu. Atsūti gan e-pastu pirms tam.
December 6, 2014 at 12:37
Šorīt pamēģināju ar CoolTerm un viss strādā ar šādiem uzstādījumiem (visi noklusētie):
December 5, 2014 at 22:59
Kaspar, esi sastapies ar tādu problēmu, kad šito čipu pievieno pie arduino pat pietiek tikai vcc savienot ar 3.3v un GnD ar GnD, kā rezultātā iedegas, protams, uz čipa diodes, bet uzreiz dators restartējas, tas pats notiek arī ja pievieno rx/tx un zemi.
Vaina čipā vai kaut ko pa vidu vajag ielikt kādu rezistoru vai ko tādu?
December 6, 2014 at 10:51
Man tā ir bijis ar citiem slēgumiem, kas no datora USB pieslēgvietas sāk ņemt vairāk kā 50mA vai 100mA strāvas. Ja pareizi saprotu, tad Tavā gadījumā VCC gan nenāk no datora, bet gan ārēja avota, ja? Tādā gadījumā gan ir grūti pateikt, kas par vainu.
December 5, 2014 at 22:59
labi, vēl paliek kkāds nix terminālis un PI pēc tam nav ideju.. negribētos pie RF atgriezties :/
December 6, 2014 at 12:36
Kaspar, es biju slēdzis pie arduino nano un nano bija pievienots datoram. Aptuveni pēc 2 sekundēm, pie vcc no moduļa pieslēdzu arduino nano 3.3v tā dators restartejās.
December 6, 2014 at 14:03
Tad problēma noteikti ir strāvas daudzums, ko modulis grib ņemt no 3v3 izejas (kas patiesībā nāk no FTDI čipa) un attiecīgi USB avota. Pamēģini darbināt moduli no atsevišķa 3V avota (piemēram, divas AA baterijas).
December 6, 2014 at 19:33
hmm nu tad parasti mac bļauc, ka devaiss grib ņemt pa daudz un tiek tas tiks atslēgts, bet restartam imo nav jābūt
December 7, 2014 at 23:22
Šovakar meklēju Google pēdējās nedēļās jaunumus par ESP8266. Biju ļoti pārsteigts ieraudzīt latvisku vārdu Kaspars. Un vēl lielāks pārsteigums bija ieraudzīt foto “Vēsā mierā” filmas pirmizrādes vienu no galvenajiem varoņiem. Tā bija ļoti iespaidīga filma.
Es nodarbojos ar elektroniku un lāzeriem. Tagad strādāju Vecrīgā Šķūņu ielā 4 Atomfizikas un Spektroskopijas Institūtā.
Pirms 5 gadiem Minhenē biju uztaisījis elektrovelosipēdu.
Tagad man hobijs ir visādas IoT lietiņas.
Esmu paguvis sablogot arī par ESP8266:
Sekošu līdzi Taviem blogiem. Varbūt būs kaut kādi interesanti pielietojumi.
December 7, 2014 at 23:39
Paldies par komentāru, Jāni! Kā jau vienmēr — Latvija ir ļoti maza :) Būtu interesanti kādreiz saskrieties, kad būs brīvāks jaunajā gadā. Es padošu ziņu uz e-pastu.
Šodien noņēmos ar ESP8266 programmēšanu, izmantojot viņu SDK un toolchain. Plānoju par to uzrakstīt, kad būšu pabeidzis pirmo prototipu.
December 12, 2014 at 00:06
Izlasiju, vieglak ir ieprogrammeet vienreiz lua firmware un peec tam var ar lua komandaam uzrakstiit savu algoritmu caur konsoli un tas saglabaajas peec restarta. Piemeeram zinjo par pumpja iesleegsanos.
December 8, 2014 at 17:29
Priecājos, ka LV vairāki cilvēki mēģina ESP8266. Kad sanāk būt Vecrīgā var man uzzvanīt un atnākt ciemos uz Institūtu Šķūņu 4 pretī Hesburgerim, Random veikalam. Mēs diezgan daudz paši taisām elektroniku un programmējam.
December 8, 2014 at 18:02
Jani, piedava elektronikas interesu pulciņu veidot par šo temu ;)?
December 9, 2014 at 23:33
Iesaku salodeet 3.3V regulatoru piemeeram LM1117. Tam vajag veel 2 kondensatorus. Tas taisiis 3.3V no USB 5V.
December 9, 2014 at 23:36
Jā varetu veidot interešu pulciņu. Open Source ir tāda priekšrocība ka katram nevajag visu no nulles izdarīt un var tikt tālāk uz priekšu.
December 8, 2014 at 22:31
aizgāja man tas čips – vnk paņēmu citu arduino :/
čips barojas no 4.5v barokļa, rx/tx pa tiešo uz arduino
caur FTDI pa tiešo joprojām nekā.
ESP8266 uz Serial @ 9600, FTDI uz SoftwareSerial @ 5700 debugošanai
December 8, 2014 at 23:39
Labi, ka bija kāds Arduino, ar ko pamēģināt. Ko būvēsi?
December 8, 2014 at 22:35
tiesa pie mana wifi pieslēdzas ar ~3 meģinājumu (wpa2 63 charu parole);
šad tad timeouti pieprasot kādu hostu – gribētos saprast ar cik voltiem tad īsti būtu jāstrādā.
December 8, 2014 at 23:53
Man gan ļoti ātri pieslēdzas pie WPA2 — domāju, ka mazāk kā pus sekundē. Specenē rakstīts (PDF), ka ESP8266 čipam VDDIO ir 3.6V un pēc skata sķiet, ka uz moduļa nav sprieguma regulatora.
Tīkla SSID un parole tiek glabāti moduļa atmiņā un pēc pārstartēšanas tam vajadzētu pašam ļoti ātri pieslēgties pie tīkla. Esi mēģinājis?
December 10, 2014 at 02:17
Pieslegshanaas aatrumu var parbaudit pec IP adreses sanemsanas ar komandu AT+CIFSR
December 8, 2014 at 23:51
arduino (barebone) pilna māja :D
gribās dabeigt wireless temperatūras/mitruma sensorus + termogavlas regulatoru.
līdz šim izmantoju RF (433 / 315) bet nu tas bija fakaps, visi dačiki jābūto pēc kārtas, lai ‘nepārklātos pārraide’. ar šo wifi cita lieta :D otrā galā sēž priecīgs rpi ar rest api un miers.
temperatūrai un mitrumam DHT22
jāsameklē tikai, kas galvas grozīs. baigi daudz _lētu_ variantu nav
December 9, 2014 at 00:02
Izklausās interesanti! Varu iedot pārīti nRF24L01+ moduļu, ja neesi vēl mēģinājis. Esi domājis kaut ko uzrakstīt par šo projektu? Man būtu ļoti interesanti palasīt un papētīt!
December 9, 2014 at 08:00
Kaspar, pats ar nrf24l01 esi kaut ko sledzis? Tur ja pareizi atceros bija visi 8 pini jaizmanto un lai parsūtītu stringu vai integer čakars ne pa jokam.
December 9, 2014 at 14:44
tikko pamērīju – arduino UNO + esp8266 + DHT22 ‘miera’ režīmā tērē ~50-70mA, kad esp8266 kko sūta (veic web requestu) uzlec uz ~100mA, bet viņu teiktie ~300mA nav pat tuvumā
December 9, 2014 at 23:39
Ja ar multimetru mēra, tad man arī tāpat sanāca. Bet multimetrs droši vien rāda vidējo vērtību un pīķi varētu būt 300 mA.
Pats interesantākais, ka ar CH_PD=GND var iegūt super mazu gulēšanas strāvu 16 uA.
December 9, 2014 at 23:44
tas izklausās ļoti jauki :)
lūk te eksperimenti ar arduino low power un sleepošanu http://www.disk91.com/2014/technology/hardware/arduino-atmega328p-low-power-consumption/
April 17, 2015 at 22:11
Patīkami, ka LV vēl kāds kaut ko ņemas ar šādām lietām. Pirms kāda laiciņa saņēmu savus pirmos ESP, esmu šo to izmēģinājis.
AT komandas – ir OK, strādā. Bet tālāk arī neko neņēmos, pārgāju uz NodeMCU ar LUA. Pozitīvi – ka var iztikt ar vienu pašu ESP moduli, nevajag ne Arduino, ne kādu citu MCU. Programmēšana samērā vienkārša (turklāt – neesmu programmētājs), protams, var jau trāpīties visādi zemūdens akmeņi, par kuriem vēl neko nezinu. Internetā kaudze ar kodiem – DS18B20 temperatūras sensoriem, WS2812 RGB LEDiem utt, primitīviem WEB serveriem, ThingSpeak.com datu logošanai utt. Pārsteidza arī stabilitāte – nekādu problēmu DS18B20 mērījumus sūtīt uz thingSpeak.com arī 5 dienas no vietas ik pēc 30 sekundēm.
Vēl ko varu pieminēt – smuki jāuztaisa barošana – pietiekamas amperāžas un ar filtrējošiem kondensatoriem, it īpaši, ja ir pielikts kāds relejs, kurš var iešvunkāt barošanu un izraisīt ESP uzkāršanos.
April 18, 2015 at 12:34
Jauki, ka forumā paradās jaunumi.
Man paaris meenesus nekaa jauna nav. Konkurss par gaisa kvalitaates sensoriem beidzies.
Konkursā izmantoju TI CC3200 WiFi bet pēc tam pārgāju uz ESP jo tas ir kompaktāks. CO2 mērītājs ar pielikto Arduino +ESP stradā bez uzkāršanās. Sobrīd lietoju Xively, bet laikam būs jāiemācas ar ThingsSpeak rīkoties jo Xively datu attēlošanai ir visādas īpatnības.
Nākamā doma bija pielikt ESP vannasistabas svariem.
April 19, 2015 at 19:40
es, savuārt, laikam pārslēgšos uz NRF24L.. pa daudz ēd tas ESP (ar visiem dīp slīpiem etc). es varēju ~3 nedēļas ar l500 mAh izvilkt :/ (DHT sensor, arduino barebone, ESP8266), sūtot 1x 10min. tiesa, bača no kkāda veca fočuka, varbūt ar jaunu jāmēģina.
btw ja nu kādam noder kods https://gist.github.com/ezisxl/8fd886d377c94c9d1ced
June 5, 2015 at 00:11
Thank you for this article – it’s very helpful! I have two questions:
1. Is it possible to get the Teensy to power itself + a connected ESP8266 if it’s plugged into a computer’s USB port?
2. How can I set up a Teensy to receive instructions from my website via the ESP8266?
June 9, 2015 at 21:59
1. ESP8266 is reported to draw up to 215mA during transmissions while the 3.3V voltage regulator on Teensy can provide only up to 100mA. It should work but not very reliably. It is recommended to use an external battery to power the ESP8266.
2. You should start by getting ESP8266 to accept incoming TCP connections (running a TCP server) and check if you can connect to it from your local network. Afterwards you need to configure your internet router to forward the incoming connections to the appropriate port on ESP8266.
October 22, 2015 at 00:06
Jaunumi: var ESP programmēt no Arduino IDE 1.6.
Piemēram pievienot ESP platītei DS18B20 temperatūras sensoru un sūtīt vērtības uz Thingsspeak.
December 7, 2015 at 13:03
Vakar saliku Instructable par ESP Wi-Fi platīti.
December 7, 2015 at 16:00
Lieliski! Paldies, ka padalījies ar saiti.
December 7, 2015 at 19:10
vari pakomentēt, kā ar enerģijas patēriņu? es tieši dēļ tā (arī deep sleep) atteicos no esp un pāreju atpakaļ uz rf, kas uztur ack..
December 8, 2015 at 07:17
ESP kad darbojas patērē ap 75 mA, kad deepsleep ap 30 uA. Mērīju pats.
Mīnuss tāds, ka paiet kādas 12 s kamēr piekonektējas, nosūta.
432 MHz sensors noraidītu datus apmēram 100 ms laikā un taupītu baterijas daudz labāk.
January 28, 2016 at 10:24
Hey, you shouldn’t have the RST pin dangling around.
January 28, 2016 at 11:05
That is a very good point!
January 28, 2016 at 19:27
I get random resets with ESP8266 with 3 modules. For temperature monitoring it is no problem, but for counting electricity or gas usage it is unusable because of that. Soldered Reset pin to VCC, tried different power supplies, soldered voltage regulator close to the ESP board. And resets still happen once in a while. Many people report same issue if one googles.
Leave a Reply Cancel reply
Notify me by email when the comment gets approved.
Send me new blog posts via e-mail.
Check out my WordPress products
Widget Context for widgets, Block Context for Gutenberg blocks, Storage and Controls for Contact Form 7, Gumroad Embed and this List theme. Learn more about my projects →
Subscribe to my email newsletter
Leave this field empty if you're human:
Notes on Tuya Air Quality Sensors
Use Ventilation Exhaust Air for Space Heating and Hot Water
Notes on Zemismart HomeKit Zigbee Hub
Use Hiking DDS238-2 ZN/S Energy Meter with Home Assistant
Use Aqara G2H Zigbee Camera Hub with Home Assistant
Notes on Gree Amber Nordic GWH09YD-S6DBA1 Heat Pump
WireGuard on MikroTik RouterOS
Using Mini Split Heat Pumps for Space and Hot Water Heating
Notes on Lollette LE3U PLC
Powered by WordPress and List Theme.