Мазмуну:

ESP8266 12X модулун программалоонун 3 жөнөкөй жолу: 5 кадам (сүрөттөр менен)
ESP8266 12X модулун программалоонун 3 жөнөкөй жолу: 5 кадам (сүрөттөр менен)

Video: ESP8266 12X модулун программалоонун 3 жөнөкөй жолу: 5 кадам (сүрөттөр менен)

Video: ESP8266 12X модулун программалоонун 3 жөнөкөй жолу: 5 кадам (сүрөттөр менен)
Video: Extract GPS location in Arduino with NEO-6m or NEO-7M module 2024, Ноябрь
Anonim
ESP8266 12X модулун программалоонун 3 жөнөкөй жолу
ESP8266 12X модулун программалоонун 3 жөнөкөй жолу

Эгерде сиз ESP8266 микро контроллери менен тааныш эмес болсоңуз, анда мен сизди жоготуп жаткандай сезем! Бул нерселер укмуштуудай: алар арзан, күчтүү жана баарынан да WiFi орнотулган! ESP8266 сапарын дагы салттуу Arduino такталары үчүн WiFi кошуу катары баштады, бирок көп өтпөй коомчулук алардын күчүн түшүндү жана колдоону кошумчалады. Arduino IDE менен түздөн -түз программалай билүү.

Бул күндөрү сиз ESP8266 долбооруңузду колдонууну каалап жатсаңыз, мен Wemos D1 Mini* ($ 2.50 жеткирилген !!) же Adafruit Feather Huzzah сыяктуу өнүгүү тактасын колдонууну сунуштайт элем. Бул тактайларда бардык жарактуу казыктар сынган, микро USB туташтыргычы аркылуу оңой программаланат жана 3.3V регулятору орнотулган, бирок эгер сиз колдонуучу ПХБ менен долбоордо ESP8266 колдонууну кааласаңызчы? Эң оңой жол - бул ESP12 модулун колдонуу, жана бул Нускамада мен сизге аларды программалоонун бир нече жөнөкөй жолдорун көрсөтөм.* = Affiliate Link

1 -кадам: Видеону карап көрүңүз

Бул жерде, эгерде сиз текшерүүнү кааласаңыз, Нускамада камтылган бардык маалыматтар камтылган видео. Менин каналымда мен ESP8266s менен көп иштейм, андыктан менин каналым жалпысынан ушундай нерселер сизди кызыктырып жаткандыгын текшерип көрүүгө арзыйт!

2-кадам: Алдын ала кадам: ESP8266 программасын орнотуу

Image
Image

Эгерде сиз эч качан ESP8266 же Arduino колдоно элек болсоңуз, анда биз бир аз программалык камсыздоону орнотушубуз керек болот. Бул үчүн менде атайын видео бар. Бул болгону 5 мүнөт жана орнотуу үчүн керектүү нерселердин бардыгын басып өтөт.

Эгерде видеолор чындыгында сиздики болбосо, Беккинин укмуш IoT классынын 2 -сабагын караңыз, ал сизге керектүү нерселердин бардыгын камтыйт.

Кийинки бөлүмгө өтүүдөн мурун сиз ESP8266га жөнөкөй эскизди жүктөп алышыңыз керек (мисалы, видеодо жана Беккинин сабагында айтылган мисал сыяктуу)

3 -кадам: 1 -ыкма: "Бака" пин программисти

Метод 1
Метод 1

Бул, балким, ESP12 модулун программалоонун эң оңой жолу. Сиз негизинен модулду тактага киргизесиз, анан ал жогоруда айтылган өнүктүрүү такталарынын бирине окшош. Мен Wemos D1 Mini тактасын программалоодо ачылуучу такталардан тандап алдым. Бул методдун терс жактары:

  • Эгерде сиз бир нече такталарды жасап жатсаңыз, программист бир аз кымбатыраак.
  • Тактайларды ПКБга кошулганга чейин ушундай жол менен программалоого болот

Мен сатып алган Aliexpressтен, бирок мен түп дизайнер Fred аттуу Tindieдеги колдонуучу деп эсептейм. Алар ошол кезде сатылып кеткендиктен, мен Aliexpress менен бардым, бирок экөөнө тең шилтеме кылам.

  • Aliexpress калкып чыгуучу ESP модулунун программисти*
  • Фреддин Frog Pin ESP модулунун программисти

* = Өнөктөштүк шилтемеси

4 -кадам: 2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу

2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу
2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу
2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу
2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу
2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу
2 -ыкма: Негизинен каалаган USB сериялык конвертерин колдонуу

Кийинки ыкма үчүн биз ESP модулун колго программалоо режимине коёбуз жана андан кийин ESP8266ны программалоо үчүн негизинен каалаган USBди колдонобуз, ал тургай 50c жеткирилген иштерге PL2303*!

Кадимки иштөө:

Программалоого киришүүдөн мурун, биринчи кезекте ESP8266 кандай тышкы компоненттерди иштетиши керек экенин карап көрүшүбүз керек. Нормалдуу иштеши үчүн ESP-12 модулуна төмөнкүлөр керек

  • EN, RST жана GPIO 0 10K резистордун жардамы менен бийик тартылышы керек
  • GPIO 15ти 10K каршылыгын колдонуп жерге тартуу керек
  • 3.3V электр менен камсыздоо 250mA ток жөнүндө жөндөмдүү (VCC менен GND ортосундагы капкак сунушталат)

Жогорудагы конфигурация менен ESP8266 күйгүзүлгөндө Кадимки иштөө режиминде болот, андыктан сиз ага программалаган бардык эскиздерди иштетет. Ар кандай орнотууларды текшерүү үчүн чынында пайдалуу болгон ESP-12 модулдары* үчүн сындыруучу такталарды сатып алсаңыз болот. Модулдарда EN жана GPIO 15 пин үчүн резисторлор орнотулган, андыктан дагы эле RST жана GPIO 0 үчүн тартма каршылыкты кошуу керек болот,

Программалоо режимин иштетүү:

Аны программалоо режимине өткөрүү үчүн, ESP иштеп баштаганда GPIO 0 төмөн тартылышы керек. Мунун эң оңой жолу - басылганда жерге туташкан GPIO 0 жана RST пинге баскычтарды кошуу. Андан кийин флеш режимин иштетүү үчүн, сиз жөн гана

  • GPIO 0 баскычын басып туруңуз
  • RST баскычын басыңыз
  • Андан кийин эки баскычты тең коё бериңиз

Бул ырааттуулукту жүктөө процессинде же кандайдыр бир убакта аткаруунун кажети жок, ESP программалоо режиминде болгондон кийин, ал кийинки абалга келтирилгенге чейин ошол жерде калат, андыктан жөндөөнү каалаган убакта каалаган убакта аткарыңыз.

USB менен сериялык адаптерге программалоо:

Программа режимин иштетүү - бул согуштун жарымы, азыр биз модулду иш жүзүндө программалашыбыз керек. Көпчүлүк USB сериялык адаптерлер ESP8266га жетишерлик ток бере албайт, андыктан ESP8266га тышкы 3.3V булагын колдонуу менен кубат берүү сунушталат.

Программистти туташтыруу үчүн төмөнкү пиндерди туташтыруу керек (ошондой эле жогорудагы сүрөттө көрсөтүлгөн):

  • Программисттин TXсин ESP8266 RXке туташтырыңыз (ката эмес, байланыштар артка кайтарылат)
  • Программисттин RX'ин ESP8266 TXке туташтырыңыз
  • Программисттин жерин ESP8266дын жерге туташтырыңыз

Эскизди жүктөө үчүн, төмөнкү кадамдарды жасаңыз:

  • Сериялык адаптериңиздин порт номерин тандаңыз (Куралдар-> Порт)
  • Жогоруда айтылгандай ESP8266 түзмөгүңүздө программалоо режимин иштетүү
  • Жүктөө баскычын чыкылдатыңыз. (Эгерде ал ишке ашпай калса, зымдарды текшерип, тактаңызды программалоо режимине кайра коюп көрүңүз)
  • Жүктөө аяктагандан кийин, баштапкы абалга келтирүү баскычын чыкылдатыңыз

Бул жерде мен бул ыкманы колдонуу менен жүктөөдө колдонгон такта жөндөөлөрү:

  • Такта: Жалпы ESP8266 модулу
  • Жарык режими: DIO
  • Жарыктын өлчөмү: 4M (3M Spiffs)
  • Калыбына келтирүү ыкмасы: ck
  • Жарык жыштыгы: 40 МГц
  • Жүктөө ылдамдыгы: 115200

Белгилей кетүүчү акыркы нерсе - бул жалпы ESP8266 модулунун LED_BUILIN аныктамасы, 1 -пинге чейин, бирок ESP12 модулунун LED диапазону 2 -пинге туташкан (Бул активдүү көрсөткүч катары өтө төмөн). Демек, эгер сиз эскиздин эскизин сынап жатсаңыз, анда LED_BUILTIN эмес, 2 санын колдонууңуз керек болот.

* = Өнөктөштүк шилтемеси

5 -кадам: 3 -ыкма: NodeMCU аркылуу программистти автоматтык түрдө баштапкы абалга келтирүү

