rs485로 수집한걸 브라우저로 띄우는 손쉬운 방법 있나요?

   조회 1011   추천 0    

모드버스 (RS-485)를 통해 수집되는 데이터를 TV에 전광판처럼 띄워야 합니다.(485 처리는 C 코드로 완성...)

주료 전압, 전류, 온도, 습도 등의 자료들이고

한눈에 볼수있게 그래피컬하게 표시해야 합니다. (시일 경과후 월별통계 등도 필요)

비주얼 스튜디오서 C# 코딩하는거 말고

웹서비스로 올려 브라우저로 볼수 있으면 원격지에서도 볼수있어 좋은데요

물론 JavaScript와 아작스로 코딩하면 브라우저를 통해 볼수 있지만 

외부 데이터를 끌어오고 하는게 절차가 만만치 않아서요


혹시 빠르고 손쉽게 구현할 수단으로 적당한 툴이 있을까요? 

짧은글 일수록 신중하게.
모어쿨 01-06
보안에 유의해야하긴 하지만 c로 한방에 다 끝내고 싶으시면 cgi이용하는 방법도 있습니다.
     
딥마인드 01-06
안타깝게도 C로는 485 데이터를 수집하는것까지가 제 한계라서요
다른거로 전환 표시하려면 일단 DB로 넘겨야 하지요?
연이랑진 01-06
제 경우 통신은 직접 tcp 소켓으로 처리합니다만,

웹서버가 대상이라면
간단히는 curl 라이브러리 이용해 post전송하는 방식도 있습니다.
https://nagy.tistory.com/13
https://curl.se/download.html

"web post c코드" 정도로 검색해보시면 다양한 방법들이 나올껍니다.
     
딥마인드 01-06
네 게이트웨이를 써서 이더넷으로 넘기는 방법도 있는데 그게 깔끔하네요
그럼 tcp/ip 어플리케이션만으로 되겠죠.
가장 기본적인게 가장 쉬운 걸수도 있습니다.
저의 경우는 DB를 구성하고 부트스트랩에서 템플릿 골라서 마무리합니다. ^^
엠브리오 01-06
월별 통계가 필요하다면 DataBase 가 필수네요.
시리얼포트 + 데이터베이스  + 웹페이지 조합이라면
파이썬으로 구현하는게 제일 수월할듯.
     
딥마인드 01-06
네 모드버스 파이썬도 좋지요
하지만 파이썬으로는 웹에서 자료를 취득해오는건 쉬워도 게시는 어렵다고 알고있는데
파이썬으로 수치자료를 웹페이지에 시각화 하는것도 유용한가요?
자바스크립트와 파이썬은 조금 하는 정도 입니다만 ...
          
엠브리오 01-08
참고해보세요.

Q : 파이썬으로 수치자료를 웹페이지에 시각화 하는 방법은?
==========================================================

ChatGPT-4 : 파이썬을 사용하여 수치 자료를 웹페이지에 시각화하는 방법에는 여러 가지가 있습니다. 여기에는 몇 가지 일반적인 방법들이 있습니다:

1. **Matplotlib와 Flask 또는 Django 사용하기**:
  - Matplotlib는 파이썬에서 가장 인기 있는 시각화 라이브러리 중 하나입니다.
  - Flask나 Django 같은 웹 프레임워크와 함께 사용하여 그래프를 생성하고, 이를 HTML 템플릿에 삽입할 수 있습니다.
  - 이미지 파일로 그래프를 저장하거나, base64 인코딩을 사용하여 HTML 페이지에 직접 임베딩할 수 있습니다.

2. **Bokeh 또는 Plotly 사용하기**:
  - Bokeh와 Plotly는 인터랙티브한 시각화를 생성하는데 특화된 라이브러리입니다.
  - 이들 라이브러리는 자바스크립트와 통합되어 브라우저에서 직접 동적 그래프를 생성할 수 있습니다.
  - 이러한 그래프는 Flask나 Django 웹 애플리케이션에 쉽게 통합될 수 있습니다.

3. **D3.js와 통합하기**:
  - D3.js는 웹 기반의 매우 강력한 시각화 툴입니다.
  - 파이썬으로 데이터를 처리한 후, JSON 형태로 변환하여 D3.js와 통합할 수 있습니다.
  - 이 방법은 좀 더 복잡하고, 자바스크립트에 대한 이해가 필요하지만, 매우 맞춤화된 시각화를 생성할 수 있습니다.

4. **Google Charts 또는 다른 API 사용하기**:
  - Google Charts 같은 웹 기반 시각화 API를 사용할 수도 있습니다.
  - 파이썬에서 데이터를 준비하고, 이를 API를 사용하여 웹페이지에서 시각화할 수 있습니다.

이러한 방법들은 파이썬과 웹 개발 기술의 결합을 필요로 하며, 프로젝트의 요구사항과 개인의 기술 수준에 따라 선택할 수 있습니다.
               
딥마인드 01-14
감사합니다.
파이썬으로 좋은 수단이 되겠군요
일단 손쉬운 접근 수단으로
현장에 라즈베리파이 + node.js를 두고 관내에서 핸드폰이나 PC로 모니터링할수있게 해야겠고요
관외에서 모니터링 하려면
라즈베리 파이는 외부의 DB에 실시간 업로드하고 웹서버로 서비스하는 모델이 필요할것 같습니다.
이때는 php 코드가 필요하죠?
purndal 01-06
https://grafana.com/

그라파나라는 웹 서비스가 있습니다. 일반적으로 웹에 데이터를 시각화 해주는 오픈소스죠..
데이터베이스에 저장을 하면서 데이터베이스 기준으로 불러와 시각화 해준다고 알고 있습니다.
전 대부분 iot를 홈어시스턴트로 구성을 해서 테스트를 못해봤지만.

지금보면 노드레드 + 그라파나로 구성을 하면 효율적이라곳 생각을 합니다만... 이게.. 또.. 자바 관련 공부도 겸해야 해서.. 참... 어렵습니다. ㅎ.
     
딥마인드 01-06
네 생소했지만 보아하니 db 자료를 온라인 서비스를 통해 시각화하는 개념같네요
어쩌면 그게 딱 필요할수 있는것이
현장에서 웹서비스를 바로 시작하면 그곳의 it 관리자한테 아쉬운소리 해가며 라우터를 세팅하지 않는한
외부에서 접근할 마땅한 방법이 없으니까요. (포트를 열어야 하는데 보안 문제로 달가워하지 않음)
트니아빠 01-06
DB에 결과를 넣을 수 있다면, Grafana가 편해서 좋았습니다.
제온프로 01-06
데이타 취득 솔루션 and 모니터링 디스플레이.

스마트팩토리 솔루션의 기본 기능이죠.

MES 솔루션에 기본적으로 들어가고요..

센서(생산카운터,온도,압력,전력 등) 의 데이터를 485 모드버스 통신을 통해서 DB에 일단 집어 넣습니다.
입력 scan은 1초에 5번 정도 스켄
그리고 웹페이지에 단위 시간당 표시하죠.. 이게 모니터링 페이지 입니다.
보통 10초에 1번 정도 Refresh 합니다.

컴퓨터와 PC 모니터로 화면에 표시 합니다.

일단 데이터 취득이 가장 중요합니다 

데이터취득 == > DB입력.

그 다음은 쉽습니다.

시일 경과후 월별통계 == > 당연히 DB 가 필요합니다.... 서버도 필요하고..  Maria DB던 MS-SQL 이던 필요합니다.

데이터수집은...
PLC로 할 수도 있고.
아두이노, 라즈베리파이 등으로 데이터를 Scan 하여 DB 화 합니다.
     
