2019의 게시물 표시

두개 이상의 랜카드 사용시 라우팅, routing 설정하기

이미지
개요 하나의 랜카드만 사용하는 고급진 환경이라면 라우팅을 알아야할 필요가 없어보인다. 두개이상의 랜카드를 사용하는데 인터넷이 왠지 느리거나 혹은 접속이 되어야하는데 안되는 현상들을 겪은적이 있다면 당신은 라우팅을 알아야한다. A랜카드는 인터넷을 B랜카드는 내 집에 또다른 컴퓨터와 연결했다고 가정하자. 인터넷이 될수도 있지만 안될수도있다. 만일 당신의 브라우저가 B 랜카드를 통해서 네이버에 접속하려한다면 인터넷이 되겠는가? 라우팅(routing) : 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정 설명만 장황한것보다 요점만 추리고자한다. 네트워크 번호 확인 커맨드 창에 route print 를 이용한다. 라 우팅 테이블 설정 1) 기존에 엉망이던 라우팅 테이블을 모두 삭제한다  > route delete 0.0.0.0 2) 모든 통신에대해 인터넷 네트워크를 1순위로 지정하고싶다  > route add -p 0.0.0.0 mask 0.0.0.0 인터넷게이트웨이 IF 랜카드번호 METRIC 1 3) 192.168.0.0 대역은 192.168.0.1번 게이트웨이와 통신하 15번 랜카드를 써라    192.168.1.0 대역은 192.168.1.0번 게이트웨이와 통신하고 17번 랜카드를 써라  > route add -p 192.168.0.0 mask 255.255.255.0 192.168.0.1 IF 15  > route add -p 192.168.1.0 mask 255.255.255.0 192.168.1.1 IF 17 ...

ByteOrder, LittleEndian, BigEndian with Honeywell Webs8000

이미지
개요 Little-Endian, Big-Endian CPU가 내부적으로 데이터를 처리하는 순서에따라서 바이트오더가 나뉘어진다.  바이트오더는 Little-Endian과 Big-Endian으로 나뉘어진다. Little-Endian  - intel X86계열 CPU  - AMD계열 CPU  - EDC계열 CPU Big-Endian  - IBM  - ARM  - Motorola Honeywell Webs8000 CPU ARM@Cortex-a8 즉 Big-Endian을 기본으로 사용함을 알 수 있다.  <Honeywell Webs8000 CPU Spec> 그렇다면 little-Endian을 사용하는 장비로부터 정상적인 데이터를 취득하기위해서는 바이트오더 변경이 필요하다.  Change ByteOrder in JAVA 1 2 3 4 5 6 7 8 public   static   int  getBigEndian( byte [] v) throws  Exception{ int [] arr  =   new   int [ 4 ]; for ( int  i = 0 ;i < 4 ;i + + ){ arr[i]  =  ( int )(v[ 3 - i]  &   0xFF ); } return  ((arr[ 0 ]  < <   24 )  +  (arr[ 1 ]  < <   16 )  +  (arr[ 2 ]  < <   8 )  +  (arr[ 3 ]  < <   0 )); }   Colored by ...

mklink by windows, MKlink를 활용하여 서비스 폴더 확장하기, 심볼릭링크, 하드링크

이미지
개요 dos 명령어 mklink 를 이용해서 원본 폴더를 다른 위치에서 똑같이 이용할 수 있는 방법   NTFS파일 구조에서는 심볼릭링크, 하드링크가 있으며, 이에대한 설명은 아래의 블로그를 참고한다. https://skeleton.tistory.com/22 Niagara N4에서 기 설치한 폴더의 경로를 변경하고자 할때 아래의 명령을 사용할 수 있다. c:\~~\운영스테이션폴더\>mklink /d "stationName" "d:\MyRealStation" < 관리자 권한 CMD > 위의 이미지에서 보는바와같이 ServiceStationName으로 링크가 생성되었고 해당 폴더는 D:\NewKamiStation을 가르키게 되어있다. <심볼릭링크와 바로가기의 차이> 위의 그림에서 보면 바로가기와 심볼릭링크가 같은 바로가기 모양으로 나타나지만 실제로 더블클릭해서 들어가보면 다른 결과를 얻게된다. 심볼릭 링크로 생성된 폴더는 마치 현재 위치의 폴더인것처럼 이동이되고 바로기는 d:\로 이동되어버린다. 아래는 과거 문의게시판에...

NiagaraFramework 개발환경 구축하기

