espBerry-LOGO

Raspberry Pi GPIO менен espBerry ESP32 өнүктүрүү тактасы

espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-1

ПРОДУКЦИЯ ЖӨНҮНДӨ МААЛЫМАТ

Техникалык шарттар

  • Кубат булагы: Бир нече булактар
  • GPIO: Raspberry Pi 40-пин GPIO башына шайкеш келет
  • Зымсыз мүмкүнчүлүктөр: Ооба
  • Программалоо: Arduino IDE

Бүттүview

espBerry DevBoard борттогу RPi шайкеш 32-пин GPIO башына туташуу аркылуу ESP40DevKitC иштеп чыгуу тактасын каалаган Raspberry Pi HAT менен айкалыштырат. Бул Raspberry Pi альтернативасы болбошу керек, тескерисинче, рынокто жеткиликтүү RPi HATтердин кеңири спектрин колдонуу менен ESP32 функционалдуулугун кеңейтүү.

Аппараттык

Кубат булагы туташтыргычы
espBerry ар кандай булактар ​​аркылуу иштетилиши мүмкүн. Жеткиликтүү кубат булактары боюнча толук маалымат алуу үчүн колдонуучу нускамасынан караңыз.

espBerry схемалары
espBerry мүмкүн болушунча көп сигналдарды (GPIO, SPI, UART ж.б.) картага түшүрүү үчүн иштелип чыккан. Бирок, ал рынокто жеткиликтүү бардык HAT камтышы мүмкүн эмес. Өзүңүздүн Шляпаңызды ыңгайлаштыруу жана өнүктүрүү үчүн espBerry схемасын караңыз. Сиз толук espBerry схемасын (PDF) жүктөп алсаңыз болот бул жерде.

ESP32 DevKit Pinout
ESP32 DevKit пинут тактасынын пин конфигурациясынын визуалдык көрүнүшүн камсыз кылат. Толук үчүн view pinout сүрөтүн чыкылдатыңыз бул жерде.

Raspberry Pi 40-пин GPIO аталышы
Raspberry Pi тактанын үстүнкү четинде бир катар GPIO төөнөгүчтөрүн камтыйт. EspBerry бардык учурдагы Raspberry Pi такталарында табылган 40 пин GPIO аталышы менен шайкеш келет. Сураныч, GPIO аталышы Raspberry Pi Zero, Raspberry Pi Zero W жана Raspberry Pi Zero 2 Втте толтурулбаганын эске алыңыз. Raspberry Pi 1 B+ моделине чейин тактайларда 26 пиндик баш кыскараак болгон. GPIO аталышында 0.1 (2.54 мм) пин кадамы бар.

SPI порт туташуу
espBerry'деги SPI порту сериялык толук дуплекстүү жана синхрондуу байланышка мүмкүндүк берет. Ал борбордук башкаруу (мастер) жана бир нече перифериялык түзүлүштөр (кулдар) ортосунда маалыматтарды өткөрүү жана кабыл алуу үчүн саат сигналын колдонот. Асинхрондук болгон UART байланышынан айырмаланып, саат сигналы маалыматтарды берүүнү синхрондошот.

Көп берилүүчү суроолор

  • Мен espBerry менен Raspberry Pi HAT колдоно аламбы?
    espBerry борттогу 40 пин GPIO башына туташуу аркылуу ар кандай Raspberry Pi HAT менен шайкеш келүү үчүн иштелип чыккан. Бирок, ал рынокто жеткиликтүү бардык HAT камтышы мүмкүн эмес. Көбүрөөк маалымат алуу үчүн espBerry схемасын караңыз.
  • espBerry менен кайсы программалоо тилин колдоно алам?
    espBerry эң сонун программалоо мүмкүнчүлүктөрүн сунуштаган популярдуу Arduino IDE аркылуу программалоону колдойт.
  • Кошумча маалыматты жана ресурстарды кайдан тапсам болот?
    Бул колдонмодо толук маалымат камтылганы менен, сиз кошумча ресурстар үчүн онлайн билдирүүлөрдү жана макалаларды изилдей аласыз. Эгер сизге кошумча маалымат керек болсо же сунуштарыңыз болсо, биз менен байланышуудан тартынбаңыз.

Бүттүview

  • espBerry DevBoard бириктирет ESP32-DevKitC иштеп чыгуу борттогу RPi шайкеш 40 пин GPIO башына туташып, каалаган Raspberry Pi HAT менен такта.
  • EspBerry максаты Raspberry Pi альтернативасы катары кабыл алынбашы керек, бирок рынокто RPi HATтердин кеңири сунуштарына кирүү жана артыкчылыктарды алуу менен ESP32нин функционалдуулугун кеңейтүү катары кабыл алынышы керек.tagбир нече жана ийкемдүү аппараттык варианттардын д.
  • espBerry прототиптөө жана нерселердин Интернети (IoT) тиркемелери үчүн эң сонун чечим, өзгөчө зымсыз мүмкүнчүлүктөрдү талап кылган колдонмолор. Бардык ачык булак коду samples take advantagанын эң сонун программалоо мүмкүнчүлүктөрү менен популярдуу Arduino IDE.
  • Төмөндө биз аппараттык жана программалык камсыздоонун өзгөчөлүктөрүн, анын ичинде сиз тандаган Raspberry HAT кошуу үчүн билишиңиз керек болгон бардык деталдарды түшүндүрөбүз. Мындан тышкары, биз аппараттык жана программалык камсыздоолордун жыйнагын камсыз кылатamples to espBerry мүмкүнчүлүктөрүн көрсөтөт.
  • Бирок, биз буга чейин башка ресурстар аркылуу, б.а., онлайн билдирүүлөр жана макалалар аркылуу жеткиликтүү болгон маалыматтарды кайталоодон алыс болобуз. Кошумча маалымат керек деп эсептеген бардык жерде, биз сизди изилдөө үчүн шилтемелерди кошобуз.
    Эскертүү: Биз кардарларыбыз үчүн маанилүү болушу мүмкүн болгон ар бир майда-чүйдөсүнө чейин документтештирүү үчүн абдан аракет кылып жатабыз. Бирок, документтер көп убакытты талап кылат жана биз дайыма эле идеалдуу боло бербейбиз. Эгер сизге кошумча маалымат керек болсо же сунуштарыңыз болсо, тартынбаңыз биз менен байланышыңыз.

espBerry өзгөчөлүктөрү

  • Процессор: ESP32 DevKitC
    • 32-бит Xtensa эки ядролуу @240 МГц
    • WiFi IEEE 802.11 b/g/n 2.4 ГГц
    • Bluetooth 4.2 BR/EDR жана BLE
    • 520 кБ SRAM (кэш үчүн 16 кБ)
    • 448 кБ ROM
    • USB A/micro-USB B кабели үчүн программалануучу
  • Raspberry Pi шайкеш 40-пин GPIO баш
    • 20, uclinux.home.at
    • 2 x SPI
    • 1 x UART
  • Киргизүү күчү: 5 VDC
    • Тескери полярдуулукту коргоо
    • Overvoltage Коргоо
    • Power Barrel Connector Jack 2.00mm ID (0.079ʺ), 5.50mm OD (0.217ʺ)
    • 12/24 VDC параметрлери жеткиликтүү
  • Иштөө диапазону: -40°C ~ 85°C
    Эскертүү: Көпчүлүк RPi шляпалары 0°C ~ 50°Cде иштешет
  • Өлчөмдөрү: 95 мм x 56 мм – 3.75ʺ x 2.2ʺ
    ылайык келет Стандарттык Raspberry Pi HAT механикалык мүнөздөмөлөрү

Аппараттык

  • Жалпысынан алганда, espBerry өнүктүрүү тактасы ESP32-DevKitC модулун каалаган Raspberry Pi HAT менен айкалыштырат, борттогу RPi шайкеш 40 пин GPIO башына туташуу менен.
  • ESP32 жана RPi HAT ортосунда эң көп колдонулган байланыштар SPI жана UART порту болуп саналат, алар кийинки бөлүмдөрдө түшүндүрүлгөн. Биз ошондой эле бир нече GPIO (General Purpose Input Output) сигналдарын картага түшүрдүк. Карта түзүү боюнча кененирээк маалымат алуу үчүн схеманы караңыз.
  • Биз жакшы документтерди берүүгө абдан аракет кылып жатабыз. Бирок, биз бул колдонуучу нускамада бардык ESP32 деталдарын түшүндүрө албай турганыбызды түшүнүңүз. Көбүрөөк маалымат алуу үчүн, сураныч карагыла ESP32-DevKitC V4 Баштоо колдонмосу.

espBerry тактасынын компоненттери

espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-2