딥마인드 01-06
와우 제대로 다 나오네요.
당장 구현해야 하는게 딱~~~ 그것인데
이것저것 조금씩은 해봤어도 전체를 안해봐서 막상 착수하려니 막막한 기분 어떤건지 잘 아시겠네요 ㅠㅠ
김지철 01-06
1. 시각화 : Grafana 많이 사용하시는 것 같습니다. DB에만 들어가 있으면 쉽게 시각화할 수 있다는 장점 (저도 거기까지만 알고, 사용은 아직)
2. 데이터 수집 : node-red 로 수집하는 걸 많이 해봤습니다. 라즈베리파이나 PC로 modbus 데이터 수집하기 편합니다. 거기에서 직접 UI 구성도 할 수 있습니다. 그래서 저는 grafana를 안쓰는데요. modbus는 가운데 tcp/ip 변환장치를 달아서 사용하니 더 안정적이더라구요.
https://m.blog.naver.com/jazzy425/222841848089
여기에, 제가 node-red로 수집해서 보내는 것 정리한게 있습니다. 내용 전부는 보실 필요 없으시고 modbus 관련한 것들만 보시면, 쉽게 수집/db저장 가능하실 겁니다.(가운데 B.IoT 부분은 특정 회사 IoT 솔루션인지라, 해당 부분 스킵하시고 보시면 됩니다)
빠르고 손쉽게 웹으로 -> node-red 추천합니다.
sqlite3 DB + Flask를 써서 구현해보시면 어떨지 모르겠네요?
저는 sqlite3 로 shell 로 데이터를 sql 문장으로로 만들어서 한번에 db 파일에  떼려 넣고 통계데이터 뽑을때 사용합니다.

센서데이터는 일단 sqlite3로 DB에 떼려 넣고, Flask 마이크로웹서버로 올리면 될것 같네요.
Flask는 Python의 마이크로 웹 프레임워크입니다. 조금만 연구 하시면 금방 습득이 되실겁니다.
찾아보니 친절하게 설명한 내용들이 있네요.
https://medium.com/mjrobot-org/from-data-to-graph-a-web-jorney-with-flask-and-sqlite-8b967776c25f
     
딥마인드 01-06
아네 이럴때 프론트엔드를 어떻게 할지가 난감한데
파이썬도 가능하단 말씀이죠?
SiCMOS 01-06
제가 호작질 게시판에 올린게 딱 비슷한 것 같군요..
     
딥마인드 01-06
네 보고왔습니다.
바로 그런 대쉬보드를 짜야하는데요 ....
리얼타임은 안되지만 구글 form 으로 데이터 저장후
구글시트에서 표 + 그래프로 도 간단한 대쉬보드는 뽑을수 있을거같은데요 ?
이러면 프로그래밍 필요없고 간단한 엑셀 함수만 가지고도 가능할거같습니다.
     
딥마인드 01-06
다른 용도지만 전에 vb,net 으로 form은 몇번 만들어 보았는데
멋지게 하는데는 한계가 있는듯 하네요
지금은 지원조차 끊겼죠?
          
멋지게의 기준이 에니메이션, 동영상, 리얼타임 타코메터, lcd같은  글자들이 아니라면 엑셀/구글시트에서 가능합니다

포트열필요없이  인터넷만 할수있는 환경이면되고요
피벗 슬라이서 함수몇개면  돼요

https://m.youtube.com/watch?v=XP_cf_GFFR4&t=5790

1분간격  리프래시가능
저는 라즈베리파이와 I2C를 이용하고있지만 라즈베리파이도 RS485지원되니 가능하지않을까싶습니다
딱히 데이터 저장은 안하고 실시간 모니터링 정도만하는데 라즈베리파이에 apache올려서 javascript로 웹에서보게 만들어 사용합니다
데이터저장은 rrd tool같은걸 써도 충분할것고...
http://rpi.sproc.co.kr
     
딥마인드 01-06
멋지군요 AJAX를 적용한 코딩이죠?


QnA
제목Page 77/5616
2015-12   1161935   백메가
2014-05   4613290   정은준1
01-29   450   아자부
01-29   605   헌터D
01-29   570   소주한병
01-29   721   허밍버드
01-29   681   한효석
01-29   760   뉴비덕후
01-28   769   Rich
01-28   1212   영어선생님
01-28   670   이창준
01-28   677   지구별
01-28   747   급여일에만나요
01-28   739   ryankor
01-28   1127   aifactory
01-27   953   서울I김동수
01-27   808   soom
01-27   923   alpha099
01-27   1232   딥마인드
01-27   892   SOGm
01-27   1087   NiteFlite9
01-27   672   범이님