Hướng dẫn what is meant by embedded in python? - nhúng vào python nghĩa là gì?

Embedded Python

Python can be used in embedded, small or minimal hardware devices, depending on how limiting the devices actually are.

Devices capable of running CPython

Some modern embedded devices have enough memory and a fast enough CPU to run a typical Linux-based environment, for example, and running CPython on such devices is mostly a matter of compilation (or cross-compilation) and tuning.

Devices which could be considered as "embedded" by modern standards and which can run tuned versions of CPython include the following:

  • Gumstix

  • Raspberry Pi

  • BeagleBone Black

  • FIC Neo1973 and Neo FreeRunner (Python on Openmoko)

  • Telit GSM/GPRS modules (also available as AarLogic family GPRS/GPS QUAD Band Modules)

See also PythonForArmLinux and OpenEmbedded.

Work to improve CPython for embedded applications

Various efforts have been made to make CPython more usable for embedded applications:

  • Patches in the OpenEmbedded repository

  • Cross-compilation issues: 1006238, 5404, 3871

  • General interpreter startup costs: SpeedUpInterpreterStartup

  • File access overhead on startup: Improving interpreter startup speed, Tons of stats/opens to non-existing files increases Python's startup on loaded NFS servers, Startup time

  • Import-related costs: __file__

  • Using a launcher process where "expensive" modules are required: Introducing python-launcher

Reduced or reworked Python implementations

Some devices may be more restrictive in that the typical memory footprint of CPython may exceed the amount of memory available on the device. In such cases, a re-engineered or adapted version of CPython, perhaps even to the point where it can be considered a new implementation of Python, might be appropriate.

Examples of such implementations include the following:

  • PyMite

  • Tiny Python

  • Zerynth formerly Viper

On the other hand, one can start with a full build, and simply remove unneeded modules, e.g., Tkinter, etc., to realize a reduced-size Python with little effort.

Sometimes the embedded environment is just too restrictive to support a Python virtual machine. In such cases, various Python tools can be employed for prototyping, with the eventual application or system code being generated and deployed on the device.

Tools that support this kind of development include the following:

  • MyHDL

  • WhatOS

Dàn ý theo chủ đề

  • Python nhúng là gì?

    Python nhúng là gì?

    Xem cách python nhúng mở rộng khả năng của nền tảng dữ liệu IRIS® của hệ thống Intersystems bằng cách kết nối hệ sinh thái phong phú của các thư viện Python với bối cảnh hoạt động gốc của IRIs hệ thống. Phát triển mã cơ sở dữ liệu của bạn bằng ngôn ngữ tốt nhất cho công việc: Python, ObjectScript hoặc cả hai.

    • Cái gì tiếp theo?

      Cái gì tiếp theo?

    Hướng dẫn what is meant by embedded in python? - nhúng vào python nghĩa là gì?

    (Nguồn: DENCG/Shutterstock.com)

    Cơ hội là nếu bạn đang lập trình các thiết bị nhúng, bạn đang viết mã bằng ngôn ngữ lập trình C/C ++. C ban đầu được tạo ra vào đầu những năm 1970; Tuy nhiên, sẽ không đến những năm 1990, các thiết bị nhúng lập trình sẽ chuyển từ ngôn ngữ lắp ráp sang ngôn ngữ C cấp cao hơn. Trong ba mươi năm tiếp theo, C/C ++ sẽ trị vì tối cao cho các ứng dụng được nhúng nhờ hiệu suất tuyệt vời của nó, cả về tốc độ và độ nhỏ gọn. Ngày nay, một sự thay đổi khác đang nổi lên với sự gia tăng của các triển khai trung tâm nhúng của ngôn ngữ lập trình Python phổ biến.

    Python lần đầu tiên xuất hiện vào những năm 1990 và đã liên tục trở nên phổ biến trong các nhà phát triển phần mềm kể từ đó. Trên thực tế, vào năm 2020, Python cuối cùng đã đạt đến vị trí số một trong cuộc khảo sát hàng năm về sự phổ biến ngôn ngữ lập trình của IEEE Spectrum. Ban đầu, Python trở nên phổ biến trong số các nhà phát triển nhúng như một ngôn ngữ kịch bản để kiểm tra các thiết bị điện tử. Dần dần nó đã di chuyển xa hơn xuống ngăn xếp phát triển. Thực tế, có nhiều triển khai của Python, với CPython là triển khai tham chiếu được sử dụng rộng rãi cho các ứng dụng máy tính để bàn.

    • Pymite và Python nhỏ là một trong những nỗ lực sớm nhất trong việc phát triển việc triển khai Python có khả năng giảm cho mục đích rõ ràng là chạy trên vi điều khiển. Pymite chỉ bao gồm một máy tính VM và thời gian chạy không có trình biên dịch. Điều này có nghĩa là nó chỉ có thể chạy Bytecode lần đầu tiên được biên soạn bởi CPython. Python nhỏ đã bao gồm một trình biên dịch mã byte trong khi vẫn chỉ chiếm khoảng 64 kilobyte RAM. Cả hai đều dựa trên Python 2, và cả hai đều không được phát triển tích cực. Tuy nhiên, chúng đại diện cho những nỗ lực sớm nhất để sử dụng Python cho các ứng dụng nhúng. & nbsp; were among the earliest attempts at developing reduced-capability implementations of Python for the express purpose of running on microcontrollers. PyMite includes only a VM and runtime—no compiler. This means that it can only run bytecode first compiled by CPython. Tiny Python did include a bytecode compiler while still only taking up approximately 64 kilobytes of RAM. Both are based on Python 2, and neither is actively developed. Nonetheless, they do represent the earliest attempts to use Python for embedded applications.
       
    • Micropython là một thay thế thú vị cho ngôn ngữ lập trình C để phát triển nhúng. Nó mang đến một số tính năng phổ biến của ngôn ngữ Cpython dựa trên máy tính để bàn cho các kiến ​​trúc vi điều khiển phổ biến khác nhau, bao gồm các bảng STM32, TI CC3200/WIPY, bảng tuổi thiếu niên, Sê-ri NRF của Bắc Âu, SAMD21, SAMD51, ESP8266, ESP32 Nền tảng Mindstorms EV3. Kể từ khi ra mắt vào năm 2014, Micropython đã chứng kiến ​​sự gia tăng ổn định về mức độ phổ biến, phản ánh việc sử dụng Cpython nói chung tăng lên. Một thuộc tính hấp dẫn khác là mã nguồn của Micropython được cung cấp theo giấy phép nguồn mở (giấy phép MIT) trên GitHub. & nbsp; is an exciting alternative to the C programming language for embedded development. It brings several popular features of the desktop-based CPython language to various popular microcontroller architectures, including STM32 boards, TI CC3200/WiPy, Teensy boards, Nordic nRF series, SAMD21, SAMD51, ESP8266, ESP32, RISC-V, and even the Lego Mindstorms EV3 platform. Since launching in 2014, MicroPython has seen a steady uptick in popularity, reflecting the increased usage of CPython in general. Another attractive attribute is that MicroPython's source code is offered under an open-source license (MIT License) on GitHub.
       
    • Circuitpython là một triển khai Python thân thiện với giáo dục và sản xuất và bản thân nó là một ngã ba của Micropython. Hỗ trợ phát triển mạch mạch được cung cấp bởi Adafruit Industries và là ngôn ngữ thực tế cho nhiều sản phẩm vi điều khiển của họ. Hiện tại có hơn một trăm bảng tương thích với CircuitPython, nhiều nhất dựa trên Microchip's SAMD21/SAMD51 và các bộ vi điều khiển NRF52840 của chất bán dẫn Bắc Âu. Một tính năng chính của CircuitPython là khả năng chỉ cần kéo tệp mã nguồn (.py) vào bảng phát triển tương thích, không khác gì kéo tệp vào ổ đĩa flash USB. Không cần phải biên dịch mã và không cần truy cập vào một lập trình viên/trình gỡ lỗi cồng kềnh (và đôi khi đắt tiền). Ngoài ra, mã nguồn vẫn có thể truy cập được trên thiết bị và có thể được mở trên bất kỳ máy tính nào. Điều này có nghĩa là người ta có thể tải xuống, chỉnh sửa và lập trình lại bảng phát triển tương thích CircuitPython từ bất kỳ máy tính nào bằng trình chỉnh sửa văn bản đơn giản. & nbsp; is an educational and maker-friendly Python implementation and is itself a fork of MicroPython. CIrcuitPython development support is provided by Adafruit Industries and is the de facto language for many of their microcontroller products. There are currently over one hundred boards compatible with CircuitPython, most based on Microchip's SAMD21/SAMD51 and Nordic Semiconductor's nRF52840 microcontrollers. One key feature of CircuitPython is the ability to simply drag a source code file (.py) onto a compatible development board, no different than dragging a file onto a USB flash drive. No need to compile code and no need for access to a cumbersome (and sometimes expensive) programmer/debugger. Also, the source code remains accessible on the device and can be opened on any computer. This means one can download, edit, and reprogram a CircuitPython-compatible development board from any computer using a simple text editor.
       
    • Zerynth là một tập hợp các công cụ được gói trong bộ phát triển phần mềm (SDK) hướng đến các nhà phát triển các sản phẩm Internet of Things (IoT). Họ chuyên đơn giản hóa kết nối giữa các bộ vi điều khiển 32 bit (bao gồm ESP32, ESP8266, Cortex M0+, ARM Cortex M3 và Cortex M4) và các nhà cung cấp dịch vụ đám mây IoT khác nhau ). Chỉ với một vài dòng mã python, dữ liệu từ các cảm biến thiết bị cạnh có thể được truyền đến đám mây để phân tích thêm và lưu trữ dài hạn. Trong số các công cụ được cung cấp, giao diện dòng lệnh (CLI), môi trường phát triển tích hợp Zerynth Studio (IDE), Hệ điều hành Zerynth (OS) và Trình quản lý thiết bị Zerynth; Tất cả đều có sẵn cho Windows, Mac OS và Linux. VM Zerynth chiếm một bộ nhớ flash nhỏ 80kb và RAM 5kb. Lập trình có thể được thực hiện trong Python, hoặc phương pháp lai Python/C nên yêu cầu hiệu suất đòi hỏi phải sắp xếp như vậy. & nbsp; is a set of tools wrapped up in a Software Development Kit (SDK) that is geared towards developers of Internet of Things (IoT) products. They specialize in simplifying the connection between 32-bit microcontrollers (including ESP32, ESP8266, ARM Cortex M0+, ARM Cortex M3, and ARM Cortex M4) and various IoT cloud service providers (AWS, Azure, Google Cloud Platform, Ubidots, The Things Network). With just a few lines of Python code, data from edge device sensors can be transmitted to the cloud for further analysis, and long-term storage. Among the provided tools, a command line interface (CLI), the Zerynth Studio Integrated Development Environment (IDE), Zerynth Operating System (OS), and the Zerynth Device Manager; all available for Windows, Mac OS, and Linux. The Zerynth VM takes up a small 80KB of flash memory and 5KB of RAM. Programming can be done in Python, or a Python/C hybrid approach should performance requirements necessitate such an arrangement.
       
    • Cpython. Máy tính bảng đơn (SBC) là máy tính để bàn toàn diện trong yếu tố hình thức có kích thước bằng thẻ tín dụng (ví dụ: Raspberry Pi, Beaglebone). Chúng cũng không tốn kém đến nỗi chúng ngày càng được sử dụng trong các ứng dụng nhúng. Các SBC thế hệ hiện tại đủ nhanh và có đủ bộ nhớ và lưu trữ để chạy triển khai CPython toàn diện (hoặc triển khai hơi giảm được thực hiện bằng cách bỏ qua các mô-đun không cần thiết). Đã có các triển khai khác, chẳng hạn như Python cho ARM Linux phù hợp với Python cho các kiến ​​trúc dựa trên cánh tay (so với kiến ​​trúc x86/x64). Gần đây, các triển khai bổ sung như Pypy, dựa trên trình biên dịch chỉ trong thời gian so với thông dịch viên của Cpython, đã được chuyển đến Raspberry Pi và cung cấp các cải tiến như hiệu suất tốc độ tốt hơn.. Single Board Computers (SBCs) are full-blown desktop computers in a credit card-sized form factor (e.g., Raspberry Pi, BeagleBone). They are also so inexpensive that they are increasingly used in embedded applications. Current generation SBCs are fast enough and have enough memory and storage to run the full-blown CPython implementation (or a slightly pared-down implementation made by omitting unneeded modules). There have been other implementations, such as the Python for ARM Linux that tailored Python for ARM-based architectures (as compared to x86/x64 architectures). More recently, additional implementations such as PyPy—based on a Just-In-Time compiler versus the interpreter of CPython—have been ported to Raspberry Pi and offer improvements such as better speed performance.

    Các nhà phát triển cần lưu ý rằng không có 'hương vị' nào của ngôn ngữ lập trình Python. Có nhiều triển khai, và một số được xây dựng rõ ràng để thực hiện trên các nền tảng nhúng tuyệt vời. Tương lai của Python với tư cách là một người chơi chính trong thế giới phát triển nhúng chuyên nghiệp bản lề để chứng minh rằng nó có thể đáp ứng hoặc vượt quá hiệu suất của C. Chúng ta có thể tìm đến lịch sử để cung cấp một số hiểu biết. Rốt cuộc, sự thay đổi từ lắp ráp sang C đã không xảy ra qua đêm. Việc lắp ráp vẫn được sử dụng cho các phần hiệu suất-kết hợp của chương trình C bằng cách chèn mã lắp ráp bên trong c macro. Python và C có thể làm việc tương tự nhau.

    Một cân nhắc khác là các bộ vi điều khiển có độ sáng mạnh hơn so với các bộ vi điều khiển của mười hoặc hai mươi năm trước. Chu kỳ đồng hồ đã đi từ việc được đo bằng một vài megahertz đến một gigahertz. Bộ nhớ flash, một khi được đo bằng hàng chục kilobyte, hiện được đo bằng một số megabyte. May mắn thay, sự gia tăng đáng kể về hiệu suất đã không đi kèm với giá cả tương xứng. Do đó, các nhà phát triển ứng dụng nhúng có thể viết mã cấp cao hơn mà không cần phải quan tâm đến mỗi chu kỳ đồng hồ hoặc byte của bộ nhớ nhất thiết và vẫn bật ra các sản phẩm có chất lượng cao, đáp ứng.

    Sự kết luận

    Ngôn ngữ lập trình, như ngôn ngữ nói, phát triển và phát triển để đáp ứng nhu cầu của thời đại. Các dẫn xuất Cpython được xây dựng rõ ràng cho các hệ thống nhúng, chẳng hạn như Micropython và Circorpython, đã sẵn sàng trở thành những người chơi chính trong tương lai của sự phát triển nhúng vì chúng dân chủ hóa quá trình sáng tạo. Khi kết hợp với một số kiến ​​thức cơ bản về phần cứng điện tử, các ngôn ngữ python nhúng cho phép mọi người, bất kể mức độ kỹ năng, để pha trộn vật lý và kỹ thuật số. Loại khả năng đó mở khóa các khả năng không thể đo lường được chỉ nhiều năm trước. Trên khắp thế giới, các ngôn ngữ lập trình nguồn mở có thể truy cập và các nền tảng nhúng cho phép các cộng đồng địa phương xây dựng các công cụ được bản địa hóa, cụ thể theo nhu cầu của họ, hiệu quả về chi phí và bền vững. Từ việc cho phép chúng tôi tạo ra các chương trình giám sát các tác động môi trường của vận chuyển ở các thành phố lớn cho đến những người giám sát chất lượng nước trong trại tị nạn, Python nhúng đang giúp biến thế giới thành một nơi tốt hơn, một dòng mã tại một thời điểm.

    " Mặt sau


    Hướng dẫn what is meant by embedded in python? - nhúng vào python nghĩa là gì?
    Michael Park, P.E. là người đồng sáng lập Green Shoe Garage, một studio thiết kế điện tử tùy chỉnh và công ty nghiên cứu bảo mật nhúng nằm ở phía tây Maryland. Ông sản xuất các bánh răng của podcast kháng chiến để giúp nâng cao nhận thức cộng đồng về các vấn đề kỹ thuật và khoa học. Michael cũng là một kỹ sư chuyên nghiệp được cấp phép tại bang Maryland và có bằng thạc sĩ về kỹ thuật hệ thống từ Đại học Johns Hopkins.


    Điều gì được nhúng trong Python?

    Python nhúng là một phần mở rộng của ngôn ngữ lập trình Python cho phép thực thi mã python bên trong bối cảnh quá trình IRIS của hệ thống. Bởi vì Python nhúng có chung ngữ cảnh quá trình với ObjectScript, nó có thể tương tác tự nhiên với các đối tượng được viết trong Objectscript.an extension of the Python programming language that allows for execution of Python code inside the InterSystems IRIS process context. Because Embedded Python shares the same process context as ObjectScript, it can interact natively with objects written in ObjectScript.

    Python có phải là một phần mềm nhúng không?

    Python là một ngôn ngữ phổ biến cho cả máy tính để bàn và phát triển nhúng.Tuy nhiên, không phải tất cả các triển khai là như nhau.Các nhà phát triển nên nhận thức được nhiều sự khác biệt giữa việc triển khai tham chiếu của CPython và micropython định hướng nhúng.. However, not all implementations are the same. Developers should be aware of the many differences between the reference implementation of CPython and the embedded-oriented MicroPython.

    Cái nào được nhúng tốt nhất hoặc python?

    Mặc dù 95% các hệ thống nhúng chạy trên C/C ++ blog này sẽ giúp bạn hiểu lý do tại sao bạn nên chọn Python cho các hệ thống nhúng.Đối với bất kỳ nhà phát triển phần mềm nào, Python là lựa chọn khôn ngoan nhất để xây dựng các hệ thống nhúng.Python đã thống trị xếp hạng phổ IEEE cho tất cả các ngôn ngữ lập trình.Python is the wisest choice to build embedded systems. Python has dominated the IEEE Spectrum ranking for all programming languages.

    Ngôn ngữ lập trình nhúng là gì?

    Ngôn ngữ lập trình nhúng là ngôn ngữ lập trình mà các nhà phát triển sử dụng trong các hệ thống nhúng.Nói chung, các ngôn ngữ cung cấp quyền truy cập cấp thấp vào phần cứng thiết bị.Các nhà phát triển sử dụng một số ngôn ngữ lập trình phổ biến cho các hệ thống nhúng.Một số người cũng gọi các ngôn ngữ mã hóa nhúng này.a programming language that developers use in embedded systems. In general, the languages offer low-level access to the device hardware. Developers use several common programming languages for embedded systems. Some people also call these embedded coding languages.