Кубат булагы туташтыргычы

  • espBerry бир нече булактар ​​аркылуу иштетилиши мүмкүн:
    • ESP32 DevKitC модулундагы Micro-USB туташтыргычы
    • 5 VDC уячасы 2.0 мм
    • 5 VDC терминалдык блок
    • RPi HAT менен туташтырылган тышкы электр булагы
  • Raspberry Pi шляпалары бар, алар тышкы энергияны (мисалы, 12 VDC) түздөн-түз HAT менен камсыз кылууга мүмкүндүк берет. Бул тышкы кубат булагы аркылуу espBerryди кубаттап жатканда, сиз кубат булагын тандагычтагы секирикти “EXT” абалына коюуңуз керек. Болбосо, ал "Такта" деп коюлушу керек.
  • espBerry'ди ичине ("Бортунда") кубаттоого болот, ал эми HATга күч колдонула элек.

espBerry схемалары 

  • espBerry мүмкүн болушунча көп сигналдарды (GPIO, SPI, UART ж.б.) картага түшүрүү үчүн иштелип чыккан. Бирок, бул сөзсүз түрдө espBerry рынокто жеткиликтүү бардык HATтарды камтыйт дегенди билдирбейт. Сиздин адаптациялоонун жана өзүңүздүн ШАПКАңызды иштеп чыгуунун акыркы булагы espBerry схемасы болушу керек.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-3

  • Толук espBerry схемасын (PDF) жүктөп алуу үчүн бул жерди басыңыз.
  • Мындан тышкары, биз кийинки бөлүмдөрдө ESP32 DevKitC жана Raspberry Pi 40-pin GPIO баш пинуттарын коштук.

ESP32 DevKit pinout
Толук үчүн view жогорудагы сүрөттө, бул жерди бас.

espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-4

Raspberry Pi 40-пин GPIO аталышы

  • Raspberry Piдин күчтүү өзгөчөлүгү - тактанын үстүнкү четинде GPIO (жалпы максаттагы киргизүү/чыгарма) төөнөгүчтөрүнүн катарлары. 40 пиндик GPIO аталышы бардык учурдагы Raspberry Pi такталарында (Raspberry Pi Zero, Raspberry Pi Zero W жана Raspberry Pi Zero 2 Втта толтурулбаган) табылган. Raspberry Pi 1 Model B+ (2014) чейин такталар кыскараак 26 пиндик башты камтыган. Бардык такталардагы GPIO аталышы (анын ичинде Raspberry Pi 400) 0.1 дюйм (2.54 мм) пин кадамына ээ.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-5

  • Көбүрөөк маалымат алуу үчүн, караңыз Raspberry Pi жабдыктары – GPIO жана 40 пиндик баш.
  • Raspberry Pi шляпалары жөнүндө көбүрөөк маалымат алуу үчүн, караңыз Кошумча такталар жана шляпалар.

SPI порт туташуу

  • SPI Сериялык перифериялык интерфейсти билдирет, сериялык толук дуплекстүү жана синхрондуу интерфейс. Синхрондук интерфейс маалыматтарды берүү жана кабыл алуу үчүн саат сигналын талап кылат. Сааттын сигналы бир борбордук башкаруунун («мастер») жана бир нече перифериялык түзүлүштөрдүн («кулдар») ортосунда синхрондоштурулган. Асинхрондук болгон UART байланышынан айырмаланып, саат сигналы маалымат качан жөнөтүлөөрүн жана качан окууга даяр болушун көзөмөлдөйт.
  • Башкы аспап гана саатты башкара алат жана бардык кул аппараттарына саат сигналын бере алат. Сааттын сигналысыз берилиштерди өткөрүү мүмкүн эмес. Кожоюн да, кул да бири-бири менен маалымат алмаша алышат. Даректи чечмелөө талап кылынбайт.
  • ESP32де төрт SPI автобус бар, бирок экөө гана колдонууга жеткиликтүү жана алар HSPI жана VSPI катары белгилүү. Жогоруда айтылгандай, SPI байланышында башка перифериялык түзүлүштөрдү (ошондой эле кулдар деп аталат) башкарган бир контроллер (ошондой эле мастер катары белгилүү) болот. Сиз ESP32ди мастер же кул катары конфигурациялай аласыз.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-6

  • EspBerryде демейки IO'ларга берилген сигналдар:

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-7

  • Төмөндөгү сүрөттө ESP32 модулунан RPi GPIO башына чейин SPI сигналдары схемадан үзүндү катары көрсөтүлгөн.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-8

  • ESP32 такталарынын көптөгөн түрлөрү бар. EspBerry'ден башка такталар ар кандай демейки SPI пиндерине ээ болушу мүмкүн, бирок сиз алардын маалымат барагынан демейки пиндер жөнүндө маалыматты таба аласыз. Бирок демейки төөнөгүчтөр айтылбаса, аларды Arduino эскизинин жардамы менен таба аласыз (төмөндөгү биринчи шилтемени колдонуңуз).
  • Көбүрөөк маалымат алуу үчүн, караңыз:
  • espBerry демейки катары VSPI байланышын колдонот, демек, демейки сигналдар менен жүрсөңүз, көйгөйлөргө туш болбошуңуз керек. Пин дайындоону өзгөртүү жана HSPIге өтүү жолдору бар (жогоруда айтылган шилтемелерде), бирок биз espBerry үчүн бул сценарийлерди изилдей элекпиз.
  • Ошондой эле биздин SPI портун программалоо бөлүмүн караңыз.

Сериялык (UART) порт туташуу

  • Борттук USB портунан тышкары, ESP32 иштеп чыгуу модулу үч UART интерфейсине ээ, б.а., UART0, UART1 жана UART2, алар 5 Мбит/сек ылдамдыкта асинхрондук байланышты камсыз кылат. Бул сериялык портторду дээрлик бардык пинге салыштырууга болот. EspBerryде биз IO15ти Rx жана IO16ны Tx катары дайындадык, алар бул жерде көрсөтүлгөндөй 16 пиндик темадагы GPIO20 жана GPIO40 менен туташты:

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-9

  • Биз ESP3 DevKitте стандарттуу RX/TX (GPIO1/GPIO32) сигналдарын колдонбоону чечтик, анткени алар көбүнчө Arduino IDE сериялык монитору аркылуу сыноо басып чыгаруу үчүн колдонулат. Бул ESP32 менен RPi HAT ортосундагы байланышка тоскоол болушу мүмкүн. Анын ордуна, бул колдонмонун Программалык камсыздоо бөлүмүндө түшүндүрүлгөндөй, сиз IO16ны Rx жана IO15ти Tx катары программалык камсыздоого салыштырышыңыз керек.
  • Сериялык (UART) программалоо бөлүмүн дагы караңыз.

Программалык камсыздоо

  • Төмөндө биз espBerry үчүн эң маанилүү программалоо аспектилерин кыскача түшүндүрөбүз. Бул колдонмодо мурда айтылгандай, биз кошумча маалымат керек деп эсептеген онлайн шилтемелерди кошобуз.
  • Көбүрөөк маалымат алуу үчүн, практикалык долбоор сamples, биздин да карагыла ESP32 программалоо боюнча кеңештер.
  • Мындан тышкары, көптөгөн экс барamples of ESP32 программалоо адабияты, алар инвестициялоого татыктуу.
  • Бирок, биз абдан колдонууну сунуштайбыз ESP8266 жана ESP32 менен электрондук долбоорлор, өзгөчө зымсыз тиркеме долбоорлоруңуз үчүн. Ооба, азыркы күндө көптөгөн жакшы китептер жана бекер интернет булактары бар, бирок бул биз колдонуп жаткан китеп. Бул биздин Bluetooth, BLE жана WIFIге болгон мамилебизди жеңил кылды. Зымсыз тиркемелерди кыйынчылыксыз программалоо кызыктуу болду жана биз аларды өз баракчабызда бөлүшөбүз web сайт.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-10

Arduino IDE орнотуу жана даярдоо

  • Биздин бардык программалоо сamples Arduino IDE (Integrated Development Environment) аркылуу монтаждоо жана колдонуу оңой болгондуктан иштелип чыккан. Андан тышкары, ESP32 үчүн онлайн режиминде көптөгөн Arduino эскиздери бар.
  • Орнотуу үчүн, бул кадамдарды аткарыңыз:
    • 1-кадам: Биринчи кадам Arduino IDE жүктөп алуу жана орнотуу болот. Бул https://www.arduino.cc/en/Main/Software шилтемеси аркылуу жана IDEди бекер жүктөп алуу менен оңой кылса болот. Эгер сизде мурунтан эле бар болсо, акыркы версиясы бар экенине ынаныңыз.
    • 2-кадам: Орнотулгандан кийин, Arduino IDE ачыңыз жана өтүңүз Files -> Preferences артыкчылыктар терезесин ачуу жана “Кошумча такталар менеджерин табуу URLs:" төмөндө көрсөтүлгөндөй:

      espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-11

      • Текст кутучасы бош болушу мүмкүн же башкасын камтышы мүмкүн URL эгерде сиз аны мурда башка такта үчүн колдонгон болсоңуз. Эгер ал бош болсо, жөн гана төмөнкүнү чаптаңыз URL текст кутусуна.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Текст кутучасында башкасы бар болсо URL жөн гана муну кош URL ага экөөнү тең үтүр (,) менен ажыратыңыз. Биздикинде Teensy бар болчу URL. Жаңы эле кирдик URL жана үтүрдү кошту.
      • Бүткөндөн кийин, OK баскычын чыкылдатыңыз жана терезе жок болот.
    • 3-кадам: Башкарманын башкаруу терезесин ачуу жана ESP32 издөө үчүн Tools -> Boards -> Board Managers дегенге өтүңүз. Эгерде URL туура чапталган болсо, терезеңиз Орнотуу баскычы менен төмөнкү экранды табышы керек, жөн гана Орнотуу баскычын чыкылдатыңыз жана тактаңыз орнотулат.

      espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-12
      Жогорудагы скриншот ESP32 орнотулгандан кийин көрсөтүлөт.

    • 4-кадам: Программалоону баштоодон мурун, ылайыктуу ESP32 жабдыгын тандоо керек (бир нече варианттар бар). Куралдар -> такталарга өтүңүз жана бул жерде көрсөтүлгөндөй ESP32 Dev модулун тандаңыз:

      espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-13

    • 5-кадам: Түзмөк башкаргычын ачып, ESP32 кайсы COM портуна туташканын текшериңиз.

      espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-14

  • EspBerry колдонуп жатканда, Silicon Labs CP210x USB to UART Bridgeди издеңиз. Биздин орнотууда ал COM4 көрсөтөт. Arduino IDEге кайтыңыз жана Куралдар -> Порттун астынан ESP туташкан портту тандаңыз.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-15

  • Эгерде сиз Arduino IDE менен башталгыч болсоңуз, анда кайрылыңыз Arduino программасын колдонуу (IDE).

