2025/03 12

[C++] ESP32 모듈화(’.h’, ‘.cpp’를 이용한 코드 분리)

한 번 해보니 좀 재밌어서 ino 파일 하나에다가 묶기에는 좀 길어질 것 같기도하고 뭐든 모듈화시켜서 분리해놓으면 재사용도 좋고.. 이래저래 생각해보니 파일을 나눠놓는 게 좋을 것 같아서 분리 작업을 진행했다. root@WAS-1:/arduino# tree.├── arduino.ino└── README.txt 원래는 위 구조와 같이 되어있었다. README.txt는 명령어 실행할 때 찾아보기 쉽게 적어놓은거라.. 여튼 이렇게 되어 있었는데 이렇다보니 저 소스코드에 집약적으로 넣는다는 게 비효율적 같았다. 기존 ino 파일은 아래와 같다. #include #include #include #include const char* ssid = "";const char* pwd = "";co..

C++ 2025.03.30

[Arduino] MQTT로 JSON 데이터 타입 전송하기(+ JSON, NTPClient 라이브러리 다운로드)

작업 전에 필요한 라이브러리를 다운로드 받는다. 테스트 용으로 여러 데이터를 담아 보내기 위해 JSON 라이브러리, 현재 시간을 받을 수 있는 NTPClient를 다운로드 받았다. $ arduino-cli lib install "ArduinoJson"$ arduino-cli lib install "NTPClient" #include #include #include #include const char* ssid = "WIFI";const char* pwd = "PASSWORD";const char* mqttServer = "MQTT INSTALL SERVER";WiFiClient esbClient;PubSubClient client(esbClient);WiFiUDP nt..

Arduino 2025.03.29

[Arduino] HTML/Javascript에서 WebSocket, MQTT를 이용한 Arduino 통신

0. 라이브러리 설치$ arduino-cli lib install "WiFi"Downloading WiFi@1.2.7...WiFi@1.2.7 downloadedInstalling WiFi@1.2.7...Installed WiFi@1.2.7$ arduino-cli lib install "PubSubClient"Downloading PubSubClient@2.8.0...PubSubClient@2.8.0 downloadedInstalling PubSubClient@2.8.0...Installed PubSubClient@2.8.01. mqtt_test.ino 작성#include #include const char* ssid = "WIFI";const char* pwd = "PASSWORD..

Arduino 2025.03.29

[Arduino] CLI에서 테스트 코드 실행하기

아두이노 쪽은 이제 입문 단계라 설명을 잘 하지는 못하겠고 메모용으로 남긴다. .inoArduino 프로젝트(스케치) 기본 코드 파일 확장자하나의 스케치 파일로 프로그램이 실행되는 시작점C++ 기반으로 작성자동 전처리 기능setup(), loop() 메소드를 필수로 작성해야한다.setup() : 초기화 작업loop() : 계속 실행될 코드 작성여러 개의 보조 ‘.cpp, .h’ 파일을 포함시켜 프로젝트를 확장할 수 있다. Arduino 관련 파일 모아 둘 디렉토리를 만든다. 알아서 만들자. $ pwd/arduino 나는 ‘/’ 경로에 ‘arduino’ 디렉토리를 생성했다. 프로젝트 하나 당 하나의 ino 파일을 가진다고 한다. 프로젝트 단위로 디렉토리를 만들자. $ tree.└── test 테스트 코드를..

Arduino 2025.03.29

[Raspberry Pi 5] Mosquitto 설치

라즈베리파이에 아두이노 연결하고 mqtt 사용할거라 설치했다. 1. Mosquitto 설치apt install -y mosquitto mosquitto-clients2. Mosquitto 실행$ systemctl enable mosquittoSynchronizing state of mosquitto.service with SysV service script with /lib/systemd/systemd-sysv-install.Executing: /lib/systemd/systemd-sysv-install enable mosquitto$ systemctl start mosquitto$ systemctl status mosquitto● mosquitto.service - Mosquitto MQTT Broke..

[Arduino] Arduino CLI에서 .ino 실행하기

최근에 하게 된 토이 프로젝트가 아두이노에 센서 모듈 붙여서 통신해야하는거라 겉핡기 식으로 배우긴 싫었고 직접 사서 해보자 싶어서 공부 중이다. 아두이노 쪽은 이제 입문 단계라 설명을 잘 하지는 못하겠고 메모용으로 남긴다. .inoArduino 프로젝트(스케치) 기본 코드 파일 확장자C++ 기반으로 작성setup(), loop() 메소드를 필수로 작성해야한다.자동 전처리 기능 Arduino 관련 파일 모아 둘 디렉토리를 만든다. 알아서 만들자. $ pwd/arduino 나는 ‘/’ 경로에 ‘arduino’ 디렉토리를 생성했다. 프로젝트 하나 당 하나의 ino 파일을 가진다고 한다. 프로젝트 단위로 디렉토리를 만들자. $ tree.└── test 테스트 코드를 실행할 ino 파일을 생성한다. void se..

Arduino 2025.03.26

[Arduino] Arduino CLI 설치 및 ESP32 연결하기

설치 환경Raspberry PI5Debian 1. Arduino CLI 설치$ curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh 나는 ‘/opt’ 경로에 설치했으며 설치 후 ‘/opt/bin/’ 내부에 ‘arduino-cli’ 디렉토리가 설치되길래 ‘/opt’에서 바로 접근 가능하게 디렉토리를 옮겼다.2. Arduino CLI PATH 추가[참고] 해당 작업은 Arduino CLI를 설치해놓은 경로에서만 ‘arduino-cli’ 명령어가 적용되길래 설정해놓은 부분이다. $ echo 'export PATH=$PATH:/opt' >> /root/.bashrc$ source /root/.bashrc ‘e..

Arduino 2025.03.26

[Rocky Linux] 고정 IP 할당하기

안쓰는 노트북에 WAS-2, LB 서버 구축 중이며 브릿지 네트워크로 IP를 할당받았다. 해당 IP를 고정 IP로 할당하기 위해 작업을 진행했다. # 고정 IP를 할당할 디바이스 확인$ nmcli device statusDEVICE TYPE STATE CONNECTIONenp0s3 ethernet connected enp0s3 $ cd /etc/NetworkManager/system-connections$ system-connections]# ls -l-rw------- 1 root root 294 Mar 22 11:38 enp0s3.nmconnection nano enp0s3.nmconnection [connection]id=en..

Network/Rocky Linux 2025.03.22

[Network] D-Link DDNS 설정

원룸에서 포트포워딩 작업해야 할 때는 상관이 없는데 외부 카페같은데서 원룸 공유기에 접근해야 할 때는 접근이 안되니 불편함을 많이 느꼈었다. 집말고 외부에서 공유기를 건드려야 할 때를 대비해 나는 DDNS 설정으로 쉽게 접근할 수 있도록 하기 위해 작업을 진행했다.1. DDNS 서비스 가입하기https://www.noip.com/ 나는 구글로 회원가입 후 hostname을 등록했다.  hostname 등록 시에는 hostname에는 ddns로 접근할 url을 지정해주고 IP / Target에는 공인 IP를 입력해주면 된다.2. 공유기 DDNS 설정하기 전체 호스트 이름 : hostname 등록 시 지정했던 URL사용자 이름 및 사용자 비밀번호 : 알아서 입력하자..업데이트 주기 (분) : 뭘 참고한 게 ..

Network/NetWork 2025.03.15