ESP8266이 Arduino를 대체 할 수 있습니까?


15

나는 애호가이며 지금까지 간단한 프로젝트를 위해 Arduino를 사용했습니다. 이제 주소 지정 가능한 LED가 포함 된 프로젝트를 만들고 싶습니다. Arduino에 LED 용 여러 프로그램을 작성하고 전화기에서 실행할 프로그램을 선택하고 싶습니다.

ESP8266을 Arduino와 대화 할 수있는 훌륭하고 저렴한 솔루션으로 찾았습니다. 웹에서 검색하여 작동시키는 방법을 배우면 자체 MCU가 있으며 Arduino IDE에서 코드를 작성하고 업로드 할 수 있습니다! 3 USD에 20kB의 RAM, 80MHz CPU 및 4MB의 플래시 (그러나이 숫자는 확실하지 않지만 4 분의 1도 좋습니다) !! GPIO가 몇 개만 필요한 경우 Arduino UNO를 사용해야하는 이유는 무엇입니까? 이 모듈은 신뢰할 수 있습니까?


아니요, ESP8266이 여기서 질문에 대답하는 것이 무엇인지 찾아 보지 않겠습니다. 게다가, 제목에서 이것은 분명히 의견에 근거한 질문이며, 디자인보다는 전자 장치의 사용에 관한 것 같습니다. 그뿐만 아니라 의심을 없애기 위해 "arduino"를 언급했습니다.

1
내부 ESP8266 프로세서는 사용자 프로그램을 실행할 수 있습니다. 사용되는 언어는 액세스 권한에 따라 다릅니다. LOA가 일반적으로 사용됩니다.
Russell McMahon

10
@OlinLathrop 사람들이 "LM324", "BC337", 1N4148과 같은 용어를 사용하는 경우 일반적으로 opamp, 바이폴라 저전력 NPN 트랜지스터 및 실리콘 소 신호 다이오드를 포함하는 것이 이해에 필요하지 않다는 것이 잘 알려져 있습니다. | ESP8266 제품군은 단일 IC의 WiFi + 프로세서와 프로그램 용 메모리를 갖춘 다양한 모듈입니다. 이것들은 매우 잘 알려져 있으며, 당신이 그들을 만나지 않으면 알아야 할 가치가 있습니다. 예를 들어 LM324만큼 널리 사용되지는 않지만 전체적으로 가장 일반적인 "IOT"WiFi 인터페이스 일 가능성이 높습니다.
Russell McMahon 2016 년

3
나는이 질문이 부정적으로 가치가 있다고 생각하지 않는다
Malachi

3
@ linhartr22에서 인용 www.lua.org/about.html : 포르투갈어로 "달" "루아"(발음 LOO-아)을 의미합니다. 따라서 약어 나 약어가 아니라 명사입니다. 더 구체적으로, "루아"는 이름, 지구의 달 이름 및 언어의 이름입니다. 대부분의 이름과 마찬가지로 초기 대문자, 즉 "Lua"로 소문자로 작성해야합니다. 추악하고 혼란스러운 "LUA"로 쓰지 마십시오. 사람들마다 다른 의미를 가진 약어가되기 때문입니다. "Lua"라고 적어주세요.
사라

답변:


11

글쎄, "Arduino를 대체 할 수 있습니까?"라는 질문에 대한 대답-그렇습니다. 많은 경우에 가능합니다.
"아두 이노 살인자"일지 의심 스럽습니다.
내 집에는 여러 개의 아두 이노와 ESP가 있고 사무실에는 1 대의 PC와 함께 자체 제작 (및 지속적으로 개발중인) 스마트 홈 솔루션의 일환으로 24 시간 연중 무휴로 운영되는 1 개의 ESP가 있습니다. 그 외에도 ESP와 관련된 몇 가지 실험 / 미완성 프로젝트가 있습니다.
제한없는 경험을 통해 Arduino와 비교 한 ESP의 장단점이 있습니다.

++++ 인터넷 연결 기능 내장!
++ 더 빠른 클럭과 더 많은 메모리.
+ 3V3 (대부분의 아두 이노는 5V는 아님)에서 실행되므로 레벨 시프터없이 3v3 장치 (대부분의 디스플레이 모듈과 같은)를 직접 인터페이스 할 수 있습니다.
+ "기본"ESP-12E는 Arduino nano 또는 pro micro만큼이나 비쌉니다.

- "기본"ESP-12E는 2.54mm가 아닌 2.0mm 피치이므로 작업하기가 쉽지 않습니다.
-프로토 타입 제작이 더 쉬워 지지만 비용이 증가하고 브레드 보드 / 프로토 보드에 너무 많은 공간을 차지합니다.
-가장 일반적인 브레이크 아웃 인 NodeMCU는 더 비싸고 루아에서 프로그래밍하지 않는 한 핀을 다시 매핑하고 큰 성가심을 가지고 있습니다. 이는 매우 간단한 프로젝트에만 적합합니다. IMO는 프로토 타이핑에만 사용해야합니다.
-3v3에서 실행되므로 5V 모듈을 인터페이스하기가 어렵고 대부분의 MOSFET을 완전히 켤 수 있습니다
.-전원 공급 장치에서 매우 까다 롭습니다.
-전송하지 않을 때 Arduino보다 훨씬 더 많은 전력을, 전송 할 때 훨씬 더 많은 전력을 소비합니다.
-배터리로 작동하는 프로젝트의 경우 거의 항상 악화됩니다-대기 전류가있는 3v3 레귤레이터가 필요하고, 많은 수면이 필요하며 (그리고 GPIO16이 필요합니다) 하루가 끝나면 arduino + low -파워 라디오는 동일한 작업을 수행하면서 배터리 사용 시간이 훨씬 길어집니다.
-GPIO 핀이 적고 시작시 일부 전압을 설정해야합니다 (GPIO0-높음, GPIO2-높음 또는 부동, GPIO15-낮음). 또한 시작시 일부 IO 핀을 "흔들기"하여 종종 사용할 수 없게합니다. 많은 장치.
-그들은 하나의 ADC 만 가지고 있으며, 이미 알고있는 Arduino ADC보다 느리며 0-1.1V (내부 참조)에서만 사용할 수 있습니다.
-많은 Arduino 라이브러리는 기본적으로 작동하거나 이미 포팅되어 있지만 대부분은 그렇지 않습니다. 직접 포트하거나 누군가가 할 때까지 기다려야합니다. 일반적으로 Arduino 커뮤니티는 훨씬 더 크고 성숙하므로 Arduino를위한 대부분의 "noob-friendly"튜토리얼, 라이브러리 등이 제공됩니다.

ESP8266은 여전히 ​​훌륭하고 매우 유용합니다. Lua조차도 빠른 소규모 프로젝트에 유용합니다. 인터넷 연결이 필요한 대부분의 경우 최상의 솔루션 인 것 같습니다. 다른 많은 경우에 ESP를 사용할 것인지 아두 이노를 사용할 것인지는 실제로 중요하지 않습니다. 때로는 Arduino (또는 작은 ATTiny85)가 더 나은 선택입니다.
언제나 그렇듯이 "직무를위한 올바른 도구"는 갈 길입니다.
또는 도구의 조합.


2
UART 인터페이스를 사용하여 ESP를 Arduino의 보조 장치로 사용하는 것은 "정확하지 않다"는 것에 크게 동의하지 않습니다. 아직 ESP로 포팅되지 않은 라이브러리를 사용하려면 Arduino를 기본 장치로 사용하지 않고 ESP를 사용하여 하나의 작업을 잘 수행하는 이유는 무엇입니까? 또는 8 비트 AVR 장치에 대해 더 잘 알고 있고 유능한 WiFi 애드온으로 5 달러를 절약 할 수 있다면 어떻습니까? 어리 석음을 배제한 공학 분야에서는 그것이 효과가 있다면 옳고 그른 방법은 없습니다-특정 도전에 다소 적합합니다.
stefandz 2016 년

2
UART를 통해 Arduino (또는 attiny)를 ESP와 연결하는 데 아무런 문제가 없습니다. "잘못된"느낌은 AT 명령을 사용하고 Arduino가 HTML 요청 및 응답 등을 구문 분석하는 것입니다. 확실히 작동하지만 (잘 했음) 잘못 들립니다. "논리적"방법은 더 강력한 칩을위한 것입니다. ESP)는 마스터 역할을 수행하고 특정 작업을 덜 강력한 칩으로 오프로드합니다. 대부분의 경우, 더 쉬운 방법이기도합니다. Arduino에서 AT 명령을 파싱하는 것은 재미도없고 효율적도 아닙니다. 예,이 방법으로 두 칩을 모두 프로그래밍해야하므로 불편합니다.
Mishony

1
이 설명을 포함하도록 답변을 편집 할 가치가 있습니다.
stefandz

1
나머지 대답은 좋지만 마지막 문장은 불분명하고 오해의 소지가 있기 때문입니다. 답을 찾는 사람들을 명확하게하는 것은 왜 이것이 나쁜 생각인지 이해하지 못하는 사람들에게 도움이 될 것입니다. 그리고 분명한 추론없이 "정확한"같은 것이 있다는 생각에서 벗어나십시오. 그러나 대답은 당신의 것입니다-분명히 당신은 적합하다고 생각하는대로 자유롭게 할 수 있습니다.
stefandz

1
실제로 ESP 대신 Arduino와 ESP를 사용해야하는 경우에도 직렬 통신을 사용할 수 있지만 더 높은 수준에서는 Arduino가 "temp = 26.5"를 ESP로 전송합니다 (예 : ESP의 코드). 그것을 인식하고 thingspeak.com 또는 무엇이든 HTTP 요청을 보냅니다. 이것이 작동하려면 Arduino와 ESP를 모두 프로그래밍해야합니다. 이는 다소 불편하지만 AT 명령을 다루는 것보다 어렵지 않습니다. 많은 상황에서 Arduino를 버리고 ESP 만 사용할 수 있습니다.
Mishony

1

예, 몇 개의 I / O 핀이 있으므로 이론적으로 하나 또는 몇 개의 LED를 구동하거나 I / O 포트 확장기 (I2C)를 사용할 수 있습니다.

예, 소프트웨어를 개발하여 저렴한 모듈로 다운로드 할 수도 있습니다. Arduino와 같은 각도는이를 수행하는 한 가지 방법 일뿐입니다. 믿게 될 수도 있으므로 ARM이 아닙니다. 그러나 esp8266 등을위한 gnu 툴체인이 있습니다. 예 80 또는 160MHz, 32 비트 RISC, 일부 플래시, 일부 램.


1

프로그래밍 할 수 있다면 물론 조명을 직접 제어하는 ​​것이 가능합니다. Arduino와 같이 많은 수의 I / O 핀이 없지만 작업을 수행하기에 충분한 한 비용, 크기 및 전력 요구 사항을 확실히 줄입니다.


1
@Dow 당신은 ebay / aliexpress에 더 나은 가격을 찾을 수 있습니다.
Darko

1
내 응용 프로그램의 경우 하나의 IO로 충분하지만 ESP-12는 여러 개의 IO, 10 비트 ADC 등을 제공합니다. 실제로 나는 1.78 USD를 위해 하나의 ESP-01을 샀다 (Aliexpress)! Arduino IDE에서 ESP를 사용 하려면 github.com/esp8266/Arduino 를 확인하십시오 . USB- 직렬 변환기가 필요합니다. 또는 Google NodeMCU를 하나의 보드로 모두 가져옵니다.

1

Arduino Uno 보드와 ESP 모듈은 동일하지 않지만 ESP8266의 GPIO가 응용 프로그램에 필요한 하드웨어를 제공하는 한 작동합니다.

내 관심사 중 하나는 인증입니다. 제품이 여러 인증을 받았으므로 버전도 인증되었는지 확인해야합니다. 수 여자 코드로 2AC7Z를 입력 하면 FCC 검색 페이지 에서 제조업체의 인증 및 일부 문서를 찾을 수 있습니다. 사용하는 보드는 보드에 따라 다르거 나 자체 인증이 필요할 수 있습니다.

아시다시피, Arduino 도구에 보드 유형으로 추가하여 애호가가 쉽게 게임을 할 수 있습니다.

방금 보조금을 확인했는데 3 개 모두 WiFi 안테나가 모든 사람의 최소 20cm를 유지해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.