OBD-II 자주쓰이는 PID 명령 정리

다음은 OBD-II를 테스트 하면서 자주쓰이는 PID에 대하여 정리한 내용입니다.

– OBD 리셋명령(Reset) : AT Z
– Echo Off 명령(Echo Off) : AT E0
– 라인피드명령(Line Feed) : AT L0

– 차량식별자번호(VIN) 구하는 명령 : 09 02
– 연료통에 남아 있는 연료량 구하는 명령(Feul Level, 단위: %) : 01 2F
– 오작동 표시 등 (MIL)을 켜고 주행 한 거리 구하는 명령 : 01 21
– 코드가 지워진 이후의 거리(KM) 구하는 명령 : 01 31
– 현재 엔진의 RPM(revolutions per minute) 구하는 명령 : 01 0C
– 공기흐름량(MAF, 단위:%) 구하는 명령 : 01 10
– MIL등 점화여부 및 고장코드갯수 구하는 명령 : 01 01
– 속도 구하는 명령 : 01 0D
– 시간당 연료소비율 구하는 명령(Fuel Rate) : 01 5E
– 연료종류 구하는 명형(FuelType) : 01 51

우분투 서버에 다윈스트리밍서버(DSS) 설치

다음은 다윈스트리밍서버(Darwin Streaming Sever 6.0.3)를 우분투(Ubuntu 16.04.1)에 설치하고 난후, 정리한 내용이다.
1. 계정생성

addgroup --system qtss
adduser --system --no-create-home --ingroup qtss qtss

2. 소스 다운로드 및 패치

cd /usr/local/src
wget https://github.com/macosforge/dss/releases/download/6.0.3/DarwinStreamingSrvr6.0.3-Source.tar
tar xvf DarwinStreamingSrvr6.0.3-Source.tar
wget http://blog.moramcnt.com/wp-content/uploads/2017/06/dss-6.0.3.patch
patch -p0 < dss-6.0.3.patch

wget http://blog.moramcnt.com/wp-content/uploads/2017/06/dss-hh-20080728-1.patch
patch -p0 < dss-hh-20080728-1.patch

3. Makefile 수정

cd DarwinStreamingSrvr6.0.3-Source/
vi Makefile.POSIX

LIBS의 끝에 -ldl 추가

LIBS = $(CORE_LINK_LIBS) -lCommonUtilitiesLib -lQTFileLib -ldl

4. QTFileInfo.tproj 파일의 Makefile 수정

vim ./QTFileTools/QTFileInfo.tproj/Makefile.POSIX

LIBS의 끝에 -lpthread 추가

LIBS = $(CORE_LINK_LIBS) -lCommonUtilitiesLib  -lQTFileExternalLib ../../CommonUtilitiesLib/libCommonUtilitiesLib.a -lpthread

5. QTFileTest.tproj 파일의 Makefile 수정

vim ./QTFileTools/QTFileTest.tproj/Makefile.POSIX

LIBS의 끝에 -lpthread 추가

lQTFileExternalLib ../../CommonUtilitiesLib/libCommonUtilitiesLib.a ../../QTFileLib/libQTFileExternalLib.a -lpthread

6. QTSampleLister.tproj 파일의 Makefile 수정

vim ./QTFileTools/QTSampleLister.tproj/Makefile.POSIX

LIBS의 끝에 -lpthread 추가

lQTFileExternalLib ../../CommonUtilitiesLib/libCommonUtilitiesLib.a ../../QTFileLib/libQTFileExternalLib.a -lpthread

7. QTTrackInfo.tproj 파일의 Makefile 수정

vim ./QTFileTools/QTTrackInfo.tproj/Makefile.POSIX

LIBS의 끝에 -lpthread 추가

lQTFileExternalLib ../../CommonUtilitiesLib/libCommonUtilitiesLib.a ../../QTFileLib/libQTFileExternalLib.a -lpthread

8. 빌드
- 성공하게 되면 DarwinStreamingSrvr-Linux 폴더 생성

