나는 C 언어에 능숙하지 않으며 Arduino를 프로그래밍하기 위해 파이썬을 사용할 수있는 방법이 있는지 궁금합니다. 스크립트를 스스로 디버깅하려면 다른 IDE가 필요할 것입니다.
나는 C 언어에 능숙하지 않으며 Arduino를 프로그래밍하기 위해 파이썬을 사용할 수있는 방법이 있는지 궁금합니다. 스크립트를 스스로 디버깅하려면 다른 IDE가 필요할 것입니다.
답변:
Arduino에서 직접 실행하는 모든 종류의 Python 스크립트를 얻는 것은 매우 어려울 것입니다. 그 이유는 언어가 통역 된 언어이기 때문에 일반 텍스트 스크립트 외에 온보드 통역사가 필요하기 때문입니다. 아마도 모든 것을 위해 충분한 메모리가 없을 것입니다.
가장 좋은 방법은 파이썬 스크립트를 네이티브 머신 코드 (C / C ++ 작동 방식)로 컴파일하는 방법을 찾는 것입니다. 다른 플랫폼에서 이와 비슷한 작업을 수행 할 수있는 프로젝트가 있지만 Arduino에게는 아직 성공하지 못한 프로젝트가 있다고 생각합니다.
: 당신은 스택 오버플로에서이 문제에 좀 더 유용한 정보를 찾을 수 있습니다 아두 이노 (우노) 위에 "컴파일"파이썬 코드에 대한 방법이 있나요 .
예, 파이썬을 사용하여 Arduino를 프로그래밍하는 것이 가능합니다. Github에서 그러한 프로젝트 중 하나는 Python Arduino 프로토 타이핑 API v2 입니다. 디지털 I / O 및 아날로그 I / O와 같은 매우 기본적인 기능을 제공합니다.
매우 간단한 프로젝트에 사용할 수 있습니다.
*이 프로젝트는 직렬 연결을 사용하여 보드를 "프로그래밍"할 때 약간의 해킹입니다. 직렬 연결을 통해 명령을 보드에서 실행되는 스케치로 전달한 다음 Python 명령을 "실행"합니다.
Arduino Mega를 포함하여 Python 가상 머신 을 마이크로 컨트롤러에 제공하는 프로젝트가 있습니다 .
다음은 Ardunio Mega README 의 인용문입니다.이 내용은 어떻습니까 ?
다음은 ipm을 사용한 예제 세션입니다. :
ipm> import avr, sys ipm> avr.ddrA(0xff) ipm> avr.portA(0) # Pins 22-29 all at 0 V ipm> avr.portA(0xa5) ipm> sys.heap() (2622, 7424)
고려해야 할 또 다른 옵션은 Arduino Yun 입니다. 대부분의 Arduino가 보유한 AVR 칩 외에도 Linux를 실행하는 MIPS 칩이 포함되어 있습니다. 리눅스이기 때문에 쉽게 파이썬 코드를 실행할 수 있으며 모든 순수 파이썬 패키지를 쉽게 설치할 수 있습니다.
그러나 흥미로운 모든 입출력 기능은 MIPS 칩이 아니라 AVR 칩에 있습니다. Autobahn 및 LininoIO 와 같은 프로젝트 는 MIPS 칩의 지시에 따라 I / O 작업을 수행하는 AVR 칩에서 특수 프로그램을 실행하여이 문제를 해결합니다.
우리는 이것이 Arduino 프로그래밍과 임베디드 세계에서 공개적인 문제라는 것을 알고 있습니다. 시장에 MicroPython과 같은 다양한 솔루션이 있지만 대부분 특정 보드 전용이며 시스템을 실시간으로 유지할 수 없습니다. 우리는 해결책을 찾고 있습니다! VIPER은 Arduino DUE 용 Python 가상 머신 및 실시간 운영 체제에서 실행되는 모든 ARM 32 비트 아키텍처입니다. 이는 Arduino DUE, UDOO, Spark (모든 보드) 및 새로운 ST nucleo 보드에서 실행할 수있는 Python 스크립트를 개발할 수 있음을 의미합니다. 또한 고성능이 필요하고 C에 능숙하다면 파이썬 스크립트에 의해 호출되고 관리 될 수있는 VIPER 용 실시간 모듈을 개발할 수 있습니다.
당신은 여기에 행동 VIPER를 볼 수 있습니다 http://bit.ly/kickviper
예. Python은 Arduino를 Python과 인터페이스 할 수있는 pyfirmata를 가져 와서 Arduino를 프로그래밍하는 데 사용할 수 있습니다.
Arduino IDE는 C / C ++ 언어를 사용하지 않습니다. IDE 처리 에서 파생되었으며 C / Java와 유사한 구문을 단순화했습니다.