Mục lục:

MicroPython trên Bảng cảm biến nghệ thuật phức tạp: 3 bước
MicroPython trên Bảng cảm biến nghệ thuật phức tạp: 3 bước

Video: MicroPython trên Bảng cảm biến nghệ thuật phức tạp: 3 bước

Video: MicroPython trên Bảng cảm biến nghệ thuật phức tạp: 3 bước
Video: ESP32 - Micropython - Bài 10: Giao tiếp 1 Wire - Đọc cảm biến nhiệt độ DS18B20 2024, Tháng mười một
Anonim
MicroPython trên Bảng cảm biến nghệ thuật phức hợp
MicroPython trên Bảng cảm biến nghệ thuật phức hợp
MicroPython trên Bảng cảm biến nghệ thuật phức tạp
MicroPython trên Bảng cảm biến nghệ thuật phức tạp

Một trong những khía cạnh tuyệt vời nhất của vi điều khiển ESP32 là khả năng chạy MicroPython. Điều này có thể được thực hiện theo hai cách: chạy các chương trình Python đầy đủ hoặc tương tác thông qua một ứng dụng bảng điều khiển. Có thể hướng dẫn này sẽ chứng minh cách sử dụng MicroPython là cả hai cách sử dụng Bảng cảm biến nghệ thuật phức tạp. Trước tiên, chúng tôi sẽ chạy một ứng dụng mẫu thu thập dữ liệu gia tốc kế từ IMU BNO_085, sau đó chúng tôi sẽ sử dụng một chương trình nối tiếp để lập trình tương tác bằng Python.

Cấp độ: Hướng dẫn này giả định một số kiến thức về Python và Python đã được cài đặt. Nó cũng giả định kiến thức về các lệnh đầu cuối cơ bản.

Công cụ: Công cụ duy nhất chúng tôi cần sẽ là Bảng cảm biến, chương trình đầu cuối và chương trình bảng điều khiển nối tiếp. Trên máy Mac, bạn có thể chỉ cần sử dụng thiết bị đầu cuối. Trên máy Windows, bạn sẽ cần tải xuống và cài đặt chương trình đầu cuối. Đối với bảng điều khiển nối tiếp. Putty luôn là một lựa chọn tốt.

Bước 1: Lấy Firmware và Thư viện

Để bắt đầu, chúng tôi sẽ cần tải xuống chương trình cơ sở tùy chỉnh do Complex Arts cung cấp và sau đó flash nó vào Bảng cảm biến. Bạn có thể tìm thấy phần sụn ở đây:

Tải xuống tệp firmware.bin và đặt nó vào thư mục bạn chọn. Cuối cùng, bạn cũng sẽ cần chương trình ví dụ về Nghệ thuật phức hợp, vì vậy bạn cũng có thể làm điều đó ngay bây giờ; truy cập: https://github.com/ComplexArts/SensorBoardPython và git clone hoặc tải xuống vị trí bạn chọn.

Khi bạn đã có tệp, chúng tôi sẽ cần một vài gói để giao tiếp với ESP32. Gói đầu tiên chúng tôi cần là esptool.py. Để cài đặt nó, chỉ cần gõ

pip cài đặt esptool

trong thiết bị đầu cuối.

Sau khi esptool được cài đặt, chúng tôi có thể xóa sau đó flash lại chip. Để làm như vậy, hãy nhập

esptool.py --chip esp32 --port COM4 delete_flash

đối với cổng, hãy nhập cổng nối tiếp trùng với Bảng cảm biến. Trên máy Mac, nó sẽ trông giống như --port / dev / ttyUSB0

Khi việc này được thực hiện xong, chúng tôi sẽ cài đặt con chip bằng:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Một lần nữa, hãy thay đổi cổng cho phù hợp.

Bước 2: Làm việc với MicroPython

Làm việc với MicroPython
Làm việc với MicroPython

Nếu chúng tôi kiểm tra đầu ra nối tiếp của Bảng cảm biến tại thời điểm này, chúng tôi sẽ thấy Python REPL (vòng lặp đọc-eval-in: >>>) Để thực hiện việc này, chúng tôi sẽ cần một chương trình bảng điều khiển nối tiếp. Putty là một lựa chọn tốt vì nó cung cấp các tùy chọn cho SSH và telnet, nhưng cũng có giao tiếp nối tiếp đơn giản như chúng tôi sẽ làm ở đây. putty.org. Khi bạn đã cài đặt xong, hãy mở nó và chọn “Serial” trong “Connection type:” Bạn cần nhập cùng một tên cổng nối tiếp mà bạn đã nhập cho esptool ở trên, sau đó là tốc độ truyền 115200 cho Speed. Tiếp tục và nhấp vào “Mở”. Và có Python!

Bây giờ chúng tôi sẽ muốn tải lên và chạy mã mẫu của chúng tôi. Để làm điều đó, hãy chuyển đến thư mục mà trước đó bạn đã lưu các ví dụ về SensorBoardPython. Chúng tôi sẽ cần gói ampy tuyệt vời của Adafruit. Bạn có thể cài đặt nó với:

pip cài đặt adafruit-ampy = 0,6,3

Khi bạn đã có nó, hãy sử dụng ampy để tải ví dụ về gia tốc kế lên bảng:

ampy -p COM4 đặt speedrometer.py

(tất nhiên là thay đổi cổng cho phù hợp). Bây giờ đặt lại bảng của bạn bằng nút đặt lại. Chúng ta sẽ quay lại Putty tại thời điểm này và tại dấu nhắc >>>, hãy nhập

nhập khẩu gia tốc kế

Viola! Bây giờ bạn đang chạy mã speedrometer.py trên Bảng cảm biến! Mã sẽ chạy trong 20 giây, sau đó tạm dừng. Lưu ý rằng trong khi mã gia tốc kế đang chạy, đèn LED màu xanh lam trên bảng nhấp nháy. Đối với những người quen thuộc hơn với Python, bạn sẽ nhận thấy điều này được thực hiện mà không phân luồng và không có độ trễ (). Đó là do việc sử dụng thư viện asyncio của Python, cung cấp các phương pháp tuyệt vời để chạy các tác vụ đồng thời và siêu hữu ích trên các nền tảng nhúng như ESP32. Nếu bạn không quen thuộc với nó, bạn nên xem qua; có một hướng dẫn tuyệt vời ở đây: https://github.com/peterhinch/micropython-async/b… (nhưng được cảnh báo, nó hơi phức tạp).

Bước 3: MicroPython Over Serial

Quay lại nhiệm vụ trong tầm tay! Khi mã gia tốc kế tạm dừng, bạn sẽ lại thấy Python >>>. Bây giờ chúng ta có thể lập trình tương tác bằng cách sử dụng Bảng cảm biến làm trình thông dịch Python của chúng ta. Để làm như vậy, hãy nhập

>> x = 10

>> y = 11

>> x + y

21

Trong khi đây là ví dụ cơ bản nhất, chúng ta có thể dễ dàng bắt đầu tạo mã phức tạp hơn bằng cách sử dụng thư viện Nghệ thuật phức hợp làm điểm khởi đầu. Điều này cho phép bạn chạy các phép đo vị trí và chuyển động một cách nhanh chóng, với điều khiển thời gian thực. Với các chân GPIO có sẵn trên Bảng cảm biến, bạn có thể dễ dàng kết nối các servo, đèn, cảm biến, động cơ hoặc bất kỳ thiết bị vật lý số nào, sử dụng chúng tương tác hoặc thông qua chương trình Python. Chúc vui vẻ!

Để biết thêm thông tin, hãy xem các tài nguyên khác sau:

complexarts.net/home/

complexarts.net/docs/bno085/

Đề xuất: