[ESP-IDF] WiFi
·
MCU/esp32
#include #include "freertos/FreeRTOS.h" //for delay,mutexs,semphrs rtos operations#include "driver/gpio.h"#include "esp_wifi.h"#include "nvs_flash.h" //non volatile storage#include "esp_event.h" //for wifi event//#include "lwip/sys.h" //system applications for light weight ip apps//#include "lwip/err.h" //light weight ip packets error handling//#include "esp_system.h" //esp_init funtions esp_err..
[ESP-IDF] UART
·
MCU/esp32
개발 IDE : ESP IDF (on vscode) 개발 보드 : Lolin D32 0. 설명ESP32에는 3개의 UART 채널이 있다. (UART0, UART1, UART2) 보통 UART0이 기본 UART 포트로 디버깅, 시리얼모니터 연결 등에 사용된다.  예를 들어 아두이노에서 Serial.begin()과 같은 함수를 사용해서 시리얼 모니터에 문자를 출력하면 uart0 채널을 사용한 것이다.     1. 코드     2. 코드설명#include "driver/uart.h"uart 관련 api include    uart_config_t uart_config = { .baud_rate = 115200, .data_bits = UART_DATA_8_BITS, .parity = UART_..
[ESP-IDF] GPIO
·
MCU/esp32
개발 IDE : ESP IDF (on vscode) 개발 보드 : Lolin D32 0. 내장 LED 회로도Lolin D32의 회로도를 보면 LED가 IO5번으로 연결되어있다.Sink current라 IO5번 포트에 LOW(0)을 출력해야 LED에 불이 들어온다.   1. 전체 코드  2. 코드 설명#include "driver/gpio.h"위 헤더파일을 include하여 gpio관련된 api를 사용할 수 있다.   gpio_set_direction(BUILEDTIN_LED, GPIO_MODE_OUTPUT);gpio의 방향을 정하는 함수다. 파라미터로는 포드번호와, 방향이 있다.   두 번째 파라미터에는 다음과 같이 6개의 파라미터가 들어갈 수 있다.    gpio_set_level(BUILEDTIN_L..
[ESP-IDF] 프로젝트 생성
·
MCU/esp32
개발 IDE : ESP IDF (on vscode) 개발 보드 : Lolin D32   New Project 클릭    프로젝트 이름과 타겟 mcu 설정시리얼 포트는 지금 당장 안 잡아도 된다.프로젝트 경로는 가능한 c드라이브 안에서 해주는 게 좋아 보인다. 바탕화면에 만들었더니 경로에 특수문자가 있어서인지 build 시스템인 ninja가 정상적으로 실행이 안되었다   template-app 클릭    참고로 esp-idf로 바꾸면 예제들이 뜬다.    우측 상단 Create project using template template-app 클릭    그럼 하단에 다음처럼 알림창이 뜨는데 Yes 클릭   다음과 같이 프로젝트 파일이 생성된 것을 확인할 수 있다.
[ESP IDF] ninja: error: loading 'build.ninja
·
MCU/esp32
Vscode에서 esp idf를 설치한 후 예제를 업로드 해보려는데 제목과 같은 오류만 계속 뜬다.  ninja: error: loading 'build.ninja': 吏?뺣맂 ?뚯씪??李얠쓣 ???놁뒿?덈떎. * The terminal process"C:\Users\jaewo\.espressif\tools\ninja\1.11.1\ninja.exe" terminated with exit code: 1. 정확하게는 빌드 도중 에러가 발생한다. 며칠동안 삽질한 결과 바탕화면에 프로젝트를 생성해서 경로에 한글이나 특수문자 등 인식할 수 없는 문자가 있어 발생했다는 것을 알았다.  c드라이브내에서 프로젝트 만드니 업로드까지 잘 되는것을 확인했다.
[Arduino] esp8266 mqtt 프로토콜
·
MCU/esp32
0. MQTT 프로토콜이란?MQTT(Messgae Queuing Telemetry Transport)은 발행-구독(Publish-Subscribe) 기반의 메세지 송수신 프로토콜이다. 특징1. TCP/IP 위에서 작동2. 저전력 및 낮은 대역폭에서 사용 가능 2. 대규모 트래픽 전송 이와 같은 특징때문에 많은 IoT 플랫폼에서 채택하는 프로토콜 중 하나이다. 자세한 내용은 나중에 따로 글을 작성 할 예정1. PubSubClient 라이브러리 소개https://github.com/knolleary/pubsubclient GitHub - knolleary/pubsubclient: A client library for the Arduino Ethernet Shield that provides support f..