전체 글

임베디드/RaspberryPi

라즈베리파이 스펙 알기

1. OS 및 배포판 정보 확인cat /etc/os-release  Rasbian GNU/Linux 10 (buster)이다. 2. 커널 정보 확인uname -a   armv7l: 32비트aarch64: 64비트armv6l: 32비트 (라즈베리파이 1과 같은 구형 모델) 3. CPU 및 메모리 정보 확인CPU 정보cat /proc/cpuinfo메모리 정보free -h 4. GCC, LD, LDD버전확인gcc --versionld --versionldd --version   GCC (GNU Compiler Collection)GCC는 GNU 프로젝트에서 제공하는 컴파일러 도구 모음이다. 주로 C, C++, Go 등의 언어를 컴파일하는 데 사용된다.소스 코드를 머신이 실행 가능한 바이너리 파일로 컴파일한다...

임베디드/GUI

GUI 선택 가이드

고려해야 할 요소운영체제Windows: 정교한 UI 작업이 가능하고, 많은 상용 라이브러리를 지원한다Linux: 임베디드 장치나 경량화된 시스템에 적합하다RTOS(Real-Time OS): 실시간 처리가 필요한 경우 사용한다개발 언어C++: 성능과 하드웨어 제어가 중요한 경우C#: Windows 환경에서 높은 생산성과 사용자 친화적인 UI가 필요한 경우Python: 빠른 프로토타입 제작과 간단한 UI가 필요한 경우JavaScript: 웹 기반 환경에 익술할때 확장성PLC 통신(Modbus, OPC UA 등)이나 데이터 로깅을 지원하는가?UI 복잡성단순한 UI  : 경량 툴복잡한 UI 및 그래픽 : 고급 그래픽 엔진 필요하다1. Windows vs LinuxGUI 개발에서 Windows와 Linux는 사용..

프로젝트

수처리 설비 원격 제어 시스템

프로젝트 소개성서산업단지관리공단 환경관리본부의 수처리 설비에 사용할 원격 모니터링 및 제어 시스템이다.  캡스톤디자인 프로젝트가 끝나갈 때쯤 지인이 내가 만들어둔 PLC 통신 프로그램을 기반으로 실무 프로젝트를 진행해 보자고 하여 시작하게 되었다.  예전부터 꾸준히 PLC 통신을 공부해 왔고 저번에 만든 오므론 온도계 모니터링 및 제어 프로그램이 2월부터 지금까지 문제없이 잘 돌아가는 것을 보고 이번 프로젝트도 잘할 수 있겠다고 생각했다.  프로젝트 내용구성요소요소내용PLCLS산전 XGB-DBCHServerNode.js를 사용하여 구성하였고 크게 3 파트로 나눌 수 있다.PLC와 통신- TCP기반의 Modbus 통신을 사용하여 데이터 송수신- PLC주소 변환Client와 통신- Socket.io를 사용한..

임베디드/PLC

LS PLC Modbus 주소 변환기

LS PLC로 Modbus 통신 프로그램을 만들다 보니까 한 가지 문제가 발생하였다. Modbus 통신을 사용하면 PLC에 모드버스 Bit영역과 Word영역을 설정해야 하고 PC에서 설정한 영역의 Bit영역에 Read, Write 요청을 보내야 하는데 문제는 PLC는 일반적인 16진수 체계와 다르다는 것이다. 10진수16진수PLC1599f9f160a0100161a1101 위 표처럼 주소가 있게 되는데 한마디로 PLC는 일의 자리 범위만 0~F이고 나머지 자릿수들은 0~9까지 사용한다. 예시로 M8206의 주소에 접근하고 싶다면 아래의 표처럼 변환을 해야한다.자릿수일반적인 16진수 변환PLC 주소 변환 코드66 * 1 = 66 * 1 = 600 * 16 = 00 * 16 = 022 * 256 = 5122 ..

프로젝트

캡스톤 디자인 | 전기차 배터리 온도관리 및 충전 제어 시스템

프로젝트 소개 2023년 2학기부터 2024년 1학기까지 진행한 2024-1 캡스톤디자인(CDP종합설계) 프로젝트이다. 2인 1팀으로 진행되며 3학년 2학기때는 설계 및 기초 작업들을 하고 4학년 1학기부터 본격적으로 구현 및 시연 발표를 한다. 3학년 2학기에 프로젝트를 설계할 때 PLC를 사용하여 부화장의 모니터링 시스템을 만들려고 초기 구현까지 한 상태였다. 최근 이슈들로 인해 이차전지와 전기차에 대한 많은 관심이 쏠리면서 내 전공을 배터리와 결합시키면 재미있을 것 같아서 4학년 학기 초에 교수님과 상의 끝에 주제를 바꾸게 되었다. 정보통신공학과 학생으로서 배터리와 관련된 주제는 전공과 달라서 도전적이었지만 어려운 주제인 만큼 얻어가는 것도 클 것이라 생각하고 진행하였다. 전기차와 이차전지에 대해서..

프로젝트

PLC - Web Server (Modbus TCP/IP 프로토콜을 사용한 웹 통신 프로그램)

개요 및 구성 https://fortex66.tistory.com/13 이전 글에서 파이썬에서 Modbus TCP/IP 프로토콜을 사용한 PLC와 PC의 통신 프로그램을 만들었다. 파이썬을 사용한 GUI 프로그램으로 만드는 것보다 누구나 쉽게 접근할 수 있는 Web으로 만드는 것이 좋겠다는 생각이 들어서 이번에는 Web 버전으로 만들었다. 아래의 사진처럼 프로그램을 만들었고 실제로 배포까지 완료한 상태이다. (링크는 글 마지막 부분에) 자세한 정보들은 아래의 결과물 부분에 기재하였다. 임베디드 LS산전 - PLC, OMROM - E5CC 온도계, 온도센서, 백열등, 전자회로 서버 Javascript, Node.js, Express 클라이언트 Javascript, React 데이터베이스 MySQL 형상관리..

임베디드/PLC

PLC - PC Modbus TCP/IP 프로토콜을 사용한 통신

개요 및 목표 이전에 PLC와 PC의 시리얼 통신과 이더넷 통신을 할 때 XGT전용 프로토콜을 사용하였다. 생각해 보니 XGT전용 프로토콜을 사용해서 프로그램을 만들게 되면 나중에 LS사의 PLC 말고 다른 PLC를 사용하게 되면 다시 통신 프로그램을 만들어야한다. 그래서 범용성이 높은 Modbus TCP/IP 통신을 하면 나중에 LS의 PLC말고 다른 PLC를 사용할 때 편리할 것 같아서 이번에는 Modbus TCP/IP 프로토콜을 사용하여 PLC와 PC의 통신을 해보려고 한다. 본문에는 파이썬으로 하는 간단한 통신 프로그램만 나와있지만 PLC - Web 방식으로 모니터링 프로그램을 만들 것이다. Modbus란? PLC와 통신에 사용할 목적으로 만들어졌으며 산업 자동화 분야에서 널리 사용되는 통신 프로..

프로젝트

2023 한이음 공모전 | JourneyMate(여행 플랫폼)

참여 2023년 한이음 ICT멘토링에 참여하였다. 같은 학과 친구들과 팀을 이루어 체계적으로 장기간 프로젝트를 진행할 수 있을 것 같았다. 그리고 멘토님의 피드백을 통해 현직에서 사용하는 일정관리나 업무처리 방법 등을 배울 수 있는 매우 좋은 기회일 것이라고 생각하여 참여하게 되었다. 아마존 현직자 멘토님과 나를 포함한 5명의 멘티가 함께 여행 플랫폼을 주제로 프로젝트를 진행하였다. 3월부터 11월까지 약 9개월간 진행하였으며 기획부터 구현, 시연까지 하였다. 프로젝트 1. 프로젝트 개요 여행을 가려고 하면 계획을 짤 생각에 머리부터 아파온다. 정보가 너무 과다하고 취향에 맞는 정보를 찾기 어렵기 때문이다. 설령 계획을 힘들게 짜서 가더라도 실시간으로 해당 지역의 정보를 알기가 힘들어서 허탕을 치는 경우..

Frozen Prize
Frozen의 개발일지