đặc biệtBerry-LOGO

Ban phát triển Esp32 Espberry với Raspberry Pi GPIO

EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-1

THÔNG TIN SẢN PHẨM

Thông số kỹ thuật

  • Nguồn điện: Nhiều nguồn
  • GPIO: Tương thích với tiêu đề GPIO 40 chân của Raspberry Pi
  • Khả năng không dây: Đúng
  • Lập trình: Arduino IDE

Quaview

EspBerry DevBoard kết hợp bảng phát triển ESP32DevKitC với bất kỳ HAT Raspberry Pi nào bằng cách kết nối với tiêu đề GPIO 40 chân tương thích RPi trên bo mạch. Nó không phải là một giải pháp thay thế Raspberry Pi mà là một phần mở rộng chức năng của ESP32 bằng cách sử dụng nhiều loại RPi HAT có sẵn trên thị trường.

Phần cứng

Đầu nối nguồn điện
Espberry có thể được cấp nguồn từ nhiều nguồn khác nhau. Vui lòng tham khảo hướng dẫn sử dụng để biết thông tin chi tiết về các nguồn điện hiện có.

Sơ đồ đặc biệt của Berry
Espberry được thiết kế để ánh xạ càng nhiều tín hiệu (GPIO, SPI, UART, v.v.) càng tốt. Tuy nhiên, nó có thể không bao gồm tất cả các HAT có sẵn trên thị trường. Để điều chỉnh và phát triển HAT của riêng bạn, hãy tham khảo sơ đồ của Espberry. Bạn có thể tải xuống sơ đồ Espberry đầy đủ (PDF) đây.

Sơ đồ chân DevKit của ESP32
Sơ đồ chân của ESP32 DevKit cung cấp hình ảnh trực quan về cấu hình chân cắm của bo mạch. Để có đầy đủ view của hình ảnh sơ đồ chân, nhấp vào đây.

Tiêu đề GPIO 40 chân của Raspberry Pi
Raspberry Pi có một hàng chân GPIO dọc theo cạnh trên của bo mạch. Espberry tương thích với tiêu đề GPIO 40 chân có trên tất cả các bo mạch Raspberry Pi hiện tại. Xin lưu ý rằng tiêu đề GPIO không được phổ biến trên Raspberry Pi Zero, Raspberry Pi Zero W và Raspberry Pi Zero 2 W. Trước Raspberry Pi 1 Model B+, các bo mạch có tiêu đề 26 chân ngắn hơn. Tiêu đề GPIO có bước chân 0.1 (2.54mm).

Kết nối cổng SPI
Cổng SPI trên EspBerry cho phép giao tiếp song công và đồng bộ nối tiếp. Nó sử dụng tín hiệu đồng hồ để truyền và nhận dữ liệu giữa bộ điều khiển trung tâm (chính) và nhiều thiết bị ngoại vi (phụ). Không giống như giao tiếp UART không đồng bộ, tín hiệu đồng hồ sẽ đồng bộ hóa việc truyền dữ liệu.

Câu hỏi thường gặp

  • Tôi có thể sử dụng bất kỳ Mũ Raspberry Pi nào với EspBerry không?
    Espberry được thiết kế để tương thích với bất kỳ Raspberry Pi HAT nào bằng cách kết nối với tiêu đề GPIO 40 chân trên bo mạch. Tuy nhiên, nó có thể không bao gồm tất cả các HAT có sẵn trên thị trường. Vui lòng tham khảo sơ đồ của Espberry để biết thêm thông tin.
  • Tôi có thể sử dụng ngôn ngữ lập trình nào với Espberry?
    Espberry hỗ trợ lập trình bằng Arduino IDE phổ biến, cung cấp khả năng lập trình tuyệt vời.
  • Tôi có thể tìm thêm thông tin và nguồn lực ở đâu?
    Mặc dù hướng dẫn sử dụng này cung cấp thông tin chi tiết nhưng bạn cũng có thể khám phá các bài đăng và bài viết trực tuyến để có thêm tài nguyên. Nếu bạn cần thêm thông tin hoặc có đề xuất, vui lòng liên hệ với chúng tôi.

