8-900-374-94-44
[email protected]
Slide Image
МСню

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wire h: Arduino Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π½Π°Ρ Wire Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Arduino ESP8266 core: elchupanibrei β€” LiveJournal

Вся боль ΠΎΡ‚ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° I2C ΡˆΠΈΠ½Ρ‹ для Arduino ESP8266 Ρ‚ΡƒΡ‚, Ρ‚ΡƒΡ‚, Ρ‚ΡƒΡ‚ ΠΈ здСсь.


Пока Π½Π° шинС ΠΎΠ΄ΠΈΠ½ slave всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ устройств ΠΈ ESP8266 Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ с ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Π›ΠΈΠ±Π° wire.h ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Π° slave Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π²Π΅ΡˆΠ°Π΅Ρ‚ SDA Π½Π° зСмлю ΠΈ ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚ мастСра SCL, Ρ‡Ρ‚ΠΎΠ± ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ кусок Π±Π°ΠΉΡ‚Π°. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ написан Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ± этом Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° этот ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ slave Π½ΠΎΠ²ΠΎΠ΅ сообщСниС. Устройства Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ‚ΠΊ наш slave ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ SDA. Π›ΠΈΠ±Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ SCL. Когда Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π½Π΅ΠΊΡƒΠ΄Π°, Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» встаСт ΠΊΠΎΠ»ΠΎΠΌ. Π§Π΅Ρ€Π΅Π· ~3 сСкунды, послС остановки loop(), срабатываСт WDT ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ пСрСгруТаСтся. Π‘Π°ΠΌΡ‹ΠΉ Ρ‚Ρ€Π΅Ρˆ ΠΈ ΡƒΠ³Π°Ρ€ начинаСтся Ссли slave — это часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ. ESP8266 пСрСгрузился, Π° часы всС ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ SDA ΠΈ ΠΆΠ΄ΡƒΡ‚ ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ wire.h с Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚. Π§Π΅Ρ€Π΅Π· ~3 сСкунды ΠΎΠΏΡΡ‚ΡŒ сработаСт WDT ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ снова пСрСзагрузится. ΠšΡ€ΡƒΠ³ замкнулся. НС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Ρ€Π³ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ питания Ρ‚ΠΊ часики Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ.

Arduino сообщСство ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΎΡ€ΡƒΠΌΠ° esp8266.ru ΠΌΠΎΡ€ΠΎΠ·ΠΈΠ»ΠΈΡΡŒ:
— Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ устройства
— Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ i2c ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° spi
— Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ МК с Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ i2c ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² esp ΠΏΠΎ uart
— Ρƒ мСня с ΠΎΠ΄Π½ΠΈΠΌ slave всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚…

Π’Π°ΠΊΠΎΠ΅ чувство, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ всС Π½Π° Π·Π°ΠΏΠ»Π°Ρ‚Π΅ Ρƒ Espressif. ΠŸΠΎΠΌΡƒΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСсяцСв ΠΈ ΠΏΠΎΠΊΡƒΡ€ΠΈΠ² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ datasheet Π½Π° i2c пСрСписал Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ ΠΏΠΎΠ΄ Arduino. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ виснСт ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. ВСстировал Π½Π° скоростях ΡˆΠΈΠ½Ρ‹ 10KHz, 15KHz, 25KHz, 50KHz 100KHz, 200KHz, 250KHz, 300KHz, 400kHz ΠΈ частотС камня 80MHz.

Π—Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

UDP: ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт Π½Π° i2c ΡˆΠΈΠ½Ρƒ здСсь.

UDP2: Народ разучился Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ read.me поэтому ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽ Ρ‚ΡƒΡ‚.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ twi.h ΠΈ core_esp8266_si2c.cpp Π² ΠΏΠ°ΠΏΠΊΠ΅ %USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Wire.h ΠΈ Wire.cpp Π² ΠΏΠ°ΠΏΠΊΠ΅ %USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\library\Wire.

Π¦ΠΈΡ„Ρ€Ρ‹ 2.5.2 ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, зависят ΠΎΡ‚ вСрсии установлСнного ядра. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старый ΠΈ Π½Π° Π΅Π³ΠΎ мСсто Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ исходныС Ρ„Π°ΠΉΠ»Ρ‹ — просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ — twi.h.OLD ΠΈ Ρ‚. Π΄. Если ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Ρ„Π°ΠΉΠ»Π°, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΎ врСмя компиляции. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² *.h ΠΈ *.cpp, Π° Π½Π΅ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ windows!!!

UDP3: ΠŸΠΎΡ…ΠΎΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ свалились с Π»ΡƒΠ½Ρ‹ ΠΈ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ i2c ΡˆΠΈΠ½Ρ‹ Π»ΠΈΠ½ΠΈΠΈ SDA ΠΈ SCL Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ подтянуты ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ, Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚.

UDP4: Для сСнсорных ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΡƒΡ‡Ρƒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… скоростСй: 10KHz, 15KHz, 25KHz, 50KHz. ΠŸΠ°Ρ€ΠΎΡ‡ΠΊΡƒ быстрых для Ρ€Π°Π·Π³ΠΎΠ½Π°: 250KHz, 300KHz, 600KHz. НапримСр экран Π½Π° PCF8574 Π»Π΅Π³ΠΊΠΎ взял ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π² 600KHz. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ мСняСтся Ρ‚Π°ΠΊ — Wire.setClock(15000), Π³Π΄Π΅ число Π² Π³Π΅Ρ€Ρ†Π°Ρ…. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² воврСмя ΠΎΡ‚Π²Π΅Ρ‚, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ SCL Π΄ΠΎ 250 микросСкунд, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ частоту Π΄ΠΎ 4KHz. По совСту gihub ΡŽΠ·Π΅Ρ€Π° Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ссли Π² setup() сразу послС Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ Π’Π‘Π•Π₯ устройств Π½Π° I2C Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Wire.setClockStretchLimit(0), Π³Π΄Π΅ число Π² микросСкундах. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ SCL Π΄ΠΎ бСсконСчности, Ρ‚Π΅ 0Hz. НСдостаток — Ссли Π½Π° шинС Π±Π΅Π΄Π°, вся систСма подвиснСт Π² бСсконСчном Ρ†ΠΈΠΊΠ»Π΅. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Ρ„ΠΈΡ‡Π° для отчаянных. Π›ΡƒΡ‡ΡˆΠ΅ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ 1250 микросСкунд — скорости 0.8Hz Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Ρƒ. Π¨ΠΈΡ€ΠΈΠ½Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² смотрСл ΠΊΠ»ΠΎΠ½ΠΎΠΌ Saleae Logic.

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΈ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino

ВсС популярныС ΠΈ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino Uno β–Ί Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ардуино для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino IDE

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ардуино дСлятся Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ β€” стандартныС ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅. ΠŸΡ€ΠΈ установкС Arduino IDE Π² ΠΏΠ°ΠΏΠΊΠ΅ Program Files\Arduino\libraries имССтся Π½Π°Π±ΠΎΡ€ стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²ΠΈΠ΄ΠΎΠ², ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ устройств: сСрвомоторов, ΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ, LCD-дисплССв ΠΈ Ρ‚.Π΄. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС www.arduino.cc.

Бписок стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Arduino:

EEPROM β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Π² ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ eeprom.h)
Ethernet β€” связь с Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ethernet Shield (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ethernet.h)
Firmata β€” для взаимодСйствия Arduino ΠΈ ПК (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ firmata.h)
GSM β€” коммуникация ΠΏΠΎ GSM/GRPS ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ для GSM Shield (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ gsm.h)
LiquidCrystal β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ LCD дисплССм (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ liquidcrystal.h)
SD β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Π² SD ΠΊΠ°Ρ€Ρ‚Ρƒ (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ sd.h)

Servo β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрво Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ servo.h)
SPI β€” для взаимодСйствия Arduino ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ spi.h)
SoftwareSerial β€” коммуникация ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ softwareserial.h)
Stepper β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ stepper.h)
TFT β€” Π²Ρ‹Π²ΠΎΠ΄ тСкста ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π½Π° TFT дисплСС (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ethernet.h)
WiFi β€” связь с Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ WiFi Shield (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ wifi.h)
Wire β€” коммуникация ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ I2C (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ wire.h)

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino IDE

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΠ»Π°Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для Ардуино. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ардуино ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° сайтС GitHub. Π­Ρ‚ΠΎ сСрвис для совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ исходного ΠΊΠΎΠ΄Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΡƒΡ€ΠΎΠΊΠΈ Ардуино для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для занятий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino UNO ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ здСсь:

Бписок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Arduino:

TroykaCurrent β€” ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² АмпСры (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ TroykaCurrent.h)

RotaryEncoder β€” Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ энкодСра (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ RotaryEncoder.h)

Π“Π΄Π΅ хранятся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino IDE

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Arduino IDE хранятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Program Files\Arduino\libraries. Если Π²Π°ΠΌ трСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ардуино, Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ Мои Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹\Arduino\libraries. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ‡Π΅Ρ€Π΅Π· мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ардуино IDE. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΡ‹ рассказывали (ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ инструкции ΠΏΠΎ ссылкС Π²Ρ‹ΡˆΠ΅).

Arduino IDE для ESP8266 – esp8266

Arduino IDE для ESP8266 позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ скСтчи ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π² ESP8266 Π² Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ срСдС (я Π±Ρ‹ Π΄Π°ΠΆΠ΅ сказал Β«Π΄ΠΎ Π±ΠΎΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉΒ») Arduino IDE. Для Ρ‚Π΅Ρ… ΠΊΠΎΠΌΡƒ интСрфСйс Arduino IDE Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎ Π΄ΡƒΡˆΠ΅, Π΅ΡΡ‚ΡŒΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π° для Eclipse. Π˜Ρ‚Π°ΠΊ, ΠΎΠ±ΠΎ всСм ΠΏΠΎ порядку. Π‘Π°ΠΌΡ‹Π΅ Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Arduino IDE для ESP8266: быстрый старт

Arduino IDE для ESP8266 позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ESP8266 Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ это Π΄Π΅Π»Π°Π΅Ρ‚Π΅ с Arduino. ΠŸΡ€ΠΈ этом Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚ Arduino Π½Π΅ трСбуСтся, это Π½Π΅ Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° ESP8266 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС WiFi шилда для Arduino. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ практичСски всС Arduino Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ESP8266 послС нСбольшой Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ настоящСС врСмя ΡƒΠΆΠ΅ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для использования с ESP8266, Π½ΠΎ ΠΎ Π½ΠΈΡ… Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅.

Arduino IDE для ESP8266 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° сСгодняшний дСнь ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ESP8266 (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ особо ΠΈ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с Ρ„Π»Π΅Ρˆ бОльшСго, Ρ‡Π΅ΠΌ 512k объСма. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ NodeMCU (всСх вСрсий), Olimex-MOD-WiFi-ESP8266.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌ авторСстарта ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΠΎ RTS+DTR, ΠΊΠ°ΠΊ Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Arduino, для этого потрСбуСтся USB-TTL Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ с Ρ€Π°Π·Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ DTR ΠΈ RTS. Если Ρƒ вас Ρ‚ΠΎΠ»ΡŒΠΊΠΎ RX, TX ΠΈ GND Π½Π° USB-TTL, Ρ‚ΠΎ придСтся по-старинкС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ ΠΊ Π·Π΅ΠΌΠ»Π΅ GPIO0 ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π΅Ρ€Π³ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ модуля для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.

Arduino IDE для ESP8266: ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² настоящСС врСмя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка Wiring

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ GPIO осущСствляСтся Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ pin для arduino: pinMode, digitalRead, digitalWrite, Β  analogWrite Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ. GPIO Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ: для чтСния состояния GPIO2 Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ digitalRead(2)

GPIO0-GPIO15 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ INPUT, OUTPUT, INPUT_PULLUP, ΠΈ INPUT_PULLDOWN. GPIO16 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ INPUT, OUTPUT ΠΈΠ»ΠΈ INPUT_PULLDOWN. Команда analogRead(A0) считываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ADC (АЦП) с TOUT.

Команда analogWrite(pin, value) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ PWM (ШИМ) Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ GPIO. Команда analogWrite(pin, 0) ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ PWM. value ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ PWMRANGE. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° PWMRANGE Π² настоящСС врСмя Ρ€Π°Π²Π½Π° 1023.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ обСспСчиваСтся функциями attachInterrupt, detachInterrupt. ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π° любой GPIO, ΠΊΡ€ΠΎΠΌΠ΅ GPIO16. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ прСрывания Arduino CHANGE, RISING, FALLING Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ESP8266 β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΈΠ½ΠΎΠ²

Π’Π°ΠΉΠΌΠΈΠ½Π³ ΠΈ delay

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ millis ΠΈ micros Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ миллисСкунды ΠΈ микросСкунды соотвСтствСнно, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° старта модуля. Π›ΡŽΠ±ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ функция delay Ρ‚Π°ΠΊΠΆΠ΅ присутствуСт ΠΈ приостанавливаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скСтча Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя Π² миллисСкундах ΠΈ позволяСт ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ опСрациям WiFi ΠΈ TCP/IP. Ѐункция delayMicroseconds ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ врСмя задаСтся Π² микросСкундах.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ WiFi соСдинСниС, Π΅ΠΌΡƒ приходится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΊΡ€ΠΎΠΌΠ΅ вашСго скСтча. WiFi ΠΈ TCP/IP Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ SDK ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС события Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° вашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ loop() ΠΈΠ»ΠΈ Π²ΠΎ врСмя выполнСния delay(…). Если Π² вашСм ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ 50 миллисСкунд, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΒ  delay(…) для сохранСния Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ работоспособности стСка WiFi.

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ yield(), которая эквивалСнтна delay(0). Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, функция delayMicroseconds Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, поэтому Π΅Π΅ использованиС для Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΡΠ²Ρ‹ΡˆΠ΅ 20 миллисСкунд Π½Π΅ рСкомСндуСтся.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ Serial ΠΈ Serial1 (UART0 ΠΈ UART1)

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Serial Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ с Arduino. Помимо Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ FIFO (ΠΏΠΎ 128 Π±Π°ΠΉΡ‚ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎ 256 Π±Π°ΠΉΡ‚ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… происходит ΠΏΠΎ прСрываниям, ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ для вашСго скСтча. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ записи ΠΈ чтСния Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скСтча Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ FIFO ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.

Serial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ UART0, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° GPIO1(TX) ΠΈ GPIO3(RX). Π­Ρ‚ΠΈ ΠΏΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π° GPIO15 (TX) ΠΈ GPIO13 (RX) Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Serial.swap(); послС Serial.begin();. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Serial.swap(); Π²Π΅Ρ€Π½Π΅Ρ‚ всС Π½Π° свои мСста.

Serial1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ UART1, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ. UART1 TX это GPIO2. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Serial1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Serial1.begin();

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, отладочная информация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ WiFi Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Serial.begin();. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° UART0 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Serial.setDebugOutput(true); Для пСрСнаправлСния Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° UART1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Serial1.setDebugOutput(true);

И Serial ΠΈ Serial1 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ 5, 6, 7, 8 Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, odd (O), even (E), ΠΈ no (N) Ρ€Π΅ΠΆΠΈΠΌΡ‹ чСтности, ΠΈ 1 ΠΈΠ»ΠΈ 2 стоп Π±ΠΈΡ‚Π°. Для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Serial.begin(baudrate, SERIAL_8N1); ΠΈΠ»ΠΈ Serial.begin(baudrate, SERIAL_6E2); ΠΈ Ρ‚.Π΄.

PROGMEM

ΠœΠ°ΠΊΡ€ΠΎΡ PROGMEM Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π² Arduino, помСщая read only Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ строковыС константы (Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹) Π²ΠΎ Ρ„Π»Π΅Ρˆ ΠΏΠ°ΠΌΡΡ‚ΡŒ, высвобоТдая HEAP. Π’Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ESP8266 ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π½Π΅ хранятся Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, поэтому использованиС строковых констант Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкций F(«») ΠΈ/ΠΈΠ»ΠΈ PSTR(«») ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„Π»Π΅Ρˆ памяти ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ одинаковыми строками для экономичного расходования мСста Π²ΠΎ Ρ„Π»Π΅Ρˆ памяти.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° WiFi ESP8266 (ESP8266WiFi)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ WiFi ESP8266 ΠΎΡ‡Π΅Π½ΡŒ схоТи с функциями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ WiFi шилда.

Бписок ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ:

  • WiFi.mode(m): Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ WIFI_AP (Ρ‚ΠΎΡ‡ΠΊΠ° доступа), WIFI_STA (ΠΊΠ»ΠΈΠ΅Π½Ρ‚), ΠΈΠ»ΠΈ WIFI_AP_STA (ΠΎΠ±Π° Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ).
  • WiFi.softAP(ssid) создаСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ доступа
  • WiFi.softAP(ssid, password) создаСт Ρ‚ΠΎΡ‡ΠΊΡƒ доступа с WPA2-PSK ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 8 символов
  • WiFi.macAddress(mac) позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ MAC адрСс Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
  • WiFi.softAPmacAddress(mac) позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ MAC адрСс Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа
  • WiFi.localIP() позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ IP адрСс Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
  • WiFi.softAPIP() позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ IP адрСс Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа
  • WiFi.RSSI() ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°
  • WiFi.printDiag(Serial); Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ
  • Класс WiFiUDP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ multicast ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ multicast ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто udp.beginPacket(addr, port) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ udp.beginPacketMulticast(addr, port, WiFi.localIP()). Когда Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ multicast ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто udp.begin(port) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ udp.beginMulticast(WiFi.localIP(), multicast_ip_addr, port). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ udp.destinationIP() для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π» Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° multicast адрСс ΠΈΠ»ΠΈ прСдназначался ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΠΌ. Multicast Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа.

WiFiServer, WiFiClient, ΠΈ WiFiUDP Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ WiFi шилда. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

Π’ΠΈΠΊΠ΅Ρ€

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ticker ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для выполнСния пСриодичСски ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ событий Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя. Π”Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² поставку.

Π’ настоящСС врСмя Π½Π΅ рСкомСндуСтся Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (ΡΠ΅Ρ‚ΡŒ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) Π² callback функциях Ρ‚ΠΈΠΊΠ΅Ρ€Π°. ВмСсто блокирования устанавливайтС Ρ„Π»Π°Π³ Π² callback функциях ΠΈ провСряйтС этот Ρ„Π»Π°Π³ Π² основном Ρ†ΠΈΠΊΠ»Π΅.

EEPROM

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ стандартной Arduino EEPROM. НСобходимо Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ EEPROM.begin(size) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ чтСния ΠΈΠ»ΠΈ записи, Ρ€Π°Π·ΠΌΠ΅Ρ€ (указываСтся Π² Π±Π°ΠΉΡ‚Π°Ρ…) соотвСтствуСт Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² EEPROM. Π Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 4 Π΄ΠΎ 4096 Π±Π°ΠΉΡ‚.

Ѐункция EEPROM.write Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ запись Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Ρ„Π»Π΅Ρˆ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ EEPROM.commit() ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Ѐункция EEPROM.end() Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ запись Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ освобоТдаСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, запись ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° EEPROM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ сСктор Π²ΠΎ Ρ„Π»Π΅Ρˆ памяти, начиная с адрСса 0x7b000 для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’ поставку Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с EEPROM.

I2C (Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire)

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ, частота ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎ Π΄ΠΎ 450 ΠΊΠ“Ρ†. ΠŸΠ΅Ρ€Π΅Π΄ использованиСм ΡˆΠΈΠ½Ρ‹ I2C, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΈΠ½Ρ‹ SDA ΠΈ SCL ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Wire.pins(int sda, int scl), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Wire.pins(0, 2) для модуля ESP-01. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠΈΠ½Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 4(SDA) ΠΈ 5(SCL).

SPI

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SPI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ вСсь Arduino SPI API, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС Ρ„Π°Π·Ρƒ синхронизации (CPHA). Clock polarity (CPOL) ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся (SPI_MODE2 ΠΈ SPI_MODE3 Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚).

ESP8266 API

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, спСцифичных для ESP8266 (Ρ€Π΅ΠΆΠΈΠΌ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна ΠΈ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ESP. Ѐункция ESP.deepSleep(microseconds, mode) ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mode ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния: WAKE_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. GPIO16 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ соСдинСн с RESET для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ESP.wdtEnable(), ESP.wdtDisable(), ΠΈ ESP.wdtFeed() ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ стороТСвым Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ.

ESP.reset() ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

ESP.getFreeHeap() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ свободной памяти

ESP.getFreeHeap() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ свободной памяти

ESP.getChipId() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ESP8266 chip IDE, int 32bit

ESP.getFlashChipId() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ flash chip ID, int 32bit

ESP.getFlashChipSize() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π»Π΅Ρˆ памяти Π² Π±Π°ΠΉΡ‚Π°Ρ…, Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ опрСдСляСт SDK (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°).

ESP.getFlashChipSpeed(void) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ частоту Ρ„Π»Π΅Ρˆ памяти, Π² Π“Ρ†.

ESP.getCycleCount() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² CPU с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° старта, unsigned 32-bit. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OneWire

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OneWire Π±Ρ‹Π»Π° Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для ESP8266 (внСсСны измСнСния Π² OneWire.h) Если Ρƒ вас установлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OneWire Π² ΠΏΠ°ΠΏΠΊΡƒ Arduino/libraries, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π°, Π° Π½Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° поставки.

mDNS Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ESP8266mDNS

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΊΠ°ΡΡ‚ΠΎΠ²Ρ‹Π΅ DNS запросы для локальной Π·ΠΎΠ½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«esp8266.localΒ». Π’ настоящСС врСмя поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Π·ΠΎΠ½Π°. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ WEB сСрвСру ESP8266 ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ IP адрСсу. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ readme Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Servo

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сСрвомоторами. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎ 24 сСрвоприводов Π½Π° Π»ΡŽΠ±Ρ‹Ρ… доступных GPIO. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 12 сСрвоприводов Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Timer0 ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ нСзависимы ΠΎΡ‚ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссов. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 12 сСрвоприводов Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Timer1 ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ рСсурсы с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ функциями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ Timer1. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сСрвоприводов Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ сигналом ESP8266 3,3Π², Π½ΠΎ Π½Π΅ смогут Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° напряТСнии 3,3Π² ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ источник питания. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ GND этого источника с GND ESP8266

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² поставку Arduino IDE

ΠŸΠΎΡ‡Ρ‚ΠΈ всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ доступ ΠΊ рСгистрам микропроцСссора AVR Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ. На сСгодняшний дСнь ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ протСстированы ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ работоспособны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

  • arduinoWebSockets β€” WebSocket сСрвСр ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для esp8266 (RFC6455)
  • aREST REST API handlerΒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ GPIO Ρ‡Π΅Ρ€Π΅Π· http запросы Π²ΠΈΠ΄Π° http://192.168.1.101/digital/6/1
  • Blynk β€” Π»Π΅Π³ΠΊΠΈΠΉ Π² освоСнии IoT Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΒ (страница Π½Π°Β Kickstarter). Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π° нашСм сайтС ΠΎΠ± этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ESP8266 – УправляСм со смартфона Ρ‡Π΅Ρ€Π΅Π· Blynk
  • DallasTemperature DS18B20, DS1820, DS18S20, DS1822
  • DHT11 β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ DHT dht(DHTPIN, DHTTYPE, 15)
  • NeoPixelBus β€” Arduino NeoPixel Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для esp8266
  • PubSubClient Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MQTT by @Imroy. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π° нашСм сайтС об этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ESP8266 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ OpenWRT+Mosquitto+mqttwarn ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ThingSpeak, EMAIL, Android, iOS, Twitter, CloudMQTT Π² 100 строчСк ΠΊΠΎΠ΄Π° Π² Arduino IDE
  • RTC β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Β for Ds1307 & Ds3231 для esp8266
  • Souliss, Smart Home β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π£ΠΌΠ½ΠΎΠ³ΠΎ Π”ΠΎΠΌΠ°, построСнный Π½Π° Arduino, Android ΠΈ OpenHAB

Установка Arduino IDE Ρ‡Π΅Ρ€Π΅Π· Boards Manager

  1. УстановитС Arduino IDE с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Arduino.cc
  2. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Arduino IDE, Π΄Π°Π»Π΅Π΅ Π€Π°ΠΉΠ» β€” Настройки β€” Π² ΠΏΠΎΠ»Π΅ Additional Boards Manager URLs Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылку Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ http://arduino.esp8266.com/package_esp8266com_index.jsonΠΈΠ»ΠΈ для nightly build http://arduino.esp8266.com/staging/package_esp8266com_index.json, Π½Π°ΠΆΠ°Ρ‚ΡŒ OK (Π’ это ΠΏΠΎΠ»Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСсколько ссылок, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятой)
  3. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” ΠŸΠ»Π°Ρ‚Π° β€” Boards Manager
  4. Π’ Boards Manager Π² ΠΏΠΎΠ»Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ esp8266 ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ пролистайтС список ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ESP8266 by ESP8266 Community Forum
  5. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Install ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ окончания Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (ΠΎΠΊΠΎΠ»ΠΎ 130 ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚). Если Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° слишком быстро, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ устанавливали Arduino IDE для ESP8266 ΠΈ потрСбуСтся ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш Boards Manager, ΠΈΠ½Π°Ρ‡Π΅ Ρƒ вас останСтся установлСнной старая вСрсия. НуТно сначала Π΄Π΅ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ кэша. Для Win7 x64 ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ C:\Users\ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\AppData\Roaming\Arduino15 ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ всС, начиная с ΠΏ.2
  6. Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Boards Manager ΠΈ Π² мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠŸΠ»Π°Ρ‚Π° β€” Generic ESP8266
  7. УстановитС частоту вашСго модуля 80 ΠΈΠ»ΠΈ 160Mhz, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π»Π΅Ρˆ памяти ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ваш USB-TTL Π°Π΄Π°ΠΏΡ‚Π΅Ρ€

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ESP8266

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ESP8266 для Arduino IDE

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ESP8266

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ESP8266ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅USB-TTL
VCCESP8266 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ источнику питания >300мА, 3,3V
GNDвсС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ GND Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ соСдинСны вмСстС: ESP8266, USB-TTL ΠΈ источника питанияGND
TX (UTXD)RX
RX (URXD)TX
GPIO0ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ рСзистор 10kDTR (Ссли Π½Π° вашСм USB-TTL Π½Π΅ Ρ€Π°Π·Π²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ DTR, Ρ‚ΠΎ Π²Π°ΠΌ придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ GPIO0 Π½Π° зСмлю для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ESP8266 Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ)
RESET (RSBT, REST)ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ рСзистор 10k, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΡƒΡŽ RESET ΠΈ GND для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ сброса модуляRTS (Ссли Π½Π° вашСм USB-TTL Π½Π΅ Ρ€Π°Π·Π²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ RTS, Ρ‚ΠΎ Π²Π°ΠΌ придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ )
CH_PD (CH_EN)ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ рСзистор 10k
GPIO15 (MTDO)ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊ Π·Π΅ΠΌΠ»Π΅ рСзистор 10k
(для Ρ‚Π΅Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π³Π΄Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ GPIO15)
GPIO2ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ рСзистор 10k
(Π½Π° схСмС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½, Π½ΠΎ рСкомСндуСтся для увСличСния ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ)
GPIO16для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° Deep Sleep Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΈΠ½Ρ‹ ESP8266 GPIO16 ΠΈ RESET Ρ‡Π΅Ρ€Π΅Π· рСзистор 470 Ом (Π½Π° схСмС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

1. НС Π½Π° всСх модулях Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ всС ΠΏΠΈΠ½Ρ‹. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ΠΌ модуля ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΈΡ… распиновкой.

2. Если Π½Π° вашСм USB-TTL ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΈΠ½Ρ‹ CTS ΠΈ DSR β€” для Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚, Ρ‚.ΠΊ. Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ…ΠΎΠ΄.

3. Для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ESP8266 трСбуСтся источник стабилизированного питания 3,3 Π²ΠΎΠ»ΡŒΡ‚, Ρ‚ΠΎΠΊ Π±ΠΎΠ»Π΅Π΅ 250 ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ€. ИспользованиС питания ΠΎΡ‚ USB-TTL ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

МинимальноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ESP8266

МинимальноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ESP8266 (ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ)

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, со всСми дСталями, ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ESP8266 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅Β ESP8266 – ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ

Arduino IDE для ESP8266: быстрый старт

1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ USB-TTL ΠΊ USB

2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ESP8266 ΠΊ USB-TTL ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ. Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ESP8266 ΠΏΠΎ схСмС Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ (Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ DTR ΠΈ RTS), Ρ‚ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ соСдинитС GPIO0 с Π·Π΅ΠΌΠ»Π΅ΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ модуля β€” всС готово для  ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ

3. ЗапускаСм Arduino IDE

4. Π’ мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” ΠŸΠ»Π°Ρ‚Π° β€” Generic ESP8266 board (Π² самом Π½ΠΈΠ·Ρƒ)

5. Π’ мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠΎΡ€Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ наш USB-TTL

6. Π’ мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€”Β Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ частоту, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π»Π΅Ρˆ памяти вашСго модуля

7. Π’ мСню Π€Π°ΠΉΠ» β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹) β€” ESP8266WiFi β€” WiFiWebServer

8. Π’ скСтчС заполняСтС SSID ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ вашСй WiFi сСти

9. Π–ΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ компиляции ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скСтча

10. Π–Π΄Π΅ΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ°Β ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. ПослС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ схСмС Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π²Ρ‚ΠΎΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, отсоСдинитС GPIO0 ΠΎΡ‚ Π·Π΅ΠΌΠ»ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ модуля Π±Π΅Π· ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ USB-TTL ΠΎΡ‚ питания

11. Π’ мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°

12. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ 115200

13. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ происходит Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

14. Когда ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ ΠΊ сСти, Ρ‚ΠΎ появятся надписи Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ Β«WiFi connectedΒ» ΠΈ Β«Server startedΒ»

15. НиТС Π±ΡƒΠ΄Π΅Ρ‚ IP адрСс вашСго модуля ESP8266, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 192.168.1.248

16. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ любой Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² строкС адрСса Π²Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ Β«http://192.168.1.248/gpio/1Β»

17. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ€Ρ‚Π° ΠΈ Ссли ΠΊ ESP8266 ΠΊ GPIO2 Ρƒ вас ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ свСтодиод (Ρ‡Π΅Ρ€Π΅Π· рСзистор, разумССтся), Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ.

18. Profit!

Автором этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ Arduino IDE для ESP8266 являСтся наш соотСчСствСнник ΠΈΠ· Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π° Иван Π“Ρ€ΠΎΡ…ΠΎΡ‚ΠΊΠΎΠ².

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Arduino IDE для ESP8266 с github

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Arduino IDE для ESP8266 с build сСрвСра

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄Β Arduino IDE для ESP8266

Π—Π°Π΄Π°Ρ‚ΡŒ вопросы Π°Π²Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π˜Π²Π°Π½Ρƒ Π“Ρ€ΠΎΡ…ΠΎΡ‚ΠΊΠΎΠ²Ρƒ akaΒ igrr ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС Π²Β Arduino IDE для ESP8266 ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π° нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅.

Π‘ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 1-Wire устройствами

Β   Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с устройствами, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ 1-Wire ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΡƒΠΆΠ΅ Π΄Π°Π²Π½Ρ‹ΠΌ-Π΄Π°Π²Π½ΠΎ написаны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅Ρ‚ смысла ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд (Π»ΠΈΡ‡Π½ΠΎ я это ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Π», ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π» Β Π½Π° ассСмблСрС) ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС. На сайтС Ρ„ΠΈΡ€ΠΌΡ‹ ATMEL Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ application noteΒ AVR318: Dallas 1-Wire, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рассмотрСны Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 1-Wire ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… AVR – программная ΠΈ аппаратная. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° Π»ΡŽΠ±Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…. Аппаратная – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚Π΅Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ UART. Аппаратной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ 1-Wire ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Β«Π² чистом Π²ΠΈΠ΄Π΅Β» ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ UART Π½Π΅ΠΊΠΈΠΌ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, эту ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. К application note ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π― взял ΠΈΠ· этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΠ», ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ написал Ρ„Π°ΠΉΠ» compilers.h, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π»ΠΈΠ±Ρƒ ΡΒ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… компиляторов – IAR AVR, GNU GCC (WINAVR), CodeVision.

Β Β  Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Β 

OWISWBitFunction.h

OWISWBitFunction.c

OWIUARTBitFunction.c

Β 

OWIHighLevelFunction.h

OWIHighLevelFunction.c

Β 

OWIPolled.h

compilers.h

Β 

OWIdefs.h

OWIdevicespecific.h

OWIcrc.h

OWIcrc.c

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 1-Wire Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: — пСрСписываСм Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

— ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΡΠΈΡˆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

OWIHighFunction.c

OWISWBitFunction.c

OWIUARTBitFunction.c

— добавляСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² main.c

#include «OWIPolled.h»

#include «OWIHighLevelFunctions.h»

#include «OWIBitFunctions.h»

#include «common_files\OWIcrc.h» — настраиваСм Ρ„Π°ΠΉΠ» OWIPolled.h

— Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ OneWire интСрфСйса – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽΒ 

Β Β  Β  Β  #define Β  Β  OWI_SOFTWARE_DRIVER Β  Β 

Β Β  Β  Β  //#define Β  Β  OWI_UART_DRIVER

— Π·Π°Π΄Π°Π΅ΠΌ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Β Β  Β  Β  #define Β  Β  CPU_FREQUENCY Β  16.000

—Β Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠΎΡ€Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° OneWire шина

Β Β  Β  Β  #define Β  Β  OWI_PORT Β  Β  Β PORTD Β  //!< 1-Wire PORT Data register.

Β Β  Β  Β  #define Β  Β  OWI_PIN Β  Β  Β  Β  PIND Β  Β //!< 1-Wire Input pin register.

Β Β  Β  Β  #define Β  Β  OWI_DDR Β  Β  Β  Β DDRD Β  Β //!< 1-Wire Data direction register.

— Π² main.c Π·Π°Π΄Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° OneWire шина

Β Β  Β  Β #define BUS Β  OWI_PIN_7

Β 

Для GCC ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² makefile Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС ΡΠΈΡˆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.Β 

НапримСр, Ρ‚Π°ΠΊ:

Β 

SRC = $(TARGET).c bcd.c lcd_lib.c OWISWBitFunctions.c OWIHighLevelFunctions.c OWIUARTBitFunctions.c Β common_files/OWIcrc.c

Application note AVR318: Dallas 1-Wire

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»ΠΈΡΡŒ Π² ΠΆΠ΅Π»Π΅Π·Π΅ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½Π°Ρ€Π΅ΠΊΠ°Π½ΠΈΠΉ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ. Π’ Proteus`Π΅ я ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ запустил, Π½ΠΎ Π½Π΅ сразу. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌ DS18B20 ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ адрСса. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² адрСса Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠΌ Π³ΠΎΠ΄Ρƒ…

czukowski / Wire.h: это ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino TwoWire, см. Http://code.google.com/p/arduino/source/browse/trunk/libraries/Wire/

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub? ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ β†’
    • ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠ΄Π°
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ
    • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
    • ДСйствия
    • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
    • Π₯остинг
    • ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ
    • Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² β†’
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’
  • ΠΊΠΎΠΌΠ°Π½Π΄Π°
  • прСдприятиС
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ исслСдования
    • Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ GitHub β†’
    Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ вноситС свой Π²ΠΊΠ»Π°Π΄
    • Π’Π΅ΠΌΡ‹
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
    • Π’ Ρ‚Ρ€Π΅Π½Π΄Π΅
    • УчСбная лаборатория
    • Руководства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ΠžΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ
    • Бобытия
    • Π€ΠΎΡ€ΡƒΠΌ сообщСства
.

thexeno / HardWire-Arduino-Library: Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino Wire, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСмоС Π²Π΅Π΄ΠΎΠΌΠΎΠ΅ устройство I2C.

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub? ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ β†’
    • ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠ΄Π°
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ
    • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
    • ДСйствия
    • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
    • Π₯остинг
    • ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ
    • Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² β†’
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’
  • ΠΊΠΎΠΌΠ°Π½Π΄Π°
  • прСдприятиС
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ исслСдования
    • Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ GitHub β†’
    Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ вноситС свой Π²ΠΊΠ»Π°Π΄
    • Π’Π΅ΠΌΡ‹
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
    • Π’ Ρ‚Ρ€Π΅Π½Π΄Π΅
    • УчСбная лаборатория
    • Руководства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ
.

SodaqMoja / Wire: ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Arduino Wire (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ avr)

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub? ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ β†’
    • ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠ΄Π°
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ
    • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
    • ДСйствия
    • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
    • Π₯остинг
    • ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ
    • Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² β†’
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’
  • ΠΊΠΎΠΌΠ°Π½Π΄Π°
  • прСдприятиС
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ исслСдования
    • Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ GitHub β†’
    Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ вноситС свой Π²ΠΊΠ»Π°Π΄
    • Π’Π΅ΠΌΡ‹
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
    • Π’ Ρ‚Ρ€Π΅Π½Π΄Π΅
    • УчСбная лаборатория
    • Руководства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ΠžΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ
    • Бобытия
    • Π€ΠΎΡ€ΡƒΠΌ сообщСства
    • GitHub Education
.

PaulStoffregen / Wire: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… Teensy

ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub? ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ β†’
    • ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠ΄Π°
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ
    • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
    • ДСйствия
    • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
    • Π₯остинг
    • ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ
    • Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² β†’
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’
  • ΠΊΠΎΠΌΠ°Π½Π΄Π°
  • прСдприятиС
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ исслСдования
    • Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ GitHub β†’
    Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ вноситС свой Π²ΠΊΠ»Π°Π΄
    • Π’Π΅ΠΌΡ‹
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
    • Π’ Ρ‚Ρ€Π΅Π½Π΄Π΅
    • УчСбная лаборатория
    • Руководства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ΠžΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ
    • Бобытия
    • Π€ΠΎΡ€ΡƒΠΌ сообщСства
.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *