반응형

esp32 5

[IoT] Esp32 여유 Heap 정보 알아보기

C#이나 Java, Javascript등의 언어들은 GC를 통해 매모리를 관리하기에 개발자가 특별히 메모리 관리를 해줄 필요가 없습니다. (물론 GC를 생각하며 프로그램 안짜면 메모리 누수가 발생될수 있다.) 그러나 C++의 경우 개발자가 메모리를 관리를 해줘야합니다. 이것은 ESP32를 C++로 돌릴때도 마찬가지입니다. 코드를 잘못짜게 되면 Heap영역을 계속적으로 잡아먹게 되고 결국에는 ESP32가 재부팅됩니다. if(millis() - heapCheckMillis > 1000){ memcurr = ESP.getFreeHeap(); Serial.printf("FREEHeap: %d; DIFF %d\n", memcurr, memcurr - memlast); memlast = memcurr; heapCh..

프로그래밍/IoT 2020.11.25

[IoT] WiFi Max RSSI인 SSID 얻기

esp32를 사용하여 Wifi를 연결할 때, 첫 번째로 가장 중요한 요소는 Wifi와의 연결 강도가 될 수 있습니다. 기껏 esp32를 통해 간단한 웹서버를 만들거나 mqtt를 사용한다거나 카메라 화면등을 가져오는데 Wifi의 연결때문에 신호가 끊어져서 데이터를 읽는 경우가 많습니다. 아래의 코드는 현재 ESP32가 연결 가능한 Wifi들을 수집하여 RSSI가 가장 좋은 SSID를 얻는 방법입니다. int numSsid = WiFi.scanNetworks(); if(numSsid < 0) numSsid = 0; if (numSsid == -1) { INFO("Couldn't get a wifi connection"); while (true); } // print the list of networks se..

프로그래밍/IoT 2020.09.14

[Arduino] Serial Log 관리

Arduino를 개발할 때, 우린 주로 Jtag를 사용하는 경우를 제외하곤 대부분 디버깅을 Serial port를 이용하여 디버깅을 합니다. 그런데 로그도 일반 앱처럼 Info, Warn, Debug, Error 단위로 관리는 하지 않죠. 이를 위한 방법으로 아래와 같이 사용하면 편합니다. 원하는 Log level까지만 표기하도록 전처리기로 선언하여 사용하면 관리가 쉽습니다. #pragma once #include #include // Change _LOGLEVEL_ to set tracing and logging verbosity // 0: DISABLED: no logging // 1: ERROR: errors // 2: WARN: errors and warnings // 3: INFO: errors..

프로그래밍/IoT 2020.09.14

[IoT] Arduino IDE 개발환경 구축하기

이전 포스트에서 우리는 개발보드를 esp32 칩이 있는 esp-32 devkit으로 선정하였습니다. (물론 esp-32가 내장되어있는 nodemcu-32s라던가 기타 다른 개발모듈을 선택하셔도 무방합니다.) 자 일단 MCU는 왔는데 개발은 어떻게 해야 하냐?? 라고 물으실수 있습니다. 어떻게 개발하긴요!! 우리의 Arduino IDE가 다 해줘요!! 일단 Arduino IDE를 설치해봅시다. https://www.arduino.cc/en/Main/Software Arduino - Software By downloading the software from this page, you agree to the specified terms. THE ARDUINO SOFTWARE IS PROVIDED TO YOU ..

프로그래밍/IoT 2020.08.03

[IoT] 개발 보드 선정하기

제목에도 그렇듯이 저는 Internet of things(IoT)에 대한 내용을 포스팅 할 예정이기에 주력으로 쓸 MCU를 선정해보도록 합시다. 우선 여러가지 옵션이 있을 수 있습니다. 첫 번째로 전통적인 방식으로 arduino uno + esp-01을 이용하는 방법. 가격은 $ 4.8 이네요. 그리 부담스러운 가격은 아닙니다. 다만 한가지 단점은 UNO는 동작 전원이 5V인데 비해 esp-01은 3.3V라서 전압 다운을 해줘야 한다는 점이고, 사실상 atmega328의 스팩은 그리 좋지 않습니다. ( https://store.arduino.cc/usa/arduino-uno-rev3 - TECH SPECS 참고 ) 여기서 ESP-01은 esp8266라는 마이크로칩을 이용한 저가형 wifi 모듈입니다. E..

프로그래밍/IoT 2020.08.03
반응형