이미지
개요 Niagara Framework에 대한 개발환경 구축 방법   본 문서는 " A non-programmer's guide to setting up a N4 development environment with Eclipse IDE" https://www.niagara-community.com/s/feed/0D5D000005DPI4qKAH?u=005D0000005RPu2&tab=sfdc.ProfilePlatformFeed&fId=0D5D000005DPI4q 위의 링크를 번역하여 요점 정리한것이다. Eclipse와 IntelliJ에 대한 개발환경 구축방법을 각각 정리한다. (Eclipse와 IntelliJ 의 아이콘을 구경하라는 취지로... 별의미 없음) Eclipse 개발환경 구축 사전준비  Java Developer Kit(JDK) : http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse IDE for java Developers : http://www.eclipse.org/downloads Gradle 다운로드 gradle Download : http://gradle.org/gradle-download/ 하드디스크에 압축해제. (바이너리용으로도 가능) 환경변수 추가 : GRADLE_HOME 제어판->시스템->고급시스템설정->환경변수 시스템변수 추가 : GRADLE_HOME , d:\gradle-2.12 (압축을 풀어놓은 폴더경로) GRADLE_HOME/bin 안에 PATH 환경설정 제어판->시스템->고급시스템설정->환경변수 시스템변수의 Path에 "D:\gradle-2.12\bin;" 추가 GRADLE에 대한 설치 확인 cmd 실행 후 "gradle -v" 를 실행하여 버전을 확인한다. ...

대상 페이지 직접 이동에 대한 창 아이콘을 만드는 방법(How to make windows-icon about move target page directly)

이미지
개요 규칙에서 주문 링크를 사용할 수 있다 ORD의 예(참조된 사용자 가이드) ip:somehost|fox:|station:|slot:/MyService ip:somehost|fox:|station:|h:/42 ip:somehost|fox:|file:/C:/dir/file.txt local:|file:!lib/log.properties local:|module://icons/x16/cloud.png local:|spy:/ In Niagara you may wb_w.exe는 인수를 가질 수 있습니다. It's solved my problem. We can use this rule likes below. 바탕 화면에 있는 바로 가기 아이콘을 두 번 클릭하면 01_01.px 페이지가 바로 나타난다. C:\Niagara\Niagara-4.7.109.20\bin\wb_w.exe "ip:neverlikekami.synology.me|fox:|file:^px/Building_Battery/01_01.px" II 최종 사용자에게 기본 프리젠테이션 뷰를 연결하는 방법을 가르쳐준다. 그러기 위해 나는 책갈피 기능을 사용해 왔다. 기본 프레젠테이션 뷰를 연결하기 위해 이 기능을 더 이상 가르칠 필요가 없는 것 같습니다.

WHEA_UNCORRECTABLE_ERROR 해결 후 오디오 출력 장치가 설치되어 있지 않습니다. 이도저도 다 안될때. 해결법

이미지
개요 WHEA_UNCORRECTABLE_ERROR 블루스크린 수정 이후 오디오 출력 장치가 설치되어 있지 않습니다. 최후의 시도  최종 결론  - whea_uncorrectable_error  윈도우 업데이트로 그래픽카드 드라이버와 호환이 안됨. 그래픽카드 드라이버 재설치와 최신화로 해결됨.  - 오디오 출력 장치가 설치되어있지 않습니다.  윈도우 내부적으로 꼬인것으로 시스템파일 및 Dism검사로 해결됨  일반적이지 않은 경우라고 판단됨. 상황발생 #1 WHEA_UNCORERECTABLE_ERROR 로 블루스크린 발생. 블루스크린 발생 시점은 윈도우 로그인하는 순간. 이것저것 검색하여 시도해보았다. 검색결과 주 원인은 하드웨어로 CPU의 오버클럭, 드라이버의 잘못된 설치, 윈도우 업데이트의 호환성 문제 등이 있었다. 결론적으로 말하자면 내경우는 윈도우 업데이트로 드라이버와 무언가 꼬인듯 하다. 문제해결시도 : WHEA_UNCORRECTABLE_ERROR 1. CPU의 클럭 헤르츠를 조절 (결과 : 부분적 해결, 원상복구함)  - 오버클럭되어있는 CPU에서 주로 발생한다하여 CMOS에 접속하여 CPU HZ를 조절  - HZ를 낮추거나 높이는 테스트를 해보았으며 경우에따라 부팅이 잘 되거나 안되거나가 반복됨.  - 잘 모르는 옵션들 막 건들였다가 보드 부팅자체가 안되어서 바이오스 초기화를 감행함    (전원플러그 뽑고, 전원 눌러서 완전방전 후 , 메인보드의 배터리를 뽑았다.) 2. 안전모드로 부팅가능여부 확인 (결과 : 안전모드로 정상부팅됨을 확인)  - WOL(Wake On Lan) 기능을 사용하고 있었으므로 랜카드에 문제가 있을 수 있다고 판단.  - 랜선을 뽑거나 랜카드 사용 안함 등으로 설정 후 정상 부팅 해보았으나 1번과 같이 잘 되다가 안되다가를 반복함. 3....

