Mục lục:
- Bước 1: Mẹo: Cài đặt Hỗ trợ Arduino cho ESP32 Với Hỗ trợ BLE
- Bước 2: Cài đặt Thư viện PfodParser cho ESP32
- Bước 3: Sử dụng PfodDesignerV3 cho ESP32
- Bước 4: Trình tạo mã ESP32 BLE
- Bước 5: Thiết kế Menu - Lời nhắc
- Bước 6: Thiết kế Menu - Điều khiển Led PWM
- Bước 7: Tạo mã ESP32
- Bước 8: Chạy các ví dụ
- Bước 9: Bảo mật WiFi
Video: Bộ tạo mã ESP32 - Wifi, BLE, Bluetooth: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Giới thiệu
ESP32 là chip xử lý kép giá rẻ, hỗ trợ WiFi, Bluetooth Classic và BLE (Bluetooth Low Energy). Mặc dù chip đã ra mắt được một số năm, hỗ trợ mã cho Arduino vẫn chưa hoàn thiện (vào tháng 4 năm 2018), nhưng trình tạo mã và hướng dẫn này sẽ điền vào các chức năng BLE và analogWrite còn thiếu.
Mẹo: ESP32 không có chức năng ghi analog 'chuẩn Arduino'. Tuy nhiên, trình tạo mã này, tạo mã mô phỏng nó cho bạn
Mẹo: Cài đặt mã ESP không bao gồm hỗ trợ BLE. Quá trình cài đặt được mô tả ở đây bao gồm hỗ trợ BLE
Trang web này sẽ đề cập đến việc thiết lập Arduino IDE để lập trình ESP32 cho các kết nối BLE, Bluetooth hoặc WiFi. PfodDesigner tạo mã cho từng loại kết nối này và cũng tạo mã để mô phỏng chức năng analogWrite bị thiếu.
ESP32 là chip xử lý kép giá rẻ, hỗ trợ WiFi, Bluetooth Classic và BLE (Bluetooth Low Energy). Mặc dù chip đã ra mắt được một số năm, hỗ trợ mã cho Arduino vẫn chưa hoàn thiện (vào tháng 4 năm 2018), nhưng hướng dẫn và trình tạo mã này sẽ điền vào các chức năng BLE và analogWrite còn thiếu. Arduino IDE để lập trình ESP32 cho các kết nối BLE, Bluetooth hoặc WiFi. PfodDesigner tạo mã cho từng loại kết nối này và cũng tạo mã để mô phỏng chức năng analogWrite bị thiếu.
Tiện ích bổ sung Arduino hỗ trợ một số 31 bo mạch ESP32. Khi sử dụng pfodDesigner, bạn sẽ cần chọn các kết nối chân phù hợp với những kết nối có sẵn trên bảng cụ thể của bạn. Sparkfun ESP32 Thing (hoặc Adafruit HUZZAH32 Feather) được sử dụng ở đây làm bảng ESP32 mẫu, nhưng bạn có thể sử dụng mã cho bất kỳ bảng nào trong số 31 bảng ESP32 được hỗ trợ.
Ứng dụng pfodDesignerV3 Android miễn phí được sử dụng để tạo menu điều khiển (WYSIWYG) và sau đó tạo mã cho ESP32, cho kết nối BLE, WiFi hoặc Bluetooth. Sau khi lập trình bo mạch ESP32 của bạn, sau đó, bạn có thể sử dụng ứng dụng pfodApp Android (trả phí) để kết nối với ESP32 của bạn (qua BLE hoặc WiFi hoặc Bluetooth) và hiển thị menu điều khiển và điều khiển ESP32 của bạn. Nếu không muốn sử dụng pfodApp, bạn vẫn có thể sử dụng mã đã tạo làm cơ sở cho các kết nối WiFi, BLE (Nordic UART) hoặc Bluetooth của riêng mình vì nó cung cấp giao diện Luồng (in / đọc) cho từng loại kết nối này.
Bước 1: Mẹo: Cài đặt Hỗ trợ Arduino cho ESP32 Với Hỗ trợ BLE
Kể từ tháng 4 năm 2018, việc cài đặt hỗ trợ Arduino ESP32 liên quan nhiều hơn đến hầu hết các bo mạch khác và các thư viện mã được cung cấp chưa hoàn tất. Bạn không thể sử dụng trình quản lý Bảng Arduino để cài đặt hỗ trợ ESP32. Làm theo các bước sau để thiết lập Arduino cho lập trình ESP32. Điều này sẽ cài đặt ESP32 và cả hỗ trợ BLE.
1 Tìm đường dẫn của Thư mục vị trí Arduino Sketchbook của bạn. Mở Arduino IDE và xem trong File-> Preferences và ở đầu màn hình đó, bạn sẽ thấy vị trí Sketchbook.
2 Tải xuống tệp ESP32_hardware.zip này và giải nén nó vào vị trí Sketchbook. Nó tạo một thư mục con phần cứng ở đó. Trong trường hợp không chắc, bạn đã có một thư mục con phần cứng trong vị trí Sketchbook của mình, hãy hợp nhất nội dung của nó với thư mục này.
3 Cài đặt Công cụ Xtensa và ESP32. Lưu ý: Quá trình tải xuống và cài đặt này mất một chút thời gian để xử lý ~ 0,5Gig tệp. Đi tới thư mục phần cứng / espressif / esp32 / tools, sau đó Đối với máy Windows, hãy chạy tệp get.exe. Đối với người dùng Mac và Linux, hãy chạy tập lệnh python get.py để tải xuống các công cụ. Sử dụng một thiết bị đầu cuối, điều hướng đến thư mục phần cứng / espressif / esp32 / tools. Sau đó, nhập: python get.py Tập lệnh python “get.py” sẽ tải xuống các công cụ Xtensa GNU và bộ phát triển phần mềm ESP32 (SDK) và giải nén chúng đến vị trí thích hợp.
Bạn sẽ thấy một vài thư mục mới trong thư mục “công cụ”, bao gồm “sdk” và “xtensa-esp32-elf” sau khi hoàn tất.
Khi quá trình này hoàn tất, hãy đóng và mở lại Arduino IDE của bạn và bây giờ bạn sẽ có một danh sách dài các bảng ESP32 để lựa chọn trong menu Công cụ-> Bảng. Chọn “SparkFun ESP32 Thing” (hoặc “Adafruit ESP32 Feather”)
Sau đó, bạn có thể mở danh sách Tệp-Ví dụ để xem một số tệp ví dụ ESP32
Quá trình trên cài đặt một ảnh chụp nhanh của mã github cho hỗ trợ ESP32 và BLE đã được hợp nhất thành một tệp zip duy nhất. Mã do pfodDesigner tạo và các ví dụ bên dưới sử dụng phiên bản này của các thư viện đó. Nếu bạn muốn có phiên bản mới nhất, có thể có một bộ tính năng và lỗi khác, hãy tải xuống tệp zip của phiên bản mới nhất của https://github.com/espressif/arduino-esp32 và giải nén nó thành phần cứng / espressif và đổi tên thư mục esp32 và sau đó để được hỗ trợ BLE, hãy tải xuống một tệp zip của phiên bản mới nhất của https://github.com/espressif/arduino-esp32 và giải nén nó vào thư mục esp32 / library và đổi tên thành ESP32_BLE_Arduino (nếu cần).
Bước 2: Cài đặt Thư viện PfodParser cho ESP32
a) Sau đó tải xuống thư viện pfodParser.zip V3.23 +, pfodDwgControls.zip và đối với ESP32 WiFi, pfodESP32BufferedClient.zip, các tệp zip vào máy tính của bạn, di chuyển chúng vào máy tính để bàn hoặc một số thư mục khác mà bạn có thể dễ dàng tìm thấy.
b) Sau đó sử dụng tùy chọn menu Arduino 1.8.2 IDE Sketch → Import Library → Add Library để cài đặt chúng. (Nếu Arduino không cho phép bạn cài đặt vì thư viện đã tồn tại thì hãy tìm và xóa các thư mục pfodParser, pfodCmdParser hoặc pfodCHAP, v.v. cũ hơn rồi nhập các thư mục này)
c) Dừng và khởi động lại Arduino IDE và trong File-> Examples, bây giờ bạn sẽ thấy các thư viện pfodParser, pfodDwgControls và pfodESP32BufferedClient và một số ví dụ.
Bước 3: Sử dụng PfodDesignerV3 cho ESP32
Ứng dụng pfodDesignerV3 (V3291 +) miễn phí hỗ trợ tạo mã cho chip ESP32 để kết nối qua BLE, WiFi hoặc Bluetooth Classic với pfodApp (trả phí).
Hiện có nhiều hướng dẫn về cách tạo điều khiển cho điện thoại di động Android của bạn để điều khiển nhiều loại bo mạch bằng pfodDesignerV3. Với pfodDesignerV3, bạn có thể tạo các điều khiển bật / tắt đầu ra hoặc tạo xung chúng, điều khiển đầu ra thông qua PWM, hiển thị trạng thái của giá trị đầu vào hoặc tương tự, dữ liệu nhật ký và biểu đồ cũng như các menu phụ và hơn thế nữa.
Mẹo: Hỗ trợ Arduino ESP32 bao gồm hỗ trợ cho một số 31 bo mạch ESP32 khác nhau. PfodDesignerV3 cho phép bạn truy cập vào tất cả các chân I / O của ESP32 nhưng không phải tất cả các bảng đều kết nối tất cả các chân của ESP32 với các chân của bảng. Kiểm tra tài liệu về bo mạch của bạn để biết các chân cắm nào được cung cấp và xem tệp ghim_arduino.h trong thư mục phần cứng của bo mạch chủ / espressif / esp32 / variants.
Danh sách chân pfodDesignerV3 bao gồm các nhận xét về tính khả dụng và các chân sử dụng đặc biệt cho Sparkfun ESP32 Thing và Adafruit HUZZAH32 - ESP32 Feather Bo mạch.
Những ví dụ này sử dụng bảng Sparkfun ESP32 Thing và tạo một thanh trượt để kiểm soát độ sáng của đèn LED trên bo mạch được kết nối với chân 5 từ điện thoại di động Android của bạn. Nếu bạn đang sử dụng bảng Adafruit HUZZAH32 - ESP32 Feather thì đèn Led trên bo mạch được kết nối với chân 13. Hỗ trợ Arduino ESP32, được cài đặt ở trên, không hỗ trợ trực tiếp analogWrite của Arduino. Thay vào đó, ESP32 có 16 kênh PWM, bạn có thể điều khiển và kết nối với bất kỳ đầu ra nào. PfodDesignerV3 tạo tất cả mã cần thiết để phân bổ kênh và kết nối nó với đầu ra bạn đã chọn. Cài đặt pfodDesignerV3 (V3291 +) miễn phí từ google play.
Bước 4: Trình tạo mã ESP32 BLE
Bắt đầu một Menu mới
Nhấp vào nút Target để thay đổi thiết bị mục tiêu.
Mục tiêu ví dụ đầu tiên sẽ là ESP32 BLE vì vậy hãy nhấp vào nút Bluetooth Low Energy.
Chọn ESP32 được kết nối qua BLE và sau đó nhấn nút quay lại của thiết bị di động để quay lại màn hình chính.
Bước 5: Thiết kế Menu - Lời nhắc
Ví dụ đơn giản này sẽ chỉ có một lời nhắc và một điều khiển duy nhất. Nhấp vào nút Chỉnh sửa lời nhắc và sau đó nhấp vào nút Chỉnh sửa văn bản lời nhắc để đặt văn bản lời nhắc.
Ở đây lời nhắc được đặt thành “ESP32 Led”. Nhấp vào nút đánh dấu để lưu các chỉnh sửa của bạn và quay lại màn hình trước đó. Sau đó nhấp vào Đặt màu nền để chọn màu trên tất cả các màu cho menu điều khiển.
Bạn có thể chọn các màu khác nhau cho mỗi điều khiển. Có nhiều định dạng khác có sẵn cho lời nhắc. Ở đây, nền được đặt thành Xanh lam và kích thước phông chữ là +5 và văn bản là Bold. Bản xem trước của lời nhắc đã định dạng được hiển thị ở cuối màn hình Lời nhắc chỉnh sửa.
Bước 6: Thiết kế Menu - Điều khiển Led PWM
Sử dụng nút quay lại của thiết bị di động để quay lại menu chính, sau đó nhấp vào Thêm mục menu để thêm mục điều khiển hoặc hiển thị.
Chọn mục Đầu ra PWM. Bản xem trước của điều khiển được hiển thị ở đầu màn hình.
Mẹo: ESP32 không có chức năng ghi analog 'chuẩn Arduino'. Tuy nhiên, trình tạo mã này, tạo mã mô phỏng nó cho bạn
Nhấp vào nút Chỉnh sửa Văn bản Dẫn đầu và thay đổi “Cài đặt PWM” thành “Dẫn đầu” Lưu ý dấu cách ở cuối để tách “Đèn dẫn” khỏi chỉ báo%.
Nhấp vào nút đánh dấu để lưu chỉnh sửa của bạn và sau đó cuộn xuống nút “Chưa kết nối với ghim I / O”.
Nhấp vào nút đó để hiển thị danh sách các chân có thể được sử dụng làm đầu ra.
Điều này cho thấy các chân sử dụng đặc biệt cho bảng Sparkfun ESP32 Thing và Adafruit HUZZAH32 Feather. Chọn chân 5 để điều khiển thanh trượt sẽ điều khiển độ sáng đèn led trên bo mạch của Sparkfun ESP32 Thing. Nếu bạn đang sử dụng bảng Adafruit HUZZAH32 Feather, hãy chọn chân 13 để thay thế. Đối với các bo mạch khác, hãy kiểm tra tài liệu về bo mạch của bạn và tệp tinpin_arduino.h trong thư mục phần cứng của bo mạch chủ / espressif / esp32 / variants
Sau đó, khi bạn đã hoàn thành bất kỳ cài đặt định dạng nào khác cho thanh trượt này, hãy sử dụng nút quay lại của thiết bị di động để quay lại menu chính và nhấp vào Menu xem trước để xem menu cuối cùng sẽ trông như thế nào trên thiết bị di động của bạn khi được pfodApp hiển thị. Các điều khiển đang hoạt động nên bạn có thể di chuyển chúng trong bản xem trước.
Bước 7: Tạo mã ESP32
Quay lại menu chính và cuộn xuống nút Tạo mã.
Nhấp vào nút Tạo mã và sau đó nhấp vào nút Viết mã vào tệp để tạo mã
Thoát pfodDesignerV3 và chuyển mã trong /pfodAppRawData/pfodDesignerV3.txt từ điện thoại di động sang máy tính của bạn. Xem pfodAppForAndroidGettingStarted.pdf để biết các cách thực hiện việc này. Ứng dụng truyền tệp chuyên nghiệp qua wifi của smarterDroid là một cách để thực hiện chuyển.
Sử dụng nút “Thay đổi mục tiêu” trên màn hình Tạo mã, bạn có thể chuyển đổi giữa ESP32 qua BLE, ESP32 qua Bluetooth và ESP32 qua WiFi
Bước 8: Chạy các ví dụ
Sử dụng nút “Thay đổi mục tiêu” trên màn hình Tạo mã, bạn có thể chuyển đổi giữa ESP32 qua BLE, ESP32 qua Bluetooth và ESP32 qua WiFi
Đây là cách ba bản phác thảo ví dụ sau đây được tạo ra từ thiết kế trên.
Chạy ví dụ pfodESP32_BLE
Đặt Target thành ESP32 qua BLE tạo mã trong pfodESP32_LED_BLE.ino Bản phác thảo này cũng có sẵn trong File-> Examples-> pfodParser. Mở ví dụ đó, sau khi lập trình Sparkfun ESP32 Thing (hoặc bo mạch ESP32 khác), sau đó bạn nên thiết lập kết nối với nó trên pfodApp (xem pfodAppForAndroidGettingStarted.pdf để biết chi tiết) và kết nối và có thể điều chỉnh độ sáng của bảng dẫn.
MẸO: ESP32 sử dụng cùng một địa chỉ bluetooth cho cả BLE và Bluetooth, vì vậy nếu trước đó bạn đã thiết lập kết nối Bluetooth ESP32 trong pfodApp, bạn cần xóa kết nối Bluetooth pfodApp đó trước khi thiết lập kết nối BLE, vì pfodApp lọc các kết nối hiện có (bằng cách địa chỉ) từ danh sách hiển thị của các thiết bị có sẵn. Bạn cũng có thể cần mở cài đặt của điện thoại di động của mình và 'quên' kết nối Bluetooth ESP32, sau đó tắt Bluetooth của điện thoại di động và khởi động lại điện thoại của bạn để xóa ngăn xếp Bluetooth
MẸO: Thư viện ESP32_BLE_Arduino từ Neil Kolban không tương thích với thư viện BLEPeripheral từ Sandeep Mistry được sử dụng bởi một số mục tiêu BLE khác do pfodDesigner tạo ra. Vì vậy, bạn cần xóa thư mục BLEPeri Ngoại vi, (nếu nó tồn tại), khỏi thư mục Arduino / thư viện của bạn để biên dịch các bản phác thảo BLE của ESP32.
Chạy ví dụ về pfodESP32_Bl Bluetooth
Đặt Target thành ESP32 qua Bluetooth sẽ tạo mã trong pfodESP32_LED_Bl Bluetooth.ino Bản phác thảo này cũng có sẵn trong File-> Examples-> pfodParser. Mở ví dụ đó, sau đó lập trình Sparkfun ESP32 Thing (hoặc bảng ESP32 khác). Bạn cần ghép nối ESP32 với điện thoại của mình, không cần số pin. Sau đó thiết lập kết nối với nó trên pfodApp (xem chi tiết tại pfodAppForAndroidGettingStarted.pdf) và kết nối và có thể điều chỉnh độ sáng của bảng led.
Chạy ví dụ pfodESP32_WiFi
Đặt Target thành ESP32 qua WiFi sẽ tạo mã trong pfodESP32_LED_WiFi.ino Bản phác thảo này cũng có sẵn trong File-> Examples-> pfodParser. Mở ví dụ đó và chèn tên và mật khẩu mạng của bạn và chọn một IP tĩnh cho thiết bị này. Sau đó, sau khi lập trình Sparkfun ESP32 Thing (hoặc bảng ESP32 khác), bạn nên thiết lập kết nối với nó trên pfodApp (xem pfodAppForAndroidGettingStarted.pdf để biết chi tiết) và kết nối và có thể điều chỉnh độ sáng của bảng dẫn.
Bước 9: Bảo mật WiFi
Nếu kết nối với ESP32 qua internet (qua wifi), thì vấn đề bảo mật là rất quan trọng. Ví dụ, bạn không muốn bất cứ ai có thể mở cửa nhà để xe của bạn. Trình tạo mã và thư viện pfodParser hỗ trợ bảo mật 128 bit. Bảo mật này không mã hóa các tin nhắn mà thay vào đó, thêm một hàm băm mật mã vào mỗi tin nhắn để bảo vệ khỏi kết nối và kiểm soát không được ủy quyền. Xem Phản hồi và Thử thách bảo mật của SipHash để biết chi tiết về cách triển khai bảo mật này.
Thêm bảo mật 128bit
Bảo mật trước những người dùng không được ủy quyền truy cập thiết bị của bạn qua internet dễ dàng như chỉnh sửa # define pfodSecurityCode "" để thêm mã bí mật của riêng bạn. (lên đến 32 chữ số Hex)
Ví dụ để đặt mã bảo mật là 173057F7A706AF9BBE65D51122A14CEE, bạn sẽ sử dụng # define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Tất nhiên bạn nên sử dụng mã bí mật của riêng mình. Đặt mã của riêng bạn trong kết nối pfodApp của bạn cho phép bạn và không ai khác, kết nối.
Một mã ngẫu nhiên dài là cần thiết để bảo mật tốt. pfodApp hỗ trợ lên đến 128bits dưới dạng chữ số 32Hex.
Để tạo mã bí mật của riêng bạn, có thể tải xuống Trình tạo khóa bí mật ngẫu nhiên từ đây Trình tạo khóa bí mật từ đây. Cũng như tạo các khóa ngẫu nhiên, chương trình này viết chúng ra dưới dạng mã QR để bạn có thể dễ dàng và chính xác đặt chúng trong kết nối pfodApp của mình.
Bạn có thể in mã QR ra và đính kèm vào pfodDevice của mình. Sau đó nhấp vào nút Scan QR bottomon trong màn hình kết nối WiFi pfodApp để đọc mật khẩu.
Xem A Simple WiFi / Arduino pfodDevice ™ với bảo mật 128 bit để biết ví dụ chi tiết về cách sử dụng trình tạo khóa và mã QR.
Phần kết luận
Hướng dẫn này đã chỉ ra cách thiết lập Arduino IDE để lập trình ESP32. Sau đó, nó sử dụng ứng dụng pfodDesigner miễn phí để thiết kế menu điều khiển độ sáng của đèn led trên bo mạch và mã được tạo để kết nối với ESP32 qua BLE, Bluetooth hoặc WiFi. Sau đó, nếu bạn kết nối thông qua ứng dụng pfodApp apppfodApp, bạn sẽ thấy menu bạn đã thiết kế và có thể điều khiển độ sáng của đèn led thông qua một thanh trượt. PfodDesigner tạo ra tất cả mã Arduino, bao gồm cả việc mô phỏng analogWrite của Arduino. Không cần mã hóa Arduino. PfodApp chăm sóc tất cả các khía cạnh của Android, không yêu cầu mã hóa Android.
Đề xuất:
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 4 bước
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 1
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: 4 bước
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: Trong dự án này, tôi sẽ hướng dẫn bạn cách tạo một mạch trình điều khiển đơn giản cho một đĩa áp điện siêu âm 113kHz. Về cơ bản, mạch bao gồm một mạch hẹn giờ 555, một MOSFET và một vài thành phần bổ sung. Trên đường đi, tôi sẽ
Cách sử dụng Bluetooth (BLE) với ESP32: 3 bước
Cách sử dụng Bluetooth (BLE) Với ESP32: ##### NOTE ##### Phương pháp hiển thị trong Tài liệu hướng dẫn này đã cũ và lỗi thời. Xem video này để biết phương pháp mới nhất. ################ Mặc dù ESP32 tự hào có danh sách tính năng phong phú (Wikipedia), tính năng thu hút sự chú ý lớn nhất là màu xanh lam được tích hợp sẵn
Tạo bộ điều hợp Bluetooth Pt.2 (Tạo loa tương thích): 16 bước
Tạo Bộ điều hợp Bluetooth Pt.2 (Tạo loa tương thích): Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách sử dụng Bộ điều hợp Bluetooth của tôi để làm cho một chiếc loa cũ tương thích với Bluetooth. * Nếu bạn chưa đọc hướng dẫn đầu tiên của tôi về " Làm Bộ điều hợp Bluetooth " Tôi khuyên bạn nên làm như vậy trước khi tiếp tục.C
Điều khiển từ xa ESP32 Bluetooth BLE: 8 bước
Điều khiển từ xa Bluetooth BLE của ESP32: Dự án này là một ví dụ về cách kết nối cần điều khiển Bluetooth BLE rẻ tiền với ESP32. Mã được viết bằng Arduino IDE Ver 1.8.5 với phần bổ trợ ESP32. Cần điều khiển BLE được sử dụng là một thiết bị thương mại mà bạn có thể mua trên Inte