Quaview

  • Espberry DevBoard kết hợp Phát triển ESP32-DevKitC bo mạch với bất kỳ Raspberry Pi HAT nào bằng cách kết nối với tiêu đề GPIO 40 chân tương thích với RPi trên bo mạch.
  • Mục đích của EspBerry không nên được coi là một giải pháp thay thế Raspberry Pi mà là mở rộng chức năng của ESP32 bằng cách khai thác các sản phẩm RPi HAT khổng lồ trên thị trường và tận dụng lợi thế của nó.tage của các tùy chọn phần cứng đa dạng và linh hoạt.
  • EspBerry là giải pháp hoàn hảo cho các ứng dụng tạo mẫu và Internet of Things (IoT), đặc biệt là những ứng dụng yêu cầu khả năng không dây. Tất cả các mã nguồn mởamphãy đi trướctage của Arduino IDE phổ biến với khả năng lập trình tuyệt vời.
  • Trong phần sau, chúng tôi sẽ giải thích các tính năng phần cứng và phần mềm, bao gồm tất cả các chi tiết bạn cần biết để thêm Raspberry HAT mà bạn chọn. Ngoài ra, chúng tôi sẽ cung cấp một bộ sưu tập phần cứng và phần mềmamples để thể hiện khả năng của Espberry.
  • Tuy nhiên, chúng tôi sẽ không lặp lại thông tin đã có sẵn thông qua các nguồn khác, tức là các bài đăng và bài báo trực tuyến. Bất cứ nơi nào chúng tôi cho rằng thông tin bổ sung là cần thiết, chúng tôi sẽ thêm tài liệu tham khảo để bạn nghiên cứu.
    Ghi chú: Chúng tôi đang cố gắng hết sức để ghi lại mọi chi tiết có thể quan trọng mà khách hàng của chúng tôi biết. Tuy nhiên, việc ghi chép cần có thời gian và chúng tôi không phải lúc nào cũng hoàn hảo. Nếu bạn cần thêm thông tin hoặc có đề xuất, vui lòng liên hệ liên hệ với chúng tôi.

Tính năng đặc biệt của Berry

  • Bộ xử lý: DevKitC ESP32
    • Lõi kép 32-bit Xtensa @ 240 MHz
    • WiFi IEEE 802.11 b/g/n 2.4 GHz
    • Bluetooth 4.2 BR/EDR và ​​BLE
    • 520 kB SRAM (16 kB cho bộ đệm)
    • ROM 448 kB
    • Có thể lập trình trên mỗi cáp USB A/micro-USB B
  • Tiêu đề GPIO 40 chân tương thích với Raspberry Pi
    • GPIOX
    • 2x SPI
    • 1 x UART
  • Công suất đầu vào: 5Vdc
    • Bảo vệ phân cực ngược
    • quá mứctage Bảo vệ
    • Giắc cắm đầu nối nguồn 2.00mm ID (0.079ʺ), 5.50mm OD (0.217ʺ)
    • Có sẵn tùy chọn 12/24 VDC
  • Phạm vi hoạt động: -40°C ~ 85°C
    Ghi chú: Hầu hết RPi HAT hoạt động ở 0°C ~ 50°C
  • Kích thước: 95 mm x 56 mm – 3.75ʺ x 2.2ʺ
    tuân thủ Thông số kỹ thuật cơ học Raspberry Pi HAT tiêu chuẩn

Phần cứng

  • Nhìn chung, bảng phát triển EspBerry kết hợp mô-đun ESP32-DevKitC với bất kỳ HAT Raspberry Pi nào bằng cách kết nối với tiêu đề GPIO 40 chân tương thích với RPi trên bo mạch.
  • Các kết nối được sử dụng nhiều nhất giữa ESP32 và RPi HAT là cổng SPI và UART như được giải thích trong các chương sau. Chúng tôi cũng đã ánh xạ một số tín hiệu GPIO (Đầu ra mục đích chung). Để biết thêm thông tin chi tiết về bản đồ, vui lòng tham khảo sơ đồ.
  • Chúng tôi đang cố gắng hết sức để cung cấp tài liệu tốt. Tuy nhiên, vui lòng hiểu rằng chúng tôi không thể giải thích tất cả chi tiết về ESP32 trong hướng dẫn sử dụng này. Để biết thêm thông tin chi tiết, vui lòng tham khảo Hướng dẫn bắt đầu ESP32-DevKitC V4.

Linh kiện bảng Espberry

EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-2

Đầu nối nguồn điện

  • EspBerry có thể được cấp nguồn thông qua một số nguồn:
    • Đầu nối Micro-USB trên mô-đun ESP32 DevKitC
    • Giắc cắm 5 VDC 2.0 mm
    • Khối đầu cuối 5 VDC
    • Nguồn điện bên ngoài được kết nối với RPi HAT
  • Có Raspberry Pi HAT cho phép cấp nguồn điện bên ngoài (ví dụ: 12 VDC) trực tiếp cho HAT. Khi cấp nguồn cho EspBerry thông qua nguồn điện bên ngoài này, bạn cần đặt nút nhảy ở Bộ chọn nguồn điện thành “EXT”. Nếu không, nó phải được đặt thành “On Board”.
  • Có thể cấp nguồn cho Espberry bên trong (“On Board”) trong khi vẫn cấp nguồn cho HAT.

Sơ đồ đặc biệt của Berry 

  • Espberry được thiết kế để ánh xạ càng nhiều tín hiệu (GPIO, SPI, UART, v.v.) càng tốt. Tuy nhiên, điều đó không nhất thiết có nghĩa là Espberry bao gồm tất cả các HAT có sẵn trên thị trường. Nguồn cơ bản nhất để bạn điều chỉnh và phát triển HAT của riêng mình phải là sơ đồ của Espberry.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-3

  • Nhấp vào đây để tải xuống sơ đồ Espberry đầy đủ (PDF).
  • Ngoài ra, chúng tôi đã thêm ESP32 DevKitC và sơ đồ chân tiêu đề GPIO 40 chân của Raspberry Pi trong các chương sau.

Sơ đồ chân DevKit của ESP32
Để có đầy đủ view của hình ảnh trên, bấm vào đây.

EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-4

Tiêu đề GPIO 40 chân của Raspberry Pi

  • Một tính năng mạnh mẽ của Raspberry Pi là hàng chân GPIO (đầu vào/đầu ra đa năng) dọc theo cạnh trên của bo mạch. Tiêu đề GPIO 40 chân được tìm thấy trên tất cả các bo mạch Raspberry Pi hiện tại (không có trên Raspberry Pi Zero, Raspberry Pi Zero W và Raspberry Pi Zero 2 W). Trước Raspberry Pi 1 Model B+ (2014), các bo mạch bao gồm tiêu đề 26 chân ngắn hơn. Tiêu đề GPIO trên tất cả các bo mạch (bao gồm cả Raspberry Pi 400) có khoảng cách chân cắm 0.1 inch (2.54mm).

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-5

  • Để biết thêm thông tin, hãy tham khảo Phần cứng Raspberry Pi - GPIO và Tiêu đề 40 chân.
  • Để biết thêm thông tin về Raspberry Pi HAT, vui lòng tham khảo Bảng bổ trợ và HAT.

Kết nối cổng SPI

  • SPI là viết tắt của Giao diện ngoại vi nối tiếp, giao diện song công và đồng bộ nối tiếp. Giao diện đồng bộ yêu cầu tín hiệu đồng hồ để truyền và nhận dữ liệu. Tín hiệu đồng hồ được đồng bộ hóa giữa một bộ điều khiển trung tâm (“chính”) và nhiều thiết bị ngoại vi (“phụ”). Không giống như giao tiếp UART, không đồng bộ, tín hiệu đồng hồ sẽ kiểm soát khi nào dữ liệu được gửi và khi nào dữ liệu sẵn sàng để đọc.
  • Chỉ có thiết bị chính mới có thể điều khiển đồng hồ và cung cấp tín hiệu đồng hồ cho tất cả các thiết bị phụ. Dữ liệu không thể được truyền đi nếu không có tín hiệu đồng hồ. Cả chủ và nô lệ đều có thể trao đổi dữ liệu với nhau. Không cần giải mã địa chỉ.
  • ESP32 có bốn bus SPI, nhưng chỉ có hai bus có sẵn để sử dụng và chúng được gọi là HSPI và VSPI. Như đã đề cập trước đó, trong giao tiếp SPI, luôn có một bộ điều khiển (còn được gọi là thiết bị chính) điều khiển các thiết bị ngoại vi khác (còn được gọi là thiết bị phụ). Bạn có thể định cấu hình ESP32 làm chủ hoặc phụ.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-6

  • Trên EspBerry, các tín hiệu được gán cho IO mặc định:

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-7

  • Hình ảnh bên dưới hiển thị các tín hiệu SPI từ mô-đun ESP32 đến tiêu đề RPi GPIO dưới dạng đoạn trích từ sơ đồ.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-8

  • Có rất nhiều loại bảng ESP32. Các bo mạch không phải EspBerry có thể có các chân SPI mặc định khác nhau, nhưng bạn có thể tìm thấy thông tin về các chân mặc định từ biểu dữ liệu của chúng. Nhưng nếu các chân mặc định không được đề cập, bạn có thể tìm thấy chúng bằng cách sử dụng bản phác thảo Arduino (sử dụng liên kết đầu tiên bên dưới).
  • Để biết thêm thông tin, hãy xem:
  • EspBerry sử dụng kết nối VSPI làm mặc định, nghĩa là nếu bạn sử dụng các tín hiệu mặc định, bạn sẽ không gặp vấn đề gì. Có nhiều cách để thay đổi cách gán pin và chuyển sang HSPI (như đã giải thích trong tài liệu tham khảo ở trên), nhưng chúng tôi chưa khám phá những trường hợp này cho EspBerry.
  • Xem thêm phần của chúng tôi về Lập trình cổng SPI.

Kết nối cổng nối tiếp (UART)

  • Bên cạnh cổng USB tích hợp, mô-đun phát triển ESP32 còn có ba giao diện UART, tức là UART0, UART1 và UART2, cung cấp khả năng giao tiếp không đồng bộ ở tốc độ lên tới 5 Mbps. Các cổng nối tiếp này có thể được ánh xạ tới hầu hết mọi chân cắm. Trên EspBerry, chúng tôi đã gán IO15 là Rx và IO16 là Tx, được kết nối với GPIO16 và GPIO20 trên tiêu đề 40 chân như hiển thị ở đây:

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-9

  • Chúng tôi đã chọn không sử dụng tín hiệu RX/TX (GPIO3/GPIO1) tiêu chuẩn trên ESP32 DevKit vì chúng thường được sử dụng để in thử thông qua Serial Monitor của Arduino IDE. Điều này có thể cản trở giao tiếp giữa ESP32 và RPi HAT. Thay vào đó, bạn phải ánh xạ IO16 dưới dạng Rx và IO15 dưới dạng Tx trên mỗi phần mềm như được giải thích trong phần Phần mềm của sổ tay hướng dẫn này.
  • Xem thêm phần của chúng tôi về Lập trình nối tiếp (UART).

Phần mềm

  • Sau đây, chúng tôi sẽ giải thích ngắn gọn các khía cạnh lập trình quan trọng nhất cho Espberry. Như đã đề cập trước đây trong hướng dẫn sử dụng này, chúng tôi sẽ thêm các tài liệu tham khảo trực tuyến mà chúng tôi cho rằng thông tin bổ sung là cần thiết.
  • Để biết thêm, dự án thực hành samples, xem thêm của chúng tôi Mẹo lập trình ESP32.
  • Ngoài ra còn có rất nhiều cựuamples của Tài liệu lập trình ESP32, đáng để đầu tư.
  • Tuy nhiên, chúng tôi khuyên bạn nên sử dụng Dự án điện tử với ESP8266 và ESP32, đặc biệt là cho các dự án ứng dụng không dây của bạn. Đúng, ngày nay có rất nhiều sách hay và tài nguyên trực tuyến miễn phí, nhưng đây là cuốn sách chúng tôi đang sử dụng. Nó làm cho việc tiếp cận Bluetooth, BLE và WIFI của chúng tôi trở nên dễ dàng. Lập trình các ứng dụng không dây mà không gặp rắc rối thật thú vị và chúng tôi chia sẻ chúng trên web địa điểm.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-10

Cài đặt và chuẩn bị Arduino IDE

  • Tất cả các chương trình của chúng tôiampcác tập tin đã được phát triển bằng Arduino IDE (Môi trường phát triển tích hợp) do tính dễ cài đặt và sử dụng. Hơn nữa, có vô số bản phác thảo Arduino trực tuyến cho ESP32.
  • Để cài đặt, hãy làm theo các bước sau:
    • Bước 1: Bước đầu tiên là tải xuống và cài đặt Arduino IDE. Điều này có thể được thực hiện dễ dàng bằng cách nhấp vào liên kết https://www.arduino.cc/en/Main/Software và tải xuống IDE miễn phí. Nếu bạn đã có, hãy đảm bảo bạn có phiên bản mới nhất.
    • Bước 2: Sau khi cài đặt, hãy mở Arduino IDE và đi tới Files -> Tùy chọn để mở cửa sổ tùy chọn và tìm “Trình quản lý bảng bổ sung URLs:” như hình dưới đây:

      EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-11

      • Hộp văn bản có thể trống hoặc đã chứa một số nội dung khác URL nếu trước đây bạn đã sử dụng nó cho một bảng khác. Nếu nó trống, chỉ cần dán bên dưới URL vào hộp văn bản.
        https://dl.espressif.com/dl/package_esp32_index.json
      • Nếu hộp văn bản đã chứa một số nội dung khác URL chỉ cần thêm cái này URL vào đó, phân cách cả hai bằng dấu phẩy (,). Của chúng tôi đã có Teensy rồi URL. Chúng tôi vừa bước vào URL và thêm dấu phẩy.
      • Sau khi hoàn tất, nhấp vào OK và cửa sổ sẽ biến mất.
    • Bước 3: Vào Tools -> Boards -> Board Managers để mở cửa sổ Board manager và tìm kiếm ESP32. Nếu URL đã được dán chính xác, cửa sổ của bạn sẽ tìm thấy màn hình bên dưới có nút Cài đặt, chỉ cần nhấp vào nút Cài đặt và bo mạch của bạn sẽ được cài đặt.

      EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-12
      Ảnh chụp màn hình ở trên hiển thị ESP32 sau khi được cài đặt.

    • Bước 4: Trước khi bắt đầu lập trình, bạn phải chọn phần cứng ESP32 thích hợp (có nhiều tùy chọn). Điều hướng đến Công cụ -> Bảng và chọn Mô-đun phát triển ESP32 như hiển thị ở đây:

      EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-13

    • Bước 5: Mở trình quản lý thiết bị và kiểm tra xem ESP32 của bạn được kết nối với cổng COM nào.

      EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-14

  • Khi sử dụng EspBerry, hãy tìm Cầu nối USB tới UART của Silicon Labs CP210x. Trong thiết lập của chúng tôi, nó hiển thị COM4. Quay trở lại Arduino IDE và trong Công cụ -> Cổng, chọn Cổng mà ESP của bạn được kết nối.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-15

  • Nếu bạn là người mới bắt đầu làm quen với Arduino IDE, vui lòng tham khảo Sử dụng phần mềm Arduino (IDE).

Lập trình cổng SPI

  • Phần sau đây chỉ trình bày tóm tắtview của lập trình SPI. Lập trình SPI không dễ dàng, nhưng bất cứ khi nào chúng tôi bắt đầu một dự án mới, chúng tôi đều tìm kiếm mã trực tuyến (ví dụ: github.com).
  • Ví dụ: để lập trình bộ điều khiển MCP2515 CAN, chúng tôi đang sử dụng phiên bản sửa đổi của Thư viện MCP_CAN cho Arduino của Cory Fowler, tức là chúng tôi đang sử dụng kiến ​​thức và nỗ lực của anh ấy cho dự án của mình.
  • Tuy nhiên, đáng để dành thời gian để hiểu lập trình SPI ở mức độ cơ bản. Chẳng hạn, EspBerry có các tín hiệu SPI được ánh xạ như hiển thị ở đây:

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-16

  • Các cài đặt này phải được áp dụng trong mã của ứng dụng. Vui lòng tham khảo các tài nguyên sau để tìm hiểu thêm về lập trình SPI với ESP32:

Lập trình cổng nối tiếp (UART)

  • Trên EspBerry, chúng tôi đã gán IO15 là Rx và IO16 là Tx, được kết nối với GPIO16 và GPIO20 trên tiêu đề 40 chân.
  • Chúng tôi đã chọn không sử dụng tín hiệu RX/TX (GPIO3/GPIO1) tiêu chuẩn trên ESP32 DevKit vì chúng thường được sử dụng để in thử thông qua Serial Monitor của Arduino IDE. Điều này có thể cản trở giao tiếp giữa ESP32 và RPi HAT. Thay vào đó, bạn phải ánh xạ IO16 dưới dạng Rx và IO15 dưới dạng Tx trên mỗi phần mềm.

    EspBerry-ESP32-Bảng phát triển-với-Raspberry-Pi-GPIO-FIG-17

  • Đoạn mã trên đại diện cho một ứng dụng cũamptập tin sử dụng Serial1.
  • Khi làm việc với ESP32 trong Arduino IDE, bạn sẽ nhận thấy lệnh Serial hoạt động tốt nhưng Serial1 và Serial2 thì không. ESP32 có ba cổng nối tiếp phần cứng có thể được ánh xạ tới hầu hết mọi chân cắm. Để Serial1 và Serial2 hoạt động, bạn cần có lớp HardwareSerial. Để tham khảo, xem ESP32, Arduino và 3 cổng nối tiếp phần cứng.
  • Xem thêm bài viết của chúng tôi Dự án Espberry: ESP32 với chip USB-UART CH9102F cho tốc độ nối tiếp lên tới 3Mbit/s.

GIỚI THIỆU CÔNG TY

Tài liệu / Tài nguyên

Ban phát triển Esp32 Espberry với Raspberry Pi GPIO [tập tin pdf] Hướng dẫn sử dụng
Ban phát triển ESP32 với Raspberry Pi GPIO, ESP32, Ban phát triển với Raspberry Pi GPIO, Ban phát triển với Raspberry Pi GPIO, Raspberry Pi GPIO

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *