ESP8266 eLUA (NodeMCU) 및 MicroPython


14

ESP8266 에서 eLUA (NodeMCU)MicroPython 을 편견없는 최신 비교 를 찾고 있습니다.

나는 하나 또는 다른 것을 시도하는 사용자의 매우 피상적 ​​인 보고서 / 블로그 만 찾을 수 있습니다. -모든 기술적 세부 사항이 부족합니다.

내가 찾을 수있는 가장 가까운 것은 아마도 아마 구식이며 MicroPython 프로젝트에 의한 비교를 이해하기 가 어렵다는 것입니다.

나는 명백한 질문에 관심이 있습니다.

  • 플래시 사용량
  • 부팅 후 VM의 RAM 사용량
  • 일반적으로 사용되는 RAM 사용량
  • 실행 모델 (예 : ESP8266 "작업"은 어떻게 매핑됩니까?)
  • 실행 성능
  • 확장 용이성 (즉, 모듈 추가)
  • 관련 될 수있는 다른 것

문서를 연구하여 다음을 이해했다고 생각합니다.

  • NodeMCU에는 필요한 모듈 만 빌드 할 수있는 매우 세밀한 빌드 옵션이 있습니다. 작은 플래시 크기로 작업 할 수 있습니다. Micropython의 경우 512KB는 사용자 정의 코드를위한 공간이 남아 있지 않은 절대 하한으로 보입니다. 이것이 NodeMCU와 어떻게 비교되는지 확실하지 않습니다.
  • MicroPython에는 기본적으로 자동 구성되는 내장 WebREPL이 있습니다. NodeMCU에는 유사한 내장 기능이없는 것 같습니다.
  • NodeMCU는 현재 더 긴 커뮤니티 덕분에 더 큰 커뮤니티의 혜택을 받고있는 것 같습니다.
  • MicroPython 문서는 비공식적이며 C 코드 확장과 관련하여 완전히 부족합니다. NodeMCU 문서는 훌륭합니다.

요구 사항이 있어야하며 :>) 바랍니다. 램 크기, 배열 크기, 부동 또는 정수, RAM 효율성, CPU 속도, 응답 시간 등
Tony Stewart Sunnyskyguy EE75

답변:


17

루아 대 파이썬 총격 대신 약간 다른 접근 방식이 있습니다.

가장 인기있는 ESP8266 "런타임"6 개 :

  1. AT 명령 설정. 8266이 다른 MCU와 쌍을 이룰 때 널리 사용됩니다. 직렬 포트를 통해 통신합니다. ~ 64k의 128k RAM 사용 가능
  2. 마이크로 파이썬. 직렬 포트 또는 WIFI / IP를 통해 액세스 할 수있는 사용자 친화적 인 GUI가있는 MicroPython 스크립트 인터프리터. ~ 30k의 128k RAM 사용 가능
  3. 루아 / 노드 MCU. 직렬 포트를 통해 액세스 할 수있는 사용자 친화적 인 GUI가있는 LUA 스크립트 인터프리터. ~ 40k의 128k RAM 사용 가능
  4. JavaScript / Espruino. 직렬 포트 또는 WiFi / IP를 통해 액세스 할 수있는 사용자 친화적 인 GUI가있는 JavaScript 인터프리터 ~ 20k의 128k RAM 사용 가능
  5. C / IDE-12E. 표준 Arduino IDE를 사용하는 ESP8266 플래싱 툴 및 C 라이브러리 / 툴 . ~ 80k의 128k RAM 사용 가능
  6. C / ESP8266_SDK. 제조업체의 C 라이브러리 / 도구 또한 예제 응용 프로그램 모음입니다. ~ 512k 플래시. 128k RAM의 80k를 추측 할 수 있습니다.

핵심 통찰력은 대부분의 코드가 공통적이라는 것입니다. 1-5의 기본 라이브러리는 모두 6에서 시작됩니다. AT / Python / LUA / JavaScript / C 얇은 계층 아래 에서 기본 코드는 실제로 동일합니다. 즉 성능 (RAM, FLASH, 실행)도 비슷합니다.

옵션 # 5는 속도와 RAM이 걱정되는 것 같습니다 (일반적으로 플래시는 정상입니다). Arduino는 많은 예제 모음이있는 유용한 IDE입니다. 1 시간 이내에 첫 번째 코드를 실행할 수 있으며 스크립팅 엔진보다 성능이 뛰어납니다.

메모리 사용량 차이 가 크지 않은 경우 라이브러리 수가 많고 IRC 웹 채팅을 통한 활발한 온라인 커뮤니티로 인해 MicroPython을 선택합니다 .C 모듈 추가에 대한 설명서 가 향상되었습니다.

옵션 # 6은 최적화 가능성 가장 높지만 더 복잡하고 가파른 학습 곡선에 있습니다.

마지막으로 좋은 ESP8266 규칙 : 각 TCP / IP 연결은 최대 3k의 메모리를 소비 할 수 있습니다. 항상 5 개 미만의 동시 기대 연결을 !

TL; DR : ESP8266 어플리케이션은 대부분의 코드를 공통적으로 가지고 있으며 비슷하게 수행합니다. 따라서 원하는 스크립트 엔진을 선택하거나 C / IDE-12E로 업그레이드하십시오. 5 개 이상의 동시 IP 연결을 기대하지 마십시오.


관련 : Ivan Grokhotkov와 ESP8266 커뮤니티가 Arduino IDE에서 ESP8266을 프로그래밍하도록 포팅 한 방법에 대한 흥미로운 이야기 : makezine.com/2015/04/03/…
neonzeon

이것을 요약 해 주셔서 감사합니다. 나는 실제로이 정보를 찾고 있었고 당신은 저를 시간을 절약하고 알기 좋은 몇 가지 관점을 추가했습니다 ..
Scott Prive
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.