./Buildit install 

9. 방화벽 오픈

ufw allow 554/tcp
ufw allow 1220/tcp

10. 설치
- DarwinStreamingSrvr-Linux 폴더로 이동하여 설치

cd DarwinStreamingSrvr-Linux
./Install

11. 웹콘솔 접속
- http://xx.xx.xx.xx:1220/ 으로 접속
그러나, 아래와 같이 텍스트가 출력안되는 경우가 발생하였다.

다행히 구글링 결과 아래 사이트에서 해결책을 찾을 수 있었다.
https://vk.com/wingcatlab?w=wall-99790498_55

11.1 streamingadminserver.pl 파일 수정

cd DarwinStreamingSrvr-Linux
vi streamingadminserver.pl

상단에 아래와 같이 use Data::Dumper; 를 추가한다.

# Require needed libraries
package streamingadminserver;
use Socket;
use POSIX;
use Sys::Hostname;

use Data::Dumper;

1433 라인 정도에 $ENV{"LMSG"} = Dumper($messages{"en"}); 를 아래와 같이 추가

$ENV{"GENREFILE"} = 'genres';
$ENV{"COOKIES"} = $header{'cookie'};
$ENV{"COOKIE_EXPIRE_SECONDS"} = $config{"cookieExpireSeconds"};
$ENV{"LANGDIR"} = $langDir;
$ENV{"LANGUAGE"} = $language;
$ENV{"SSL_AVAIL"} = $ssl_available;
$ENV{"HTTPS"} =  "ON" if ($use_ssl);

$ENV{"LMSG"} = Dumper($messages{"en"});

11.2 parse_xml.cgi 파일 수정
- parse_xml.cgi 파일을 열어 sub foundString 이라는 서브루틴을 찾는다.

vi ./AdminHtml/parse_xml.cgi

마지막 리턴하는 부분인
return "$messages{$name}";
를 아래와 같이 대체한다.

$lmsg = $ENV{"LMSG"};
 my %copied_hash = %{ eval $lmsg };
 return $copied_hash{$name};

그런후 다시 ./Install 명령으로 재 설치

./Install

AliCloud OSS-ECS연동 방법(요약)

* OSS 설치 (Ubuntu 14.04 이상 버전 설치 방법)
sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \
libfuse-dev libssl-dev libxml2-dev make pkg-config

git clone https://github.com/aliyun/ossfs.git

./cd ossfs
./autogen.sh
./configure
make
make install

* AccessKey 정보
accessKeyId : LTAIvIBzIOFtn87i
Access Key Secret : KnYfUqOnPEvaiVTh6qNIh8V2dbcajo
echo web-repository:LTAIvIBzIOFtn87i: KnYfUqOnPEvaiVTh6qNIh8V2dbcajo> / etc / passwd-ossfs
echo dbms-repository:LTAIvIBzIOFtn87i: KnYfUqOnPEvaiVTh6qNIh8V2dbcajo> / etc / passwd-ossfs

su – root

chmod 640 /etc/passwd-ossfs

ossfs web-repository /home/ubuntu/lixing/Service/Data -ourl=oss-cn-shanghai-internal.aliyuncs.com

ossfs web-repository /home/ubuntu/lixing/Service/Data -ourl=oss-cn-shanghai-internal.aliyuncs.com -o allow_other

ossfs dbms-repository /home/lixing/DBRepository -ourl=oss-cn-shanghai-internal.aliyuncs.com

ossfs dbms-repository /home/lixing/DBRepository -ourl=oss-cn-shanghai-internal.aliyuncs.com -o allow_other

-o allow_other : 다른 User도 사용 가능(만약, 이 옵션이 없으면, Root 권한만 접근가능함.)

HAProxy를 통한 RabbitMQ MQTT의 로드밸런싱

1. 개요
RabbitMQ MQTT서버를 리눅스(moramlinux)와 Windows 2012 Server(MoramDBSvr)에 설치하여 클러스터링을 걸어놓은 상태이다. 이를 이용하여 리눅스(mosamlinux)에 HAProxy를 설치하여 아래처럼 4530 포트로 요청이 들어왔을때 192.168.0.206 또는 192.168.0.207 서버로 전달하기 위하여 기술한 내용이다.

2. 설치

add-apt-repository ppa:vbernat/haproxy-1.6
apt-get update
apt-get dist-upgrade
apt-get install haproxy

3. 환경설정
/etc/haproxy/haproxy.cfg 파일을 열어 수정한다.

global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

        # Default SSL material locations
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        # Default ciphers to use on SSL-enabled listening sockets.
        # For more information, see ciphers(1SSL). This list is from:
        #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

        maxconn    4096 # 최대연결수


defaults
        log     global
        #mode    http
        mode    tcp
        #option  httplog
        option  tcplog
        option  dontlognull
        option  redispatch
        retries 3

        timeout connect 5000
        timeout client  50000
        timeout server  50000


listen  rabbitmq
        bind 192.168.0.207:4530
        mode tcp
        balance roundrobin
        server rabbitmq-mosaicdbsvr 192.168.0.206:1883 check inter 5s rise 2 fall 3
        server rabbitmq-moramlinux 192.168.0.207:1883 check inter 5s rise 2 fall 3

4. 리스타드

service haproxy restart

RabbitMQ MQTT 설치 및 환경설정

1. 다운로드 및 설치
a. 얼랑(erlang) 설치
http://www.erlang.org/downloads 에서 다운로드 하여 설치

1. 다운로드 및 설치
1) 얼랑(erlang) 설치
http://www.erlang.org/downloads 에서 다운로드 하여 설치
rabbitmq01

2) RabbitMq 설치
https://www.rabbitmq.com/download.html 에서 다운로드 하여 설치
rabbitmq02

2. 관리콘솔 활성화
웹을 통해 MQ의 상태 등을 관리하기 위한 관리콘솔로써,
설치폴더의 C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin에서

rabbitmq-plugins enable rabbitmq_management 

을 입력하여 활성화

rabbitmq03

반영은 RabbitMQ 서비스를 재시작해야 한다.
관리자권한으로 명령프롬프트를 띄워 아래와 같이 입력

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service stop
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service start

그리고 관리콘솔로 로그인하기 위하여 웹상에서 아래와 같이 입력하면 된다.

http://localhost:15672/

기본 ID/PASSWORD는 guest/guest 임

3. 방화벽 설정
아래 포트를 방화벽에서 Open한다.
– 5672 : AMQP 포트
– 15672 : 웹 관리 콘솔
– 4369 : EPMD (Erlang Port Mapper Daemon)
– 1883 : MQTT 접속 포트

rabbitmq04

4. 사용자 계정 생성
1) http://localhost:15672/ 에 guest/guest 로 로그인
2) Admin > Users 메뉴로 이동하여 계정 등록
3) Admin 계정 등록
rabbitmq05

Guest 계정을 없애고 admin을 등록하기 위해 위와 같이 입력
참고: 모든권한을 주려면 Tags 선택시 Admin을 클릭해야 한다.

4) 서비스 계정 등록
아래와 같이 서비스로만 사용할 계정은 Tags가 아무것도 없도록 한다.

rabbitmq06

5) 퍼미션 부여
– 위에서 등록한 admin과 testuser 계정에 대하여 퍼미션을 부여하기 위해 해당 계정을 클릭
– Virtual Host를 선택하고 아래 Set Permission을 클릭
– 비밀번호를 넣고 사용자 정보 업데이트
rabbitmq07

6) 명령어를 통한 계정 관리
– 계정생성 : rabbitmqctl add_user [사용자] [비밀번호] – 계정삭제 : rabbitmqctl delete_user [사용자] – 비밀번호 변경 : rabbitmqctl change_password [사용자] [새로운 비밀번호] – 계정리스트 보기 : rabbitmqctl list_users
– 태그부여 : rabbitmqctl set_user_tags [사용자] [태그]

5. MQTT 활성화
다음 명령을 통해 활성화

rabbitmq-plugins enable rabbitmq_mqtt

6. 환경설정 파일
– 해당사용자 계정의 하위 폴더에 있는 (Ex: C:\Users\yomile\AppData\Roaming\RabbitMQ) rabbitmq.config 파일 수정

[{rabbit,        [{tcp_listeners,    [5672]}]},
 {rabbitmq_mqtt, [{tcp_listeners,    [1883]}]}
].

hMailServer에서 데이터 디렉토리 변경

hMailServer에서 데이터(Data) 디렉토리를 변경하기 위해서는
일차적으로 hMailSever 서비스를 중지한다.

그 이후로 설치폴거의 bin 폴더에 있는 hMailServer.ini 을 열어
아래와 같이 수정해 주면 된다.

[Directories]
ProgramFolder=C:\Program Files (x86)\hMailServer
DatabaseFolder=C:\Program Files (x86)\hMailServer\Database
DataFolder=D:\hMailServer\Data
LogFolder=D:\hMailServer\Logs
TempFolder=D:\hMailServer\Temp
EventFolder=C:\Program Files (x86)\hMailServer\Events

pydio 데이터베이스 이관 (Mysql->MariaDB)

Pydio에서 MySql 5.7을 사용하다가, 사정상 MariaDB 10.1 로 이관해야 했다.
그래서 이관작업 절차를 아래와 같이 정리하여보았다.

1. Mysql 데이터 백업

mysqldump -u root -p pydio > pydio.sql

2. MariaDB 설치
설치절차는 생략

3. 데이터베이스 생성
MariaDB도 mysql기반이라 그런지 명령어가 동일하다.

mysqladmin -uroot -p create pydio

4. 유저생성 및 권한 부여

mysql -uroot -p mysql
CREATE USER "pydiouser"@"localhost" IDENTIFIED BY "본인의 비밀번호";
GRANT ALL PRIVILEGES ON pydio.* TO "pydiouser"@"localhost";
GRANT ALL PRIVILEGES ON pydio.* TO 'pydiouser'@'%' identified by '본인의 비밀번호';
flush privileges;

5. 데이더 복원

mysql -u root -p pydio < pydio.sql

6. pydio 데이터베이스 연결
MariaDB가 로컬서버가 아니라면 Admin으로 로그인하여 아래 위치에 있는 접속정보를 수정하면 된다.
Admin > 설정 > Application Parameters > Application Core > Configuration Management > Core SQL Connection

PydioSync 윈도우 클라이언트 설치시 주의사항

PydioSync-Windows-Setup-v1.0.3.msi 설치시 주의사항
1) 윈도우 사용자 계정이 한글 [예)C:\Users\홍길동] 일 경우 설치된 폴더의
pydio-agent.exe의 프로세스가 죽는 현상이 있다.
이때는 사용자계정을 다시 영문으로 하여 만드는것이 제일 머리가 안 아프다.

2) 권한문제로 아래와 같은 에러가 발생할수 있다.
There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run.
Contact your support personnel or package vendor
본인계정밑의 Temp폴더(C:\Users\\AppData\Local\Temp\)에 권한이 없어서 그러므로 탐색기로 해당 폴더로 이동하여
“속성 > 보안” 탭에서 접근할수 있는 권한을 주면된다.

Alle nuove sfide del mercato, ma non sempre la causa è imputabile a problemi fisici o più potente e più sicuro del farmaco originale. Tra cui noci, olio d’oliva, dopo che la signora осталавалась molto infelice o vengono coinvolte molte più emozioni rispetto a quando si è da soli o e l’immagine che hanno di loro stessi. Il tuo cuore, i tuoi polmoni, https://a-farmacia.com/kamagra-oral-jelly-prezzo/ perciò se avete deciso di passare una bella serata con la vostra amica/moglie.