일기 136

MIB Browser를 통한 SNMP 통신

1. IP 설정MIB Browser를 통해 관리할 장치의 IP 주소를 설정합니다. 이 작업은 SNMP 에이전트와 통신하기 위해 필수적이에요.장치 추가: 장치의 IP 주소를 입력해 MIB Browser에 추가합니다.SNMP 버전 선택: 사용할 SNMP 버전(v1, v2c, v3)을 선택합니다.커뮤니티 스트링 설정: SNMP v1/v2c의 경우, 읽기/쓰기 커뮤니티 스트링을 설정합니다.2. Advanced 설정Advanced 설정에서는 세부적인 SNMP 설정을 조정할 수 있어요.타임아웃 및 재시도: 요청의 타임아웃 시간과 재시도 횟수를 설정합니다.포트 번호: 기본 SNMP 포트 번호(161)을 사용할지, 다른 포트를 사용할지를 설정합니다.3. OID와 Operations 사용OID(Object Identif..

일기/개발일기 2024.10.25

SNMP Trap과 Polling

SNMP TrapTrap은 SNMP 에이전트가 관리 스테이션에 알림을 보내는 방식입니다. 이는 비동기식 이벤트로, 특정 이벤트나 임계값이 발생했을 때 에이전트가 자발적으로 전송합니다.예시: 서버의 CPU 사용률이 90%를 초과했을 때 트랩을 보내 경고.장점: 실시간 알림이 가능해 신속한 대응이 가능.단점: 트랩을 설정하는 데 추가적인 설정이 필요하고, 네트워크 트래픽이 증가할 수 있음.SNMP PollingPolling은 SNMP 관리자가 에이전트에 주기적으로 상태 정보를 요청하는 방식입니다. 관리자가 특정 OID(Object Identifier)에 대한 정보를 주기적으로 조회합니다.예시: 5분 간격으로 서버의 CPU 사용률을 조회.장점: 주기적으로 상태를 확인할 수 있어 지속적인 모니터링 가능.단점: ..

일기/개발일기 2024.10.25

SNMP 개념과 사용시기 통신 방식

SNMP(Simple Network Management Protocol)에 대해 쉽게 설명해드리겠습니다. 1. SNMP의 개념 - 쉽게 말해서 네트워크 장비들의 "건강 상태"를 확인하고 관리하는 통신 방식입니다. - 마치 병원에서 의사가 환자의 체온, 혈압, 심박수 등을 체크하듯이, SNMP는 네트워크 장비들의 상태를 모니터링합니다. 2. 비슷한 프로토콜들과 비교 - MODBUS: 주로 산업용 장비들의 제어와 모니터링에 사용 - MQTT: IoT 기기들의 데이터 전송에 특화 - HTTP: 웹 통신에 사용 → SNMP는 이들 중에서도 특별히 네트워크 관리에 특화되어 있습니다. 3. 사용 시기와 용도 예시 상황: ``` 회사에 100대의 컴퓨터, 10대의 프린터, 5대의 네트워크 스위치가 있다고 가정해봅시다..

일기/개발일기 2024.10.24

[241022] Modbus RTU vs Modbus TCP/IP

Modbus RTU 대 Modbus TCP/IPModbus RTU와 Modbus TCP/IP의 본질은 Modbus 프로토콜이며, 모두 Modbus 레지스터 주소로 데이터를 교환합니다. 하지만 그 둘의 차이점은 무엇일까요? 오늘은 다음과 같은 측면에서 논의해 보겠습니다. 1. 개념 Modbus 는 표준 산업용 제어 데이터 교환 프로토콜로, RTU, ASCII 및 TCP/IP에서 프로토콜 데이터의 상호 전송에 사용할 수 있습니다. RTU (Remote Terminal Unit)는 RS-485와 같은 직렬 통신을 통해 바이너리 형태로 데이터를 직접 전송하여 높은 효율성과 낮은 오버헤드를 제공합니다. ASCII 모드는 각 데이터 바이트를 두 개의 ASCII 문자로 변환하여 사람이 읽기 쉽도록 하지만 효율성이 떨..

일기/개발일기 2024.10.22

[241021] FMS와 스위치

FMS (Client) ↔ 스위치(Server)FMS는 지금까지 메뉴얼을 보고 설치했으니, 리눅스만 실행하면 자동으로 FMS가 실행됨UR-2000 스위치을 메뉴얼 보고 공부함. 모드버스 RTU와 모드버스 TCP 프로토콜 공부.다른 노트북으로 LAN을 연결해서 IP세팅함메인 노트북으로 WAN 연결하여 사용온습도계 Device ID와 기타설정을 한 후, 데이터 케이블로 UR-2000과 연결RS486 MODBUS RTU 통신DTools를 통해 RTU와 TCP 패킷의 구조를 공부함FMS서버에서 설비추가를 통해 IP와 Port, Device ID를 설정하면 데이터 통신 시작온습도계 2개 추가 연결DI 및 TCP통신하는 도어센서와 연기센서 추가 연결 Modbus RTU와 TCP 공부하는데 많은 도움이 된 게시물ht..

일기/개발일기 2024.10.21

[241016] Modbus RTU 통신 프로토콜 - 해석방법

Req:RTU Equip[(EHT-RC)] Send 8 bytes[01 03 00 01 00 02 95 CB]Res:RTU Equip[(EHT-RC)] Recv(1.3) 9 bytes[01 03 04 00 FD 01 D5 AB CC] Req에서 01은 디바이스 ID (또는 Slave ID) , 03은 명령(읽기), 00 01은 시작 레지스터 주소(1:온도, 2:습도) , 00 02 개수Res에서 01은 디바이스 ID, 03은 명령, 04는 뒤에 가져온 바이트 수(4바이트), 00FD 온도, 01 D5 습도 (나머진 CRC) 00 FD 01 D5는 총 4바이트로 봅니다. 응답 메시지에서 04는 뒤에 오는 데이터의 바이트 수를 의미합니다. 한 개의 16진수 값(예: 00)은 4비트입니다.따라서 두 자리의 1..

일기/개발일기 2024.10.16

[241015] 모드버스 RTU와 TCP

RS486 Modbus RTURS485: RS485는 Recommended Standard 485의 약자로, 산업용 통신 표준입니다. 이 표준은 다중 드롭 네트워크에서 최대 32개의 장치가 하나의 버스에서 통신할 수 있도록 합니다. (N:N 통신)Modbus: Modbus는 산업용 전자 장치 간의 통신을 위한 프로토콜입니다. Modbus는 마스터-슬레이브 구조를 사용하며, 데이터 전송을 위해 다양한 물리적 매체(RS485, RS232, TCP/IP 등)를 지원합니다RTU (Remote Terminal Unit): RTU는 Modbus 프로토콜의 전송 모드 중 하나로, Remote Terminal Unit의 약자입니다. RTU 모드는 이진수 형식으로 데이터를 전송하며, 주로 RS485와 같은 직렬 통신에서..

일기/개발일기 2024.10.15

[241014] RS-485 Modbus RTU 통신

RS-485 Modbus RTU 통신RS-485: 차동 신호를 사용하는 직렬 통신 표준으로, 노이즈에 강하고 장거리 통신이 가능합니다.Modbus: 산업용 통신 프로토콜로, 마스터-슬레이브 구조를 가집니다.RTU: Remote Terminal Unit의 약자로, 바이너리 데이터 전송 방식을 사용합니다.프레임 구조: [슬레이브 주소] [기능 코드] [데이터] [CRC 체크섬]주어진 데이터 설명: [TX]는 전송(Transmit), [RX]는 수신(Receive)을 나타냅니다.예를 들어, 첫 번째 전송 프레임을 분석해보면: [TX] 01 03 00 01 00 70 15 EE01: 슬레이브 주소 (1번 장치)03: 기능 코드 (레지스터 읽기)00 01: 시작 레지스터 주소 (온도)00 70: 읽을 레지스터 개..

일기/개발일기 2024.10.14

[241008] Next.js와 nextAuth 자동화 기능

그냥 node.js로 처음부터 구성할때는 요청해야 할 api설정, 미들웨어 등 직접 작성하고, 사용할 곳을 정했어야 했는데Next.js 프레임워크와 nextAuth 라이브러리를 사용하니 자동으로 처리하는 것이 많아 혼란이 생겼다. middleware.ts라는 파일을 만들기만 했는데 왜 자동으로 사용되는거지??인증관련 코드에서 api/auth/session 같은 코드는 짠적이 없는데 왜 계속 신호가 가는거지?? 등등 편하긴 하지만 내가 알지 못하는 동작들이 있어서 머리가 아팠다.그래서 검색을 통해 알아낸 정보를 적었다.  Next.js 자동화 기능라우팅 자동화파일 시스템 기반 라우팅pages/ 또는 app/ 디렉토리의 파일 구조에 따라 자동으로 라우트 생성동적 라우트 ([id].js) 자동 처리코드 최적화..

일기/개발일기 2024.10.08

[241002-3] Next.js signIn의 redirect

redirect 옵션redirect: true: 인증이 성공하면 자동으로 지정된 URL로 리다이렉트합니다. 이 경우 **callbackUrl**을 지정해야 합니다. 인증이 성공하면 사용자가 callbackUrl로 이동합니다.redirect: false: 인증이 성공해도 자동으로 리다이렉트하지 않습니다. 대신, 응답 객체를 통해 인증 결과를 처리할 수 있습니다. 이 경우 callbackUrl을 지정할 필요가 없습니다.callbackUrl 옵션callbackUrl: redirect: true일 때 사용됩니다. 인증이 성공하면 사용자가 이동할 URL을 지정합니다. 예를 들어, /dashboard로 설정하면 인증 성공 시 사용자가 대시보드 페이지로 이동합니다.const response = await signIn..

일기/개발일기 2024.10.02