3 -ыкма: NodeMCU аркылуу программистти автоматтык түрдө баштапкы абалга келтирүү
3 -ыкма: NodeMCU аркылуу программистти автоматтык түрдө баштапкы абалга келтирүү
3 -ыкма: NodeMCU аркылуу программистти автоматтык түрдө баштапкы абалга келтирүү
3 -ыкма: NodeMCU аркылуу программистти автоматтык түрдө баштапкы абалга келтирүү

Эгерде сиз ESPти иштеп чыгуу такталарын колдонгон болсоңуз, анда алардын бардыгы баскычтарды колдонуп программалоо режимин кол менен иштетүүнү талап кылбай турганын байкадыңыз, андыктан алар муну кантип жасашат?

Көпчүлүк USB сериялык чиптерине жүктөө процессинин ар кандай стадияларында сигналдарды чыгаруучу кошумча казыктары бар жана кээ бир тышкы схемаларды колдонуу менен GPIO 0дун төмөндүгүн жана баштапкы абалга келтирүүгө болот. RuiMoteiro бул темада FTDI тактасын жана ESP8266ди колдонуп инструктажга ээ.

Бирок, менимче, буга жөнөкөй мамиле бар, андан да маанилүүсү, сизде буга керектүү нерсенин бардыгы бар! Сиз программист катары NodeMCU сыяктуу ESP8266 өнүктүрүү тактасын колдоно аласыз*.

NodeMCU колдонуунун кандай артыкчылыгы бар?

NodeMCU программист катары колдонуунун негизги артыкчылыктары төмөнкүлөр:

  • Сиз ESP8266ны NodeMCUнун 3V казыгынан түздөн -түз иштете аласыз
  • Автоматтык түрдө баштапкы абалга келтирүү/программалоо режимин иштетүү
  • Болжол менен $ 2.50 жеткирилет (жана башкаларды программалабаганда кадимки өнүгүү тактасы катары колдонсо болот!)

Ушул эле ыкманы ESP8266 чипин иштетүүчү пинди ачып көрсөтүүчү ар кандай такталар менен колдоно аласыз.

Бул кантип иштейт?

Мен муну Мика Куркела аттуу YouTuberден алгам, анын видеосунда ал NSPM-01ди ESP-01 модулун программалоо үчүн колдонгон, бирок биз ESP12 модулу үчүн ошол эле идеяны колдонсок болот.

Негизинен биз NodeMCUдагы ESP8266ны EN пининин төмөндүгүн мажбурлоо менен өчүрөбүз, бул NodeMCUдогу ESP8266 модулунун жүктөлүшүнө жол бербейт. Андан кийин биз NodeMCU тактасынын бардык тиешелүү казыктарын тышкы ESP8266га туташтырганы жатабыз.

Аны туташтыруу

Аны туташтыруу үчүн, мурунку кадамда көрсөтүлгөндөй стандарттык ESP8266 зымдары керек болот, андан кийин төмөнкү байланыштарды кошуу үчүн (ошондой эле жогорудагы сүрөттө көрсөтүлгөн):

  • NodeMCU'дун 3Vсун ESP8266 VCCге туташтырыңыз
  • GND менен GND туташуу
  • NodeMCU TX'ин ESP8266 TXке туташтырыңыз (Бул мурунку кадамдан айырмаланып турат)
  • NodeMCU RX'ин ESP8266 RXке туташтырыңыз
  • NodeMCU D3'ин ESP8266 GPIO 0 менен туташтырыңыз (D3 - ESP8266 GPIO 0)
  • NodeMCUнун RST'син ESP8266нын RSTине туташтырыңыз
  • NodeMCUдун EN'ин GNDге туташтырыңыз

Эскиз жүктөлүүдө

ESP8266 туташкандан кийин, сиз төмөнкүлөрдү кылышыңыз керек:

  • NodeMCU портунун номерин тандаңыз (Куралдар-> Порт)
  • Board түрүн тандаңыз "NodeMCU 1.0 (ESP12-E Module)"
  • Жүктөөнү чыкылдатыңыз

Жана бул! Ал программалоо режимин автоматтык түрдө иштетет жана жүктөө бүткөндө автоматтык түрдө баштапкы абалга келтирилет, андыктан эскизди аткарууну баштайт.

Муну тактаңыздын дизайнында колдонуңуз

Бул ыкманы тактаңыздын дизайнында колдонуу үчүн, сиз төмөнкү казыктарды сындырып алышыңыз керек:

  • Жер
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Ал эми тактаңызды программалагыңыз келсе, аны жогорудагыдай зым менен байланыштырыңыз.

Бул Нускаманы сизге пайдалуу деп үмүттөнөбүз, эгерде сизде кандайдыр бир суроолор болсо, тартынбастан сураңыз!

* = Өнөктөштүк шилтемеси

Сунушталууда: