참고: ESP RainMaker는 ESP32, ESP32-S2, ESP32-C3 및 ESP32-S3와 같은 ESP32의 모든 변형에서 작동합니다. 명시적으로 달리 지정하지 않는 한 ESP32라는 이름을 사용하여 이 모든 것을 의미합니다.
소개
ESP RainMaker GitHub 프로젝트 는 "노드" 를 구현하는 데 사용해야 합니다. 그러면 로그인한 사용자가 클라이언트(예: 전화 앱)를 사용하여 구성한 다음 ESP RainMaker 클라우드를 통해 제어할 수 있습니다. 이 가이드의 예는 ESP32-S2-Saola-1, ESP32-C3-DevKitC 및 ESP32-S3-DevKitC에 가장 적합하지만 Button/LED GPIO를 재구성하여 다른 보드에서도 동일하게 사용할 수 있습니다.
https://rainmaker.espressif.com/docs/get-started.html
2020년 4월 출시 이후, 우리는 대부분 기능 세트를 중심 으로 ESP RainMaker 를 상당히 개선했습니다. 이와 함께 개발자 온보딩을 보다 쉽게 하기 위해 노력하고 있습니다. ESP IDF Windows Installer 와 Eclipse 및 VSCode 통합 은 특히 많은 개발자에게 유용했습니다. 우리가 계속 받고 있는 공통적인 요청 중 하나는 Arduino를 지원하는 것이었습니다. Arduino를 시작하는 것이 많은 개발자에게 훨씬 더 편리하고 IDE와 코드 구조가 익숙하기 때문에 다른 칩/플랫폼에서 마이그레이션하는 것도 더 쉽기 때문입니다.
자, 여기 있습니다. Arduino에서 ESP RainMaker에 대한 지원이 시작되었습니다.
개요
스위치 에 대한 샘플 스케치 가 포함되었습니다. 이를 가능하게 하는 코드를 빠르게 살펴보겠습니다.
위의 몇 줄의 간단한 코드로 모든 기능을 갖춘 스마트 스위치가 준비되었습니다. 스위치는 Android 및 iOS 애플리케이션은 물론 Alexa 및 Google Voice Assistant 기술로 제어할 수 있습니다.
이 코드를 실행할 때:
- 장치는 먼저 Wi-Fi 네트워크가 구성되어 있는지 확인합니다. 네트워크가 구성되지 않은 경우 프로비저닝 프로세스가 시작됩니다. 그런 다음 위에서 언급한 전화 앱을 사용하여 장치를 구성할 수 있습니다.
- Wi-Fi 구성을 찾으면 구성된 네트워크에 연결합니다.
- 연결되면 RainMaker 클라우드에 연결되어 매개변수(이 경우 스위치 상태)를 수정하는 명령을 찾습니다.
- 장치는 또한 로컬 Wi-Fi 네트워크에서 명령을 찾습니다.
- 누군가 전화 앱이나 음성 통합을 사용하여 스위치 상태를 변경하면 write_callback() 이 호출됩니다. 그러면 다음과 같이 구현됩니다.
이 함수는 새로운 스위치 출력 값을 취하고
- 내부 상태의 업데이트,
- 드라이버를 호출하여 GPIO 상태 업데이트
- 클라우드에 새로운 상태를 보고합니다.
작동 중인 완전한 기능의 스마트 스위치입니다. 몇 가지 일반적인 장치 유형(전구, 팬, 스위치)이 이미 데이터 모델에서 지원되지만 사용자도 추가할 수 있습니다.
시작하기
시작하기 전에 주의할 몇 가지 사항
- RainMaker를 사용하려면 먼저 Arduino에서 ESP32 지원을 시작해야 합니다 .
- RainMaker 지원은 아직 안정적인 esp32-arduino 릴리스의 일부가 아닙니다. 따라서 ESP32 Arduino 저장소의 마스터 분기를 사용합니다. 이 지원이 안정적인 릴리스에서 제공되면 여기와 다른 곳에서 업데이트할 것입니다.
- 현재 ESP32만 지원됩니다. ESP32-S 및 ESP32-C 시리즈에 대한 지원이 곧 제공될 예정입니다.
Arduino가 ESP32 지원으로 설정되면 다음 단계를 따르십시오.
- Arduino IDE를 열고 도구로 이동하여 다음을 설정합니다.
- 보드: "ESP32 개발 모듈"
- 플래시 크기: "4MB"
- 파티션 구성표: "RainMaker"
- 핵심 디버그 수준: "정보"
- 포트: 목록에서 호스트 플랫폼에 따라 적절한 ESP32 포트를 선택합니다. ESP32 보드를 연결/분리하면 포트 번호를 알 수 있습니다.
다음은 참조용 전체 목록입니다.


Arduino 도구 설정
2. 이제 파일 -> 예제 -> ESP32 Dev Module의 예제 -> ESP RainMaker -> RMakerSwitch로 이동합니다.
3. IDE에서 업로드 버튼을 클릭하거나 스케치 -> 업로드로 이동하여 스케치를 ESP32 보드에 업로드합니다.
4. 도구 -> 직렬 모니터로 이동합니다. Baud로 115200을 선택합니다. 모니터 창에 아무것도 표시되지 않으면 보드를 재설정합니다(RST 버튼 사용).
5. ESP RainMaker 전화 앱 을 다운로드하고 가입하거나 로그인하면 준비가 완료됩니다.
6. 직렬 모니터의 지침에 따라 RainMaker 앱에서 스위치를 추가합니다. (지침이 표시되지 않으면 도구 아래의 "핵심 디버그 수준: 정보" 옵션을 다시 확인하십시오.)
이제 전화 앱의 모든 제어가 장치에 반영되어야 하고 장치의 모든 변경(BOOT 버튼 누름)이 전화 앱에 반영되어야 합니다.
BOOT 버튼을 3초 이상 길게 눌렀다가 떼면 Wi-Fi 재설정이, 10초 이상 누르면 공장 기본값으로 재설정됩니다.
ESP RainMaker에 대한 자세한 내용은 여기 를 확인 하십시오. 모든 RainMaker API 가 Arduino와 원활하게 작동할 것으로 예상되지만 여기에서 볼 수 있듯이 일반적인 Arduino 코드에 맞게 몇 가지 간소화된 API를 제공했습니다 .
John Macrae는 ESP32 제작자 커뮤니티에서 활동 중이며 Arduino 지원이 시작될 때 이 비디오 를 만들었습니다. 그의 최신 비디오 는 최근에 도입된 개선 사항을 보여주고 맞춤형 장치를 구축하는 방법도 보여줍니다.