how to delete c.robotcapatch.info Malware in Chrome Browser

이미지
개요 How to delete "c.robotcapatch.info"  malware in Chrome Browser (멜웨어 삭제 방법) How to infected malware (멜웨어 감염 경로) 몇일 전. 아래와같은 화면이 떳고 호기심에 수락을 누른탓에 멜웨어에 감염되었다. 해당 멜웨어에 감염된 증상으로 우측 하단에 지속적으로 알림광고메시지가 팝업되었다. 몹시 귀찮고 보기싫은 상황.... 네이버에 검색해보니 해당 멜웨어에대한 정보는 나오지 않는 상태였고  구글링의 결과로 여러 사이트들을 관찰한결과 짜고치는 고스돕같은 느낌을 받았다.  어디까지나 본인의 생각이겠지만.. 바이러스를 배포하고, 공식 사이트에서는 치료를 위한  툴을 제공하는 느낌을 받았다.  방법또한 매우 친절하고 자세히 나와있지만 대부분 하나의 프로그램으로 귀결되었다.  WiperSoft-installer.exe를 다운받게 하고 해당 프로그램을 이용하여 검색을하면 여러가지 멜웨어들이 검색된다. 치료를 위해서는 돈을 지불해야하는 툴이다.  비용을 지불하는것은 나쁘지 않겠지만.. 알수없는 찜찜함을 느껴서 국산툴을 이용하기로했다. Introduce perfectly tool. (Malware Zero Kit) We can download tool below this site. https://malzero.xyz/ 위 사이트를 이용하여 MalwareZero kit, tool을 다운 받는다.  해당 툴을 처음 만난건 약 7년쯤 된것같다. 이런저런 네임밸류가있는 V3, AlYac, Averest, Nortun 등... 많은 툴들을 써서도 치유되지않는 멜웨어 바이러스에 좌절하다가 마지막으로 만난 툴이다. 심플하고 라이트한느낌. 기름기 쫙뺀 성능좋은 툴이라고 소개하고싶다.  해당 툴을 돌리고 약 10여분 검사시간...

Maria DB JDBC 기본 구문

MariaDB 와 JAVA 연동을 위한 기본 구문  참고 소스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import  java.sql.Connection; import  java.sql.DriverManager; import  java.sql.PreparedStatement; import  java.sql.ResultSet; import  java.sql.SQLException; public   class  MainEntry {    public   static   void  main( String [] args) {     Connection con  =   null ;     PreparedStatement pstmt  =   null ;       ResultSet rs  =   null ;      try  {           Class.forName( "org.mariadb.jdbc.Driver" );           con  =  DriverManager.getConnection( "jdbc:mariadb://100.100.100.7:3306/dbname" , "userId" , "password" ); ...

Full Screen Service at Browser (Feat. Niagara N4 Browser)

이미지
개요 Chrome을 이용하여 풀스크린 서비스 하기 브라우저별 풀스크린  모든 브라우저 공통 단축키 (F11) 크롬, IE11, MS Edge, Firefox, Opera 브라우저는 F11키를 이용하여 전체화면을 활성화 할 수 있다. 대부분의 브라우저에서 "보기" 메뉴를 이용하면 "전체화면" 명령을 이용할 수 있을것이다. 크롬 브라우저의 자동 풀 스크린 크롬브라우저는 실행과 동시에 풀 스크린으로 동작할 수 있다.  방법은 아래와같다.  "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -kiosk http://url 단축아이콘에서 위와같이 실행하면 시작과동시에 풀스크린으로 열리게된다. 기타 브라우저의 자동 풀 스크린 Windows환경에서는 VBS를 이용하여 간단하게 기능을 구현할 수 있다.  본 내용에 대해서는 아래의 링크를 참고하자.  https://nfengineer.blogspot.com/2019/04/auto-log-in-to-website-using-vbs_69.html 위의 링크의 내용을 보고나면, 브라우저를 열고, F11키가 자동으로 눌러지게 하는 프로그램을 만들 수 있을것이다.

Niagara Framework - Services(AlarmService)

이미지
개요 Study of AlarmService in Niagara Framework  Contents 나이아가라 프레임워크의 알람 서비스 나이아가라 프레임워크는 많은 서비스를 탑재하고있다. 또한 추가로 서비스를 더 탑재할 수도 있다. 본 내용에서는 나이아가라 프레임워크에서 기본적으로 제공하는 서비스중 AlarmService에 대해서 알아본다. What is AlarmSerice 알람서비스는 NiagaraFramework 내에서 사용되는 모든 포인트들의 AlarmExtension을 수집한다. 또한 수집한 알람들에 대해 우선순위를 정할 수 있고, 전체 경보들에 대한 분석을 진행할 수 있으며, 알람을 어떻게 운용할지 설정할 수 있다. 알람 서비스 안에는 기본적으로 하나의 알람 클래스가 있으며 모든 알람 설정은 기본적으로 DefaultAlarmClass로 자신의 알람 정보를 보내게 되어있다. <DefaultAlarmClass in AlarmService> <AlarmExtensions in alarm module> How to extend AlarmExtension. 우리는 NumericPoints, BooleanPoints, EnumPoints, StringPoints 등의 여러가지 데이타 포인트들에 Extensions 하부 객체들을 추가할 수 있다. 모든 데이타 포인트들은 AlarmExtensions의 객체를 추가함으로서 경보로서의 가치를 갖게된다.   대부분 읽거나 보면 감으로 "아하~" 하는 수준은 이해가 될 것이다. 다만.. 맨 아랫 부분의 Alarm Class에 대한 이해가좀 필요할듯하여 부연설명을 적어본다. Alarm Class : Default Alarm Class NiagaraFramework의 스테이션의 AlarmService는 기본적으로 Default Alarm Class를 갖고있는다.  그리고 모든 포인트들에 AlarmExtens...

Windows Server 2012 Standard / Core version

이미지
개요 Windows 2012 R2 Server Core 란? 윈도우 서버는 느리고 답답하며, 핫픽스도 자주 발생한다. 이러한 환경을 개선하고자 마이크로소프트에서는 ServerCore 버전을 만들게 된다. Contents

PID control using LoopPoint at KitControls Module

이미지
개요 본문에서는 PID 컨트롤을 왜, 어떻게 해야하는지에 대해 적고자 한다. Niagara Framework를 이용하여 PID제어 하는 방법을 알아보자. Contents PID 컨트롤은 무엇인가 ( What is the PID control)  P : Proportional : 비례  I  : Integral       : 적분  D : Differential  : 미분  비례와 적분, 미분 정보를 조합하여 적정한 수준의 출력값을 결정하는 기법  효과적으로 목표값에 도달하기위해 사용되는 제어의 기법 ON/OFF 제어의 결과 (Result of On/Off Control) <단순 ON/OFF 제어결과 , 출처 : www.inforad.co.kr> P 제어의 결과  (Result of P-Control) <P 제어 결과 , 출처 : www.inforad.co.kr> PD 제어의 결과  (Result of PD-Control) <PD 제어 결과, 출처 : www.inforad.co.kr> PID 제어의 결과  (Result of PID-Control) <PID 제어결과, 출처 : www.inforad.co.kr> PID 제어의 예시 (Example of PID-Control) ...

How to map lighting control at TextEditor in Niagara Framework at once.

이미지
개요 NiagaraWorkbench 를 이용하여 조명제어 프로그램을 제작시 가장 번거로운 작업은 "화면 맵핑"  이다. 릴레이 하나하나를 상태와 기동/정지로 나누어 도면과 일치하게끔 맵핑하고 배치해야한다. 타고난 눈을 갖고있는 사람이 아니라면 매우 고통스러운 시간일 것 이다. 심지어 몇천개의 포인트들을 맵핑해놨는데 모든 포인트명을 변경해야하는 상황이 온다면... 대부분의 엔지니어는 좌절감을 느낄것이다. Contents <조명 오브젝트들> <조명 오브젝트 한개가 갖고있는 속성들> 본론 및 목적  일일이 하나의 조명을 선택하여 네다섯가지의 프로퍼티스를 수정하는 작업은 상상만해도 끔찍하다. (해본사람은 더 잘알겠지만... 안해봐도 알았으면 한다..) 본문에서는 포인트명을 일괄로 변경해야할때. 특히나 까다로운 문자열들을 변경해야할 때 어떻게 해야하는지 알아본다. NiagaraWorkbench는 UI부분을 PX라는 파일을 이용하여 파싱하고 표현해준다. 위에서 보고있는 화면들은 PX 파일을 PX Editor(WYSIWYG EDITOR)로 수정하는 화면이다. PX파일은 Presentation XML파일로 notepad로 열어보면 XML형식의 파일임을 확인할 수 있다. <Presentation XML  : PX file> 목적 : 문자열 변경  Drivers/ModbusTcpNetwork/Light1/1_01_ -> Drivers/ModbusTcpNetwork/Light1/DO/R01_01 Drivers/ModbusTcpNetwork/Light1/1_02_ -> Drivers/ModbusTcpNetwork/Light1/DO/R01_01                               ...

Auto Log in to website using VBS

이미지
개요 웹에 자동으로 로그인하는 프로그램은 사실 위험하다는 생각이다. 하지만 단순히 로컬 인트라넷에서 운영되어지는 몇몇 웹 페이지는 자동로그인이 필요할때가 있다. 개인적으로는 직접 ID와 PW를 치고 들어가는것을 추천하지만 그렇지 않은 사람들이 생각보다 많다. Contents <최종실행화면> 본론 기타 여건들을 배재하고 무조건 자동 로그인이 필요한 경우가 있다. 이러한 경우에 사용할 수 있는 방법에 대해 알아본다. How to automatically log in to web site. 어떻게 해야 자동으로 로그인을 할 수 있을까 여러가지 방법이 있다. 1. wget과같은 프로그램을 이용하여 서버에ID/PW값을 넘겨준다. 2. 키보드가 자동 타이핑되도록하여 ID타이핑,TAB,PW타이핑,Enter타이핑 순서로 SEND 3. JavaScript를 이용하여 ID/PW 필드를 채운 후 action이 되도록 한다. 4. etc.. 기타등등 무궁무진하다. 제작할 프로그램의 기능정리 여러가지 방법들이 있겠지만 내게 필요한 기능을 정리하면 아래와같았다. 1. 바탕화면에서 바로가기를 더블클릭한다. 2. 브라우저가 실행되며 자동으로 로그인이 된다. 3. 로그인 후 볼 수 있는 페이지를 서비스 받는다. VBS란? 위와같은 프로그램을 만들기위해 VBS 를 이용하기로 하였다. Microsoft Visual Basic Scripting Edition (Visual Basic Script) 마이크로소프트에서 제공하는 스크립트 언어이며 bat 비슷하게 사용 가능. bat 파일이 CommandLine 환경이라면 VBS는 좀더 GUI를 컨트롤 할 수 있는 환경제공. Windows는 기본적으로 VBS 실행 환경을 탑재 . VBS는 정상적인 목적을 갖고 있다면 매우 유용할 수 있지만 좋지못한 의도로 사용자의PC를 점거할 수 있으며 내 의지와 다른 무언가를 실행할 수 있는 강력한(?) 언어다. 내가만든 VB...

TimeDate automatically change using cmd file

이미지
개요 Alerton사의 VLC1600을 이용하여 Pulse 신호를 받아보려한다. 안타깝게 옛날버전인 Envision2.6과 Visio2007을 이용하여 진행한다. Contents 자동으로 시간 바꾸고 복귀주는 프로그램 만들기(윈도우) 특정 프로그램들은 날짜나 시간 기반으로 락이 걸려있다. 정품, 혹은 구매하여 사용하는것을 추천하지만 현실적으로 그러지 못한 경우들이 있다. 이런때 우리들은 시간을 과거로 변경하여 프로그램을 실행하곤한다. <시간을 자주 바꿀때 사용하는 timedate.cpl 명렁> 시간을 종종 뒤로 돌려야하는 프로그램을 사용하기에 timedate.cpl 명령어로 빠르게 바꾸곤 하였지만 상당히 번거롭다. 특히나 프로그램과 동시에 웹서치가 필요한때면 크롬 유저로서 매우 난감하다. (날짜가 과거인경우 크롬으로 웹 서핑이 불가능하다.) 이제 우리는 .cmd 파일을 이용하여 무언가 만들것이다. .cmd 파일이란? MS-DOS 시절부터 지금까지 꾸준히 이용되고있는 bat 파일과 사실상 같다. 약간의 차이가 있다면 윈도우98이하에서 .cmd 파일은 실행되지 않는다. 즉. Windows2000부터 확장된 문법이나 명령어들을 .cmd 파일에서 적용할 수 있다. 확장된 명령어가 포함된 .bat 라 보면된다. 본론으로 넘어가.. 이번에는 .cmd 파일을 제작하여 원하는 날짜로 돌리고 오늘 날짜로 쉽게 복구할 수 있는 스크립트를 만들어 보려 한다. (PowerShell을 이용하여 좀더 멋진 프로그램을 만들어보고싶었지만... 역시 귀찮다... 다음에 필요하다면 알아보도록하고...~~~~~) .cmd 작성을 위한 기본 명령어 @echo off : 구문을 화면 출력 하지 않는다 set           : 변수 등록 및 변수에 데이터 저장 echo        : 구문을 화면에 출...