서비스 핫라인
Python이 지배적인 프로그래밍 언어가 되면서 MicroPython은 임베디드 시스템 분야, 특히 Raspberry PI Foundation에서 최근 출시한 인기 있는 ESP32 및 RP2040 마이크로 컨트롤러 기반 Pico 모듈에서 점점 인기를 얻었습니다.
코드 한 줄도 작성할 수 없는 배넌으로서 저는 대부분의 시간 동안 매우 제한적인 느낌을 받았고, 프로그래밍 언어를 배울 수 있는 좋은 시간을 찾겠다고 다짐했습니다. 저는 7일간의 국경일 연휴 동안 MicroPython에 전념했고, 제가 직접 디자인한 Pico 확장 학습 보드에서 주변 장치의 모든 기능을 보드에 구현했습니다.
-
화려한 조명 - 단색, RGB 3가지 색상, 모든 종류의 조합, 버튼과 센서로도 제어 가능
-
OLED 화면에는 텍스트, 이미지 및 파형이 표시됩니다.
-
오디오 신호가 수집되어 OLED 화면에 표시되므로 멋진 파형 표시가 가능합니다.
-
보드의 부저로 "나와 나의 나라" 게임하기
-
임의 파형을 생성하기 위해 다른 사람의 코드 포팅(파형 변경, 주파수 변경, 크기 변경 등)
7일간의 "탐색" 동안 가장 인상 깊었던 점은 MicroPython에서 임베디드 시스템을 시작하는 것이 얼마나 쉬운지였습니다. 풍부한 오픈 소스 리소스, 비디오 코스, 텍스트 사례 등과 같은 다양한 참조 형식이 포함되었습니다.
MicroPython은 정말 훌륭한 프로그래밍 언어입니다. 객체 지향적이고 유연하며 단순하고 우아합니다!
나의 개인적인 학습은 다른 사람의 공유(오픈 소스)를 통해 이익을 얻고, 지식을 전달하는 가장 좋은 방법은 내가 배운 것과 배운 것을 공유하는 것입니다. 그래서 Pico를 기반으로 한 Micro Python 임베디드 프로그래밍 튜토리얼을 출시할 계획이며, 한 달 후에 정식 출시될 예정입니다. 물론, 초기 단계에는 15개의 PCB 설계 라이브 과정이 있어 Pico 학습 보드를 직접 설계할 수 있습니다. 결국 Pico 코어보드를 기반으로 무료 인쇄보드와 무료 배송이라는 편리한 환경에서 누구나 PCB를 설계하여 미래에 다양하고 흥미로운 애플리케이션을 만들 수 있습니다. PCB 설계 방법을 배우는 것도 임베디드 시스템 엔지니어에게 도움이 될 수 있습니다.
이제부터 이 강좌와 관련된 일련의 기술 기사가 게재될 예정입니다. 오늘은 첫 번째입니다.
1. 마이크로파이썬이란?
MicroPython은 소형 임베디드 개발 보드에서 실행되는 소형 오픈 소스 Python 프로그래밍 언어 인터프리터입니다. MicroPython을 사용하면 C 또는 C++(프로그래밍용 Arduino)와 같은 복잡한 기본 언어를 사용하지 않고도 깨끗하고 간단한 Python 코드를 작성하여 하드웨어를 제어할 수 있습니다.

마이크로파이썬 로고
Python 프로그래밍 언어의 단순성으로 인해 MicroPython은 프로그래밍 및 하드웨어 초보자에게 이상적인 선택입니다. MicroPython은 모든 기능을 갖추고 있으며 대부분의 Python 구문을 지원하므로 숙련된 Python 베테랑이라도 MicroPython을 사용하는 것이 익숙하고 재미있을 것입니다.
MicroPython은 사용하기 쉬울 뿐만 아니라 다른 임베디드 시스템과 차별화되는 몇 가지 고유한 기능을 갖추고 있습니다.
대화형 통역사 사용: REPL(읽기 읽기-평가-인쇄 인쇄-루프 루프) - 이를 통해 보드에 연결하고 컴파일이나 업로드 없이 코드를 실행할 수 있습니다. 빠른 학습과 하드웨어 실험에 적합합니다!
풍부한 소프트웨어 라이브러리 - 일반 Python 프로그래밍 언어와 마찬가지로 MicroPython에는 많은 작업을 지원하기 위해 수많은 라이브러리가 내장되어 있습니다. 예를 들어, MicroPython의 내장 라이브러리를 통해 웹 서비스에서 JSON 데이터를 쉽게 구문 분석하고, 정규식을 사용하여 텍스트를 검색하고, 심지어 네트워크 소켓 프로그래밍도 수행할 수 있습니다.
확장성 - 고급 사용자의 경우 MicroPython을 하위 수준 C/C++ 기능으로 확장할 수 있으므로 필요할 때 표현력이 뛰어난 상위 수준 MicroPython 코드와 더 빠른 하위 수준 코드를 혼합할 수 있습니다.
MicroPython은 Python 3 언어의 변형입니다. 이는 2013년에 크라우드 펀딩 팀과 협력하여 PyBoard라는 microPython 지원 하드웨어 개발 보드를 개발한 케임브리지 대학의 Darrien P. George 박사의 아이디어입니다. MicroPython1.0은 Python 컨퍼런스에서 발표되었습니다( PyCon)을 2014년에 출시했습니다. George 박사는 또한 MicroPython과 Pyboard를 지원하기 위해 Micro Python.org 웹사이트(www.micropython.org)를 개설했습니다.

공식 MicroPython.Org 로고
MicroPython.Org PyBoard는 STM32 컨트롤러를 기반으로 합니다.
2. MicroPython은 무엇을 할 수 있나요?
MicroPython은 임베디드 시스템 제어 프로그램을 빠르고 효율적으로 생성하도록 설계되었습니다. 임베디드 시스템은 엔지니어링 요구 사항을 충족하기 위해 마이크로컨트롤러를 사용해야 하는 모든 프로젝트로 간단히 정의할 수 있습니다. 일반적인 임베디드 시스템은 일반적으로 센서와 때로는 전기 기계 액추에이터를 사용하여 마이크로컨트롤러와 인터페이스합니다. 손쉬운 상호 작용을 위해 인간-기계 인터페이스 장치에 연결할 수 있지만 독립 실행형 작업이나 클라우드에 대한 원격 액세스를 위해 더욱 자동화되었습니다.
Arduino 보드와 마찬가지로 MicroPython은 하드웨어 및 연결된 장치를 제어할 수 있습니다. GPIO 핀 깜박이는 조명, 읽기 스위치 등을 제어할 수 있습니다. 서버와 LED를 구동할 수 있는 PWM 신호를 구동할 수 있습니다. 아날로그 센서는 아날로그-디지털 변환기를 통해 읽고 읽을 수 있습니다. I2C나 SPI 장치와도 쉽게 통신할 수 있습니다. 일부 보드에서는 네트워크 및 WiFi 지원을 찾을 수도 있습니다. MicroPython에는 NeoPixel 및 LED 스트립, 소형 OLED 디스플레이 등과 같은 다른 하드웨어를 제어하기 위한 라이브러리도 있습니다. 간단히 말해서, MicroPython은 많은 일을 할 수 있습니다!
MicroPython의 한계는 무엇입니까?
MicroPython에는 제한이 거의 없으며 Arduino가 수행할 수 있는 거의 모든 작업은 MicroPython 보드를 통해 수행할 수 있습니다. 그러나 MicroPython 코드는 유사한 Arduino 또는 기타 C/C++ 기반 하위 수준 코드보다 빠르지 않고 더 많은 메모리가 필요할 수 있다는 점에 유의하는 것이 중요합니다. 하지만 속도와 메모리 차이가 충분히 크지 않기 때문에 일반적으로 문제가 되지 않습니다. 대부분의 응용 프로그램에 영향을 미칩니다. 시간이나 성능이 중요한 코드는 MicroPython에서 작동하지 않을 수 있습니다. 예를 들어, 소프트웨어를 완전히 사용하여 IO 핀을 구동하여 MicroPython에서 일부 고속 직렬 통신 프로토콜을 구현하는 것은 최선의 아이디어가 아닐 수 있습니다. 그러나 MicroPython과 하위 수준 C/C++ 코드를 혼합하여 두 세계의 장점을 모두 누릴 수 있는 방법이 있습니다. 기본 논리는 깔끔하고 이해하기 쉬운 MicroPython 코드인 반면 성능에 중요한 부분은 다음 언어로 작성됩니다. 더 빠른 저수준 코드.
MicroPython 언어는 핵심 Python 3 언어의 대부분을 구현하지만 MicroPython은 전체 Python 3 표준 라이브러리를 구현하지 않습니다. Python은 광범위한 표준 라이브러리를 보유하고 있는 것으로 알려져 있지만 이러한 대규모 라이브러리를 킬로바이트 메모리만 있는 작은 보드에 압축하는 것은 불가능합니다. 대신 MicroPython은 Python 표준 라이브러리의 일부 작은 버전을 구현하여 뛰어난 개발 경험을 제공합니다.
면책조항: 이 기사는 "전자 숲"에서 재인쇄되었습니다. 이 기사는 작성자의 개인적인 견해일 뿐이며 Sakwei 및 업계의 견해를 대변하지 않으며 복제 및 공유만 가능하며 지적 재산권 보호를 지지합니다. 원본 출처를 표시하십시오. 그리고 작성자님, 침해가 있을 경우 연락주시면 삭제해드리겠습니다.




粤公网安备44030002007346号