SPI портун программалоо

  • Төмөнкүлөр кыскача гана сүрөттөлөтview SPI программалоо. SPI программалоо оңой эмес, бирок биз жаңы долбоорду баштаганда, кодду онлайндан издейбиз (мисалы, github.com).
  • Мисалы, MCP2515 CAN контроллерин программалоо үчүн, биз Cory Fowler тарабынан Arduino үчүн MCP_CAN китепканасынын өзгөртүлгөн версиясын колдонуп жатабыз, башкача айтканда, биз анын билимин жана аракетин биздин долбоорго жумшап жатабыз.
  • Ошого карабастан, SPI программалоону негизги деңгээлде түшүнүү үчүн убакыт коротсо болот. Мисалы, espBerry бул жерде көрсөтүлгөндөй картага түшүрүлгөн SPI сигналдарына ээ:

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-16

  • Бул орнотуулар колдонмонун кодунда колдонулушу керек. ESP32 менен SPI программалоо жөнүндө көбүрөөк билүү үчүн төмөнкү ресурстарды караңыз:

Сериялык порт (UART) программалоо

  • EspBerryде биз IO15ти Rx жана IO16ны Tx катары дайындадык, алар 16 пиндик темада GPIO20 жана GPIO40 менен туташкан.
  • Биз ESP3 DevKitте стандарттуу RX/TX (GPIO1/GPIO32) сигналдарын колдонбоону чечтик, анткени алар көбүнчө Arduino IDE сериялык монитору аркылуу сыноо басып чыгаруу үчүн колдонулат. Бул ESP32 менен RPi HAT ортосундагы байланышка тоскоол болушу мүмкүн. Анын ордуна, сиз IO16ны Rx жана IO15ти Tx катары программалык камсыздоого салыштырышыңыз керек.

    espBerry-ESP32-Development-Board with-Raspberry-Pi-GPIO-FIG-17

  • Жогорудагы код мурунку колдонмону билдиретample Serial1 колдонуп.
  • Arduino IDE астында ESP32 менен иштегенде, Сериялык команда жакшы иштегенин, бирок Serial1 жана Serial2 иштебей турганын байкайсыз. ESP32де үч аппараттык сериялык порт бар, аларды дээрлик бардык пинге салыштырууга болот. Serial1 жана Serial2 иштеши үчүн HardwareSerial классын тартуу керек. Маалымат катары караңыз ESP32, Arduino жана 3 аппараттык сериялык порттор.
  • Биздин постту да караңыз espBerry долбоору: CH32F USB-UART чип менен ESP9102 сериялык ылдамдыгы 3 Мбит/сек чейин.

КОМПАНИЯ ЖӨНҮНДӨ

Документтер / Ресурстар

Raspberry Pi GPIO менен espBerry ESP32 өнүктүрүү тактасы [pdf] Колдонуучунун колдонмосу
Raspberry Pi GPIO менен ESP32 өнүктүрүү тактасы, ESP32, Raspberry Pi GPIO менен өнүктүрүү тактасы, Raspberry Pi GPIO менен такта, Raspberry Pi GPIO

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *