Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Micropython là một triển khai tinh gọn và hiệu quả của ngôn ngữ lập trình Python 3 bao gồm một tập hợp con nhỏ của Thư viện tiêu chuẩn Python và được tối ưu hóa để chạy trên vi điều khiển và trong môi trường bị ràng buộc.

Micropython Pyboard là một bảng mạch điện tử nhỏ gọn chạy micropython trên kim loại trần, cung cấp cho bạn một hệ điều hành Python cấp thấp có thể được sử dụng để kiểm soát tất cả các loại dự án điện tử.

Micropython được đóng gói đầy đủ các tính năng nâng cao như dấu nhắc tương tác, số nguyên chính xác tùy ý, đóng cửa, hiểu biết danh sách, máy phát điện, xử lý ngoại lệ và nhiều hơn nữa. Tuy nhiên, nó đủ nhỏ gọn để phù hợp và chạy trong vòng 256K không gian mã và 16K RAM.

Micropython nhằm mục đích tương thích với Python bình thường nhất có thể để cho phép bạn chuyển mã dễ dàng từ máy tính để bàn sang vi điều khiển hoặc hệ thống nhúng.

Bỏ qua nội dung

Quan điểm đăng: 15.764 15,764

Giới thiệu

Nhờ thành công của Python như một ngôn ngữ lập trình, ngày nay nhiều nhà phát triển đã chọn ngôn ngữ này trong các dự án của họ và ngày càng có nhiều người quen thuộc và trải nghiệm ngôn ngữ này. Vậy tại sao vi điều khiển vẫn được lập trình trong C?Python as a programming language, today many developers have chosen this language in their projects and more and more people are familiar with and experience this language. So why microcontrollers are still programmed in C?

Vâng, mọi thứ dường như đang đi một hướng khác. Micropython đã được phát hành, một phần mềm phát triển cho phép lập trình các bộ vi điều khiển bằng cách sử dụng Python độc quyền làm ngôn ngữ lập trình. Trong bài viết này, chúng ta sẽ thấy chi tiết Micropython. Chúng tôi cũng sẽ nói về Pyboard, một bảng vi điều khiển được thiết kế đặc biệt để được lập trình thành Python.MicroPython has been released, a development software that allows the programming of microcontrollers using exclusively Python as a programming language. In this article we will see in detail MicroPython. We will also talk about PyBoard, a microcontroller board specifically designed to be programmed into Python.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Micropython là một ứng dụng hoàn toàn dựa trên Python 3. Ứng dụng này cho phép tất cả các nhà phát triển lập trình vi điều khiển bằng một số thư viện Python đã được tối ưu hóa để hoạt động trên các bộ vi xử lý thường được gắn trên các bộ vi xử lý. is an application based entirely on Python 3. This application allows all developers to program microcontrollers using some Python libraries that have been optimized to work on microprocessors normally mounted on microcontrollers.

Sự phát triển trên micropython thực sự đơn giản. Nó không yêu cầu bất kỳ cài đặt nào, chỉ cần mở trang web tương ứng (xem tại đây) trên trang web chính thức của micropython.org & nbsp; Trên thực tế, Micropython là một ứng dụng hoạt động trực tuyến và vì vậy thay vì cài đặt một ứng dụng trên máy tính của bạn, bạn có thể làm việc trực tiếp từ trình duyệt.micropython.org website. In fact MicroPython is an application that works online, and so instead of installing an application on your computer you can work directly from the browser.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?
Micropython

Do đó, Micropython đã được thiết kế và thiết kế đặc biệt để lập trình trên các bộ vi điều khiển bằng cách điều chỉnh các thư viện Python tiêu chuẩn. Trên thực tế, một khi một chương trình được viết bằng Python, Micropython biên dịch mã trong một nhỏ gọn đủ để có thể chiếm giới hạn không gian 256kB và chạy trên các thiết bị có RAM 16kB.

Ngoài ra, Micropython hoạt động với mã Python tiêu chuẩn cao, vì vậy mọi thứ được phát triển trên môi trường này cũng hoạt động trong các môi trường phát triển khác trong Python và ngược lại.

Trình biên dịch với các mô-đun dành riêng cho phần cứng

Sức mạnh của micropython là đúng trong trình biên dịch. Trên thực tế, phần mềm này có trong đó một loạt các mô-đun dành riêng cho phần cứng để bạn có thể biên dịch mã trong Python một cách thích hợp tùy thuộc vào vi điều khiển được sử dụng.compiler. In fact, this software has within it a series of hardware-specific modules so you can compile the code in Python appropriately depending on the microcontroller used.

Nhưng nó không giới hạn ở điều này. Ví dụ, các ngôn ngữ lập trình khác, chẳng hạn như C cho Arduino, thường được sử dụng để viết toàn bộ chương trình và sau khi được sửa, nó được biên dịch và gửi cho vi điều khiển để được thực thi (thường là trong vòng lặp). Trong khi lập trình bằng Python, anh ta biết rất rõ rằng Python là ngôn ngữ sử dụng thông dịch viên. Vì vậy, bạn có thể sử dụng nó để viết các chương trình hoặc làm việc trong thời gian chạy, khởi chạy một lệnh tại một thời điểm. Chà, với micropython, bạn có thể viết một lệnh tại một thời điểm từ bảng điều khiển, được biên dịch trong thời gian thực và được gửi đến vi điều khiển.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Trên thực tế, Micropython có một lời nhắc tương tác (repl) để thực thi các lệnh một lần tương tác, được thực thi ngay lập tức. REP có lịch sử, hoàn thành tab, chức năng tự động và sao chép-cắt, tất cả để phát triển mã trở nên dễ dàng và đơn giản.interactive prompt (REPL) to execute the commands one at a time interactively, which are executed immediately. The REPL has a history, tab completion, auto-indent and copy-cut-paste functionality, all to make code development easy and simple.

Cuối cùng, Micropython, ngoài thư viện tiêu chuẩn được tối ưu hóa, còn có một loạt các mô-đun (ví dụ & NBSP; máy) cho phép truy cập mức thấp vào phần cứng.machine) that allows low-level access to the hardware.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?
Micropython - Ví dụ về Mandelbrodt

Đối với những người quan tâm đến việc tiếp tục chủ đề, bạn có thể tìm thấy tất cả các tài liệu trên trang web này.

Nếu không, hiện tại có một cuốn sách đầy đủ các ví dụ để bán, bao gồm toàn bộ chủ đề một cách toàn diện.

Dự án Micropython

Micropython, được phát triển bằng ngôn ngữ C99, là một dự án hoàn toàn mở ra. Mã này được cấp phép theo giấy phép MIT và có sẵn cho mọi người trên GitHub. Bất cứ ai có thể tự do tải mã để nghiên cứu, hoặc đóng góp cho việc cải thiện và cải thiện dự án này., developed in the C99 language, is an entirely opensource project. The code is licensed under the MIT license, and is available to everyone on GitHub. Anyone is free to download the code for study, or to contribute to the improvement and improvement of this project.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Trước đây bạn đã thấy rằng các khía cạnh quan trọng nhất của ứng dụng này là các kỹ thuật mã hóa nâng cao đã được sử dụng để duy trì các tính năng tương tự của Python, mặc dù chúng đã biên soạn các kỹ thuật nhỏ, để thích ứng với tài nguyên khan hiếm của vi điều khiển.

Dưới đây là một số tính năng đã được xuất bản trên trang web chính thức.

  • có thể cấu hình cao do nhiều tùy chọn cấu hình thời gian biên dịch
  • Hỗ trợ cho nhiều kiến ​​trúc (x86, x86-64, tay, ngón tay cái, xtensa)
  • Bộ thử nghiệm mở rộng với hơn 590 bài kiểm tra và hơn 18.500 bài kiểm tra riêng lẻ
  • Bảo hiểm mã ở mức 98,4% cho lõi và ở mức 96,3% cho cốt lõi cộng với các mô -đun mở rộng
  • Thời gian khởi động nhanh từ khởi động đến tải tập lệnh đầu tiên (150 micro giây để đến boot.py, trên pybv1.1 chạy ở 168 MHz)
  • Bộ thu gom rác đơn giản, nhanh chóng và mạnh mẽ cho bộ nhớ heap
  • Một ngoại lệ bộ nhớ được nâng lên nếu đống đã cạn kiệt
  • Một ngoại lệ chạy được tăng lên nếu đạt đến giới hạn ngăn xếp
  • Hỗ trợ chạy mã python trên một ngắt cứng với độ trễ tối thiểu
  • Lỗi có backtrace và báo cáo số dòng của mã nguồn
  • Gấp liên tục trong trình phân tích cú pháp/trình biên dịch
  • Gắn thẻ con trỏ để phù hợp với số nguyên nhỏ, chuỗi và vật thể trong một từ máy
  • Chuyển đổi trong suốt từ các số nguyên nhỏ sang số nguyên lớn
  • Hỗ trợ cho mô hình đối tượng quyền anh NAN 64 bit
  • Hỗ trợ cho những chiếc phao nhồi 30 bit, mà don lồng yêu cầu bộ nhớ heap
  • một trình biên dịch chéo và mã byte đông lạnh, để có các tập lệnh được biên dịch sẵn mà don lồng lấy bất kỳ RAM nào (ngoại trừ bất kỳ đối tượng động nào mà chúng tạo ra)
  • MultiThreading thông qua mô-đun _Thread, với khóa-interpreter-lock toàn cầu tùy chọn (vẫn đang hoạt động, chỉ có sẵn trên các cổng đã chọn)
  • Một bộ phát gốc nhắm mục tiêu mã máy trực tiếp thay vì máy ảo mã byte
  • Trình biên dịch nội tuyến (chỉ là bộ hướng dẫn của Thumb và Xtensa)

Pyboard

Tuy nhiên, Micropython đã được phát triển có tính đến một thẻ tham chiếu, cũng được phát triển chủ yếu để làm việc với Python. Tên của bảng này là Pyboard.PyBoard.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Bảng này là một dự án phần cứng hoàn toàn mở và do đó các sơ đồ điện tử có thể truy cập được cho mọi người. Vì vậy, bạn có thể làm cho nó và sửa đổi nó một cách thuận tiện, nhưng nếu bạn thích mua nó có sẵn trực tuyến với giá rất hợp lý.

Các thông số kỹ thuật của bảng này có thể được tóm tắt trong danh sách sau:

  • Bộ vi điều khiển STM32F405RG
  • 168 MHz Cortex M4 CPU với điểm nổi phần cứng
  • 1024kib flash rom và 192kib ram
  • Đầu nối Micro USB cho điện và giao tiếp nối tiếp
  • Khe cắm thẻ Micro SD, thẻ SD tiêu chuẩn và công suất cao
  • Gia tốc kế 3 trục (MMA7660)
  • Đồng hồ thời gian thực với sao lưu pin tùy chọn
  • 24 GPIO ở các cạnh trái và phải và 5 GPIO ở hàng dưới cùng, cộng với đèn LED và chuyển đổi GPIO có sẵn ở hàng dưới cùng
  • 3x 12 bit tương tự với bộ chuyển đổi kỹ thuật số, có sẵn trên 16 chân, 4 với việc che chắn mặt đất tương tự
  • Bộ chuyển đổi kỹ thuật số sang tương tự (DAC) 2x 12-bit, có sẵn trên các chân X5 và X6
  • 4 đèn LED (đỏ, xanh lá cây, vàng và xanh dương)
  • 1 Đặt lại và 1 công tắc người dùng
  • Bộ điều chỉnh điện áp LDO 3,3V trên tàu, có khả năng cung cấp tới 250mA, phạm vi điện áp đầu vào 3,6V đến 16V
  • DFU Bootloader trong ROM để dễ dàng nâng cấp chương trình cơ sở

Bảng được trang bị cổng Micro USB để kết nối với máy tính và cho ăn. Ngoài ra còn có một khe cắm để chèn MicroSD làm bộ nhớ. Nó cũng có một số chip tích hợp rất thú vị, chẳng hạn như gia tốc kế, một số bộ chuyển đổi kỹ thuật số tương tự và 4 đèn LED nhiều màu.

Như bạn có thể thấy từ những hình ảnh của Pyboard, chúng ta có thể nhận thấy ngay một lần xác định rộng rãi. Hình dưới đây cho thấy chi tiết chức năng của từng pin.

Hướng dẫn can i use python to program microcontrollers? - tôi có thể sử dụng python để lập trình vi điều khiển không?

Kết luận

Trong bài viết ngắn này, ứng dụng Micropython đã được hiển thị, một phần mềm cho phép lập trình Python cho các bộ vi điều khiển. Bạn đã thấy chi tiết các tính năng của dự án OpenSource hoàn toàn này và đặc biệt là trình biên dịch có khả năng tạo mã được biên dịch dành riêng cho phần cứng theo vi điều khiển và kích thước nhỏ. Bạn cũng đã xem nhanh về Pyboard, một vi điều khiển được phát triển đặc biệt để được lập trình thành Python. Trong các bài viết tiếp theo, một số hướng dẫn về lập trình trong Python sẽ được đề xuất trong môi trường phát triển này.MicroPython application was shown, a software that allows Python programming for microcontrollers. You have seen in detail the features of this totally opensource project and in particular of the compiler that is able to produce hardware-specific compiled code according to microcontrollers and small size. You also took a quick look at the pyBoard, a microcontroller developed specifically to be programmed into Python. In the next articles some tutorials on programming in Python will be proposed in this development environment.

[:]

Tôi có thể mã hóa vi điều khiển bằng Python không?

Micropython là một tập hợp con của ngôn ngữ Python 3 đã được giảm bớt để chạy hiệu quả trên một số bộ vi điều khiển.Nếu bạn đã quen thuộc với Python hoặc tìm kiếm một cách nhanh chóng để viết mã cho vi điều khiển (không phải là C/C ++, Arduino hoặc lắp ráp), Micropython là một lựa chọn tốt.MicroPython is a good option.

Ngôn ngữ nào là tốt nhất cho lập trình vi điều khiển?

C hoặc C ++ thường được sử dụng trong các bộ vi điều khiển và trong các thiết bị nhúng sử dụng các hệ điều hành thực.Những hệ thống đó cũng đòi hỏi tốc độ và hiệu quả mà C và C ++ cung cấp.Bạn cũng sẽ tìm thấy C và C ++ trong một số hệ thống nhúng khác. are frequently used in microcontrollers and in embedded devices that use real operating systems. Those systems also demand the speed and efficiency that C and C++ provide. You'll also find C and C++ in several other embedded systems.

Những gì vi điều khiển chạy Python?

Micropython cho phép các ban phát triển..
Pyboard..
ESP8266..
ESP32..
micro:bit..

Arduino có thể được lập trình trong Python không?

Arduino IDE chưa hỗ trợ Python.Thay vào đó, chúng tôi có thể sử dụng OpenMV, một nền tảng hỗ trợ các bảng Arduino lập trình với micropython.. Instead, we can use OpenMV, a platform that supports programming Arduino boards with MicroPython.