반응형

https://youtube.com/live/2BomAXPo_OQ

[ComfilePi#5] 아두이노(arduino)에 센서를 연결해서 산업용 라즈베리파이(industrial raspberry pi)와 rs232통신으로 화면에 출력해보기!

녹칸다의 산업용 라즈베리파이(industial raspberry pi) 시리즈이다!
모든 내용은 아래 구글 슬라이드에 작성하도록 한다!(모든 사람에게 공유되어있음)
https://docs.google.com/presentation/d/1871K_l0P315zuN06e6Ngz6LwY4g4cDlw94NcZz7Ql5k/edit#slide=id.g215a684a311_0_0

산업용 라즈베리파이는 다양한 제품이 있으나 녹칸다는 국내 컴파일 사의 제품인 comfilepi를 시연하는데 활용하도록 한다!
터치패널(디스플레이)이 있고 GPIO를 통해서 24V 입출력이 가능하다!(I/O보드를 추가 구입해아함)

이더넷과 WiFi에 기본으로 연결가능하기 때문에 IoT프로젝트를 하는데도 유리하다!
나중에 나오겠지만 기존 라즈베리파이에서 활용가능한 모든 것들을 활용가능하므로 산업용이 아니라도 장점이 있다!
(예를 들면 데이터베이스를 활용하거나 카메라를 활용하는 등)

산업용이라는 키워드에 맞게 모든 내용의 초점은 기존 산업현상에서 활용하는 개념에 맞추도록 한다!
그리고 녹칸다가 생각하는 주요 유저는 과거 PLC를 사용하던 개발자라고 생각한다!
그러므로 PLC유저가 산업용 라즈베리파이에 입문하기 위한 진입장벽을 낮추기 위한 목표도 함께 존재한다!

제조사에서는 comfilepi를 활용하기 위한 주요 언어로 C#윈폼을 전면에 내세우고 있다!
라즈베리파이는 리눅스환경인데 윈도우앱이 왜 등장하냐고 할 수 있지만 작동된다!
C#윈폼은 GUI환경의 앱을 아주 빠른시간에 만들수 있으므로 할수만 있다면 큰 장점이 있다!
(물론 만들기 위해서 C#언어를 이해해야하고 모든기능이 리눅스환경에서 정상 구동되지는 않음)

제조사에서 제공하는 방법중 녹칸다의 마음에 드는 부분은 그대로 활용하고 아닌부분은 녹칸다 방식으로 구현하도록 한다!
그리고 나중에는 노드레드(node-red) 플랫폼을 comfilepi에 설치해서 활용해보도록 한다!

이번편은 산업용 아두이노에 C#윈폼 컴포넌트의 기본 사용법 소개를 빨리 마무리짓고 본격적인 GPIO제어에 들어가보도록 한다!
산업용 라즈베리파이에서 직접 입출력에 개입하는 것이다!
물론 산업용 라즈베리 자체에서 그것이 가능한 것은 아니고 제조사에서 제공하는 I/O보드가 있어야 가능하다!
라즈베리파이의 GPIO를 24V입출력이 가능하도록 만들어주는 보드인 것이다!

그리고 아두이노처럼 GPIO를 직접적으로 제어할 수는 없고 WringPi라는 별도의 프로그램이 필요하다!
(제조사에서 이미 설치해놓음)
C#에서는 wiringpi를 호출해서 간접적으로 GPIO를 제어할 수 있다!

이러한 방식을 제조사에서도 제공해주기는 하되 완성된 샘플만 제공할뿐 별도의 설명이 없어서 초보자의 접근이 매우 어려워보인다!
샘플코드도 이걸 어떻게 쓰라는건지 알기가 어렵다!

그리고 구글에서 라즈베리파이의 GPIO를 컨트롤하는 방법을 찾아보면 무수한 방법이 난무하는데 정상작동하는 경우가 없었다!
초보자가 사용할 수 있을만한 난이도의 방법을 녹칸다가 준비해왔으니 그 방법으로 GPIO를 제어해보도록 한다!

이번편은 산업용 라즈베리파이에 센서값을 출력해보는 것을 목표로 한다!
산업용으로 딱히 쓸만한 센서가 없는데다가 녹칸다가 보유하고 있는 I/O보드는 입출력만 가능하고 센서입력은 안되는 보드이다!(센서값 측정이 가능한 I/O보드가 별도로 있다)

그러므로 일단 녹칸다는 아두이노를 전문으로 하고 있었으므로 아두이노에 아두이노용 센서를 연결하고 측정한 값을 산업용 라즈베리파이로 넘겨서 활용해보도록 한다!

아두이노와 산업용 라즈베리파이가 통신을 해야하는데 크게 USB를 이용한 방법과 RS232, RS485를 이용한 방법이 있다!
USB는 아두이노 보드마다 설치해야할 드라이버가 달리지는 변수가 있기 때문에 시연하지 않고 RS232통신이 가능 간단할 것 같다!
아두이노에 센서와 RS232통신이 가능하도록하는 MAX3232를 연결해서 산업용 라즈베리파이와 통신하는 방법을 우선 알아보도록 한다!

그리고 어떻게 하면 측정한 센서값을 산업용 라즈베리파이로 넘길 수 있을지 알아보도록 하자!
마지막으로 센서값을 받아서 화면에 어떻게 이쁘게 출력할지를 함께 고민해보도록 하자!

시간적 여유가 있다면 센서값에 따라서 I/O제어가 이루어지도록 해보는 것도 재미있을것 같다!

 

1.아두이노가 2초간격으로 HELLO를 산업용 라즈베리파이로 전송하고 산업용 라즈베리파이는 2초간격으로 WOLRD를 전송해서 아두이노 시리얼 모니터에 출력하시오!

comfilepi27.zip
0.04MB

2.아두이노에 온습도센서(DHT-11)을 연결해서 측정값을 산업용 라즈베리파이로 전송한다음 적절한 UI로 출력하시오!(어떻게 하면 실데이터를 전송하고 C#에있는 컴포넌트를 활용하는가?)

comfilepi28.zip
0.09MB

3.아두이노에 온도센서(DS18B20)을 연결해서 측정값을 산업용 라즈베리파이로 전송하고 온도에 따라 UI에 변화가 생기도록 해보시오!(예를 들어 경고온도를 초과하면 컬러로 알람을 표시해보기)

comfilepi29.zip
0.04MB

4.아두이노에 RFID리더(RC522)를 연결해서 인식된 RFID태그의 ID값을 산업용 라즈베리파이로 전송하고 등록이 된 카드인지 아닌지를 구별해서 이미지로 결과를 출력하시오!

comfilepi30.zip
0.13MB



반응형
Posted by 덕력킹
,