IoT 4

esp32-s3 보드 아두이노 IDE에서 테스트하기

설명에 앞서, 여기서 사용된 환경은 MacOS Monterey로, 다른 운영체제에서는 약간 해결법이 다를 수 있다. 우선, 아두이노 IDE에서 esp32-s3 보드를 사용하기 위해서는 최신 버전 esp32 보드 매니저가 있어야 한다. Preferences 탭을 연 뒤, Additional board manager's URL에다가 다음 url을 추가해야 한다. https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json 추가로, 컴파일 및 업로드 시에 자세한 정보를 얻기 위해 compile과 upload에 둘 다 가능하면 체크를 하는 것이 좋다. 보드 매니저 추가 후, 보드 설치 안내가 나오면 i..

IoT 2022.11.02

esp32 - xtaskcreatepinnedtocore 사용 시 나오는 stack canary watchpoint triggered 에러가 나올 때

아두이노는 기본적으로 RTOS를 사용한다. 따라서, esp32에서 멀티 테스킹을 구현하기 위해서는 xtaskcreatepinnedtocore 메소드를 사용해서 원하는 메소드가 특정 코어에서 동시적으로 계속 동작하게 만들어야 한다. 아래의 코드는 xTaskCreatePinnedToCore 메소드를 사용해서 TASK_1 이라는 메소드를 0번 코어에서 동시적으로 작동하게 만든다. xTaskCreatePinnedToCore (TASK_1, "TASK_1", 4096, (void *)1, 1, NULL, 0); 이때, 3 번째 매개변수인 4096은 새로 만들어질 TASK_1에게 허용될 스택의 최대 크기라고 보면 된다. 그런데, 만약 TASK_1 프로세스가 동작 중에 스택이 너무 많이 쌓여서 허용된 메모리량을 초과..

IoT 2020.04.24

ESP32 블루투스 모듈 사용 시 컴파일 오류

Arduino IDE를 사용해서 ESP32 보드용 프로그램을 컴파일하고 업로드하려고 할 때, 메모리 사이즈의 문제로 컴파일 오류가 나는 경우가 있다. 특히, 블루투스 모듈을 사용할 경우 이러한 문제가 더 자주 나타나게 된다. 컴파일 오류 메세지를 보게되면 예상 사용 메모리가 허용된 메모리의 크기보다 더 크기 때문에 컴파일 및 업로드가 불가능하다는 것이다. Github의 esp32 관련 repository의 issue를 확인해보니, 그 이유가 BLEDevice 객체가 메모리 사용량이 생각보다 커서 생기는 문제라는 것이다. 이에 대한 해결책으로는 esp32 보드의 파티션을 바꿈으로써 블루투스 모듈을 사용할 수 있게 만드는 것이다. 이 문제와 관련된 github issue 페이지에 대한 링크를 아래에 첨부해 ..

IoT 2019.06.30

라즈베리 파이 ip 주소 찾기

라즈베리 파이 ip 주소 찾기 ssh를 이용해서 라즈베리 파이에 접속을 하려 하다보면, 라즈베리 파이의 ip 주소를 몰라서 연결을 못하는 경우가 많다. 그러한 분들을 위해서 라즈베리 파이의 아이피 주소를 찾는 방법에 대해서 설명을 하도록 하겠다. 우선, 흔히들 라즈베리 파이에 설치하는 운영체제 "라즈비안"은 유닉스 계열의 운영체제이다.따라서, 리눅스나 맥북 등과 마찬가지로 터미널에 가서 "ifconfig" 커멘드를 입력하면 된다. 이 커멘드를 입력하고 나면 다음과 같은 결과가 출력된다. 여기서 "inet" 혹은 "inet addr"라고 쓰여진 부분 옆에 있는 주소가 바로 라즈베리 파이의 아이피 주소이다. 이 아이피 주소를 이용해서 ssh 연결을 하면 된다. 참고로, 라즈베리 파이의 기본 사용자 이름은 "..

IoT 2018.07.09