튜토리얼에 method call이 있어 따라 해봤다. method를 서버에 설정하고, client에서 반응을 보고 싶었는데, 잘 안됬다. 두 시간 삽질만에 UA_VARINT에서 UA_String을 출력했다. 처음에는 몰랐는데 gdb로 구조를 보면 대략 알 수 있다. UA_String도 구조체라 data와 length로 구성된다. UA_Variant로 data를 출력하려면 UA_String으로 캐스팅하여 data의 data를 찾아야 한다.–; (gdb) 45 /* Call a remote method */ 46 UA_Variant input;…… open62541 method call 계속 읽기
[카테고리:] 생활코딩
open62541 server – client variable 전달
tutorial을 열심히 따라했지만 변수를 추가하다 막혀 못했다. 내가 OPC-UA 프로토콜을 제대로 이해하지 못한 탓이다. 아래를 참조하여 변수를 서버에 간단히 추가했다. https://open62541.org/doc/current/tutorial_server_variabletype.html 클라이언트가 서버 변수를 읽으려 했으나, 쉽게 하지 못했다. tutorial이 현재 시각을 쉽게 보여줘서 너무 일찍 시작하였다. callback 함수까지 설정했어야 했는데, 설명하지 않았다. 너무 불친절하다. 다행히도 좋은 동영상을 보고 이해했다. 다음 장에 나온 Connecting a…… open62541 server – client variable 전달 계속 읽기
raspberry pi + opc-ua + open62541 삽질기
하. 드디어 여기까지 왔다. opc ua를 설치하면 자동화 기기에서 정보를 쉽게 읽을 수 있다. 여기에서 여러 오픈소스 프로그램을 찾았다. 소개한 홈페이지와 마찬가지로 가볍게 C로 작성한 open62541를 설치하기로 했다. 3달 전만해도 PLC가 당연히 OPC를 지원할 줄 알았으나, 지멘스 S7-1500 최신 제품, MELSEC 정도나 OPCUA를 지원한다. 나름 최신 기술인가보다. OPC 솔루션을 가진 회사에 연락하면 쉽게 지원받을 수…… raspberry pi + opc-ua + open62541 삽질기 계속 읽기
Learning OpenCV 4 Computer Vision with Python 3, object detecion
MeanShift와 CamShift로 물체를 추적할 수 있다. 배경을 제거하기 위해 backprojection을 어떻게 사용하는지 알아야 했다. back projection은 배경 등 변화가 없는 이미지를 마스킹하기 위해 사용한다. 다음 동영상을 보면 알기 쉽다. cv2.imshow는 여러 창을 보여주지 못한다. matplot.pyplot을 사용했다. opencv의 색과 matplot.pyplot 색이 다르기 때문에 변경해야 제대로 표시된다. class BackProjection(object): def __init__(self): self._imgPath = “./20160910_134843_2.jpg” self._img = cv2.imread(“./20160910_134843_2.jpg”,cv2.IMREAD_COLOR)…… Learning OpenCV 4 Computer Vision with Python 3, object detecion 계속 읽기
youcompleteme
opencv를 하다보니 popup 되는 기능이 너무 부럽다. eclipse로 될 거 같은데, docker로 python을 실행하여 어렵고 귀찮다. vim plugin 세계로 들어갔다. git으로 해당 파일을 받고, .vimrc에 plugin 설치를 써줘야 한다. 이 짓도 하다보면 늘겠지. https://unixnme.blogspot.com/2017/03/how-to-install-youcompleteme-vim-plugin.html https://realpython.com/vim-and-python-a-match-made-in-heaven/#auto-complete