혼자서 만드는 주차유도 시스템 (모드버스 기반 주차유도 시스템 프로토타입 구축 실습서)

혼자서 만드는 주차유도 시스템 (모드버스 기반 주차유도 시스템 프로토타입 구축 실습서)

$21.86
Description
주차 유도시스템’이라는 명칭은 일반인에게 다소 생소하게 들릴 수 있습니다. 하지만 이는 우리가 일상에서 접하는 “초록불 따라가는 주차장”, “입구 전광판에 빈자리 숫자 나오는 시스템”을 의미합니다. 쉽게 말해, 주차를 쉽게 하도록 빈자리를 알려주는 안내 시스템입니다.
이 책에서는 주차유도 시스템의 6개의 구성요소의 프로토타입을 모두 만들어서 주차유도 시스템 전체를 개발하는 노하우를 전수하게 될 겁니다. 개발 과정중에 모드버스 통신의 개념과 레지스터 테이블 구성하는 방법을 소개하며, 무엇보다도 객체지향언어로 코드를 아름답게 작성하는 방법을 소개할 것입니다. 이 책은 아두이노나 마이크로컨트롤러 기본서를 충분히 이해하고 기본적인 파이썬 문법을 아는 분들을 위해 만들어진 책입니다. 초심자임에도 용기를 내어 책을 구매하신 분들은 입문서를 학습하고 난 다음에 이 책을 보는 것을 추천합니다.
저자

최영림

ㆍ IT 교육 컨텐츠 크리에이터
ㆍ 임베디드 시스템, AI로봇윤리, 심리기반 전자 시스템 등 개발자
ㆍ 동아대학교 전자공학과 박사
ㆍ 현) 동아대학교 소프트웨어혁신센터 SW교수

목차

저자소개 4

1장. 주차유도시스템 9
1.1 주차유도시스템 9
1.2 시스템 구성 11
1.3 주차 유도시스템 설계시 고려사항 13

2장. 데이터 전송방식 결정 17
2.1 데이터 전송방식 결정 17
2.2 RS-485 네트워크 구성 23
2.3 프로토콜 결정 25
2.4 모드버스 프로토콜 선택 29
2.5 모드버스 프로토콜 31
2.6 전송시간 계산 36
2.7 버퍼 크기 고려 39
2.8 모드버스 통신에서 발생할 수 있는 오류 40

3장. 모드버스 레지스터 맵 설계 43
3.1 마스터인가? 슬레이브인가? 43
3.2 슬레이브 노드 ID를 미리 정해두기 43
3.3 데이터 요구사항 명세 45
3.4 레지스터 맵 48
3.5 마스터 동작설계 51
3.6 안전한 ID 설정 52

4장. 프로젝트 준비 55
4.1 필요한 사전지식 55
4.2 왜 아두이노로 프로젝트를 하나요? 56
4.3 하드웨어 준비 56
4.4 아크릴 부품 및 PCB 제작 59
4.5 아두이노 개발환경 구축 61
4.6 아두이노 라이브러리 설치 62
4.7 Modbus Poll과 Modbus Slave프로그램 설치 62
4.8 파이썬 설치과 IDE 설치 63
4.9 아두이노 프로그램 구조 63
4.10 이 책에서 사용하는 아두이노 함수 64
4.11 객체지향 프로그래밍 68
4.12 Arduino IDE에서 탭 사용 69
4.13 타이머 클래스 71

5장. 모드버스 슬레이브 장치 프로그래밍 81
5.1 모드버스 라이브러리 설정 81
5.2 회로구성 82
5.3 예제를 위한 레지스터 맵 82
5.4 첫 번째 모드버스 슬레이브 프로그램 83
5.5 ModbusRTU 슬레이브의 콜백(callback) 개념과 역할 91
5.6 슬레이브 장치 기본 코드 작성 93
5.7 ID 설정 프로그램 작성 98

6장. 입구 종합 안내판 및 유도 안내판 105
6.1 회로구성 105
6.2 I²C기반 TEXT LCD 제어 106
6.3 TEXT LCD 함수의 동작시간 108
6.4 LcdHelper 클래스 109
6.5 입구 종합 안내판 코드작성 116
6.6 입구 종합 안내판 설정 프로그램 작성 120
6.7 유도 안내판 코드작성 123
6.8 유도 안내판 설정 프로그램 작성 127

7장. 입구 종합 안내판 및 유도 안내판 131
7.1 회로구성 131
7.2 RGB LED 모듈 제어 133
7.3 초음파란? 134
7.4 초음파 센서로 거리측정 136
7.5 인터럽트 139
7.6 UltrasonicSensor 클래스 140
7.7 주차감지센서 코드작성 144
7.8 주차감지센서 프로그램 작성 151
7.9 주차감지센서 Modbus poll 테스트 154

8장. 구역제어기 157
8.1 회로구성 157
8.2 AltSoftSerial 158
8.3 구역제어기 코드작성 159
8.4 구역제거기 설정 프로그램 작성 165

9장. 중앙제어기 및 모니터링 프로그램 175
9.1 중앙제어기와 모니터링 프로그램 구현 175
9.2 전체시스템 연동 확인 182

출판사 서평

ㆍ 이 책에서 다루는 내용
① 설치
주차감지센서는 주차면마다 1개씩 설치되어야 하므로 전체 주차면 수에 따라 정확한 수량 산정이 필요하다. 센서의 형태는 천장형, 노면 매립형, 벽면 부착형 등 현장 구조에 따라 달라지므로, 건축물의 구조적 특성과 시공 환경을 고려하여 설치가 용이한 방식을 선택해야 한다.
배선 공정의 복잡도를 줄이기 위해 무선 통신 방식이나 PoE 방식 등을 검토하는 할 필요가 있다.
구역제어기와 중앙제어기는 담당할 수 있는 센서의 수와 통신 거리 등을 고려하여 설치 위치를 결정해야 하며, 통신 배선의 길이와 장애물 위치를 반영해 최적의 배치를 설계해야 한다.
② 주차감지센서 데이터의 수집
주차감지센서는 차량의 유무를 정확하게 감지해야 하며, 그림자나 사람의 통행 등으로 인한 오탐지를 최소화할 수 있어야 한다.
센서의 종류는 초음파식, 영상식, 자기유도식 등이 있으며, 현장 환경과 요구되는 정확도에 따라 적합한 방식을 선택해야 한다.
구역제어기와 센서 간의 통신은 유선 또는 무선으로 구성되며, 데이터 손실을 방지하기 위해 에러 검출과 재전송 기능이 포함된 통신 프로토콜을 사용해야 한다.
또한 실시간으로 주차면 상태가 갱신되어야 하므로, 데이터 수집 주기와 통신 지연시간을 최소화하는 설계가 필요하다.
③ 안내판
안내판은 운전자가 빈 주차면 정보를 빠르게 인식할 수 있도록 진입부, 주요 교차로, 층별 입구 등 차량 동선의 핵심 지점에 설치되어야 한다.
표시되는 정보는 전체 및 구역별 잔여 주차면 수, 방향 안내, 출구 위치 등으로 구성되어야 한다.
안내판은 중앙제어기와 실시간으로 연동되어 데이터가 즉시 갱신되어야 하며, LED 밝기와 글자 크기, 시야각 등을 고려해 주·야간 모두에서 가시성이 확보되어야 한다. 또한 자동 밝기 조절 기능을 통해 환경 변화에 따라 표시 품질을 유지할 수 있어야 한다.
④ 수집한 데이터의 재분배
주차 유도시스템의 데이터는 구역제어기에서 수집되어 중앙제어기로 전달되고, 중앙제어기에서 이를 가공하여 안내판과 유도 소프트웨어에 분배된다.
데이터 전송 과정에서는 통신 트래픽을 최소화하기 위해 구역별로 집계된 정보를 전송하는 방식이 효율적이다. 데이터 전송의 안정성을 확보하기 위해 오류 발생 시 재전송 메커니즘을 적용해야 한다.
중앙제어기는 수집된 데이터를 실시간으로 분석하고, 이를 기반으로 안내판과 소프트웨어 화면에 정확한 주차현황을 반영해야 한다.
⑤ 장치 설정
장치 설정은 시스템 설치 초기 단계에서 각 센서와 표시등의 주소 및 구역 매핑 정보를 등록하는 과정이 포함된다. 이 과정은 관리용 소프트웨어를 통해 수행되며, 장비 간 자동 인식 기능을 지원하면 설치 효율성을 높일 수 있다.
중앙제어기와 연동된 원격 설정 기능을 통해 현장 방문 없이 장치 구성을 변경할 수 있도록 설계하는 것이 바람직하다.
또한 유지보수 단계에서는 장애 발생 시 원격 진단 및 로그 분석이 가능해야 하며, 펌웨어 업데이트를 중앙에서 일괄적으로 수행할 수 있어야 한다.
이러한 기능들은 시스템의 안정성과 확장성을 높이는 핵심 요소이다.