IT 274

[openwrt][uci] 시스템 시간대 설정하기

파이썬으로 openwrt 에서 시스템 시간대를 변경하는 방법은 2가지가 있습니다. /etc/config/system 직접 수정하기 option zonename 항목을 찾아 값을 'Asia/Seoul'로 바꿉니다. 없다면 굳이 만들 필요는 없습니다. option timezone 항목을 찾아 값을 'KST-9'로 바꿔줍니다. 이것은 반드시 수행해야 합니다. uci 명령 사용하기 uci show system 명령으로 timezone 값이 어디 속해있는지 확인합니다. 경로를 찾았으면 uci set 해당 경로 명령으로 값을 변경하고 uci commit 을 해줘서 시스템 설정에 반영합니다. 보통 시간대를 변경했으면 reboot 명령으로 재부팅까지 해야 완료가 됩니다. # uci show system system.@..

IT/System Digging 2020.10.06

[python]오류 발생시 호출 스택 출력하기

try except로 오류 발생을 처리하다 보면 개발 도중에 자주 오류가 발생할 때 오류 추적이 쉽지 않은 경우가 있습니다. vscode로 실행을 직접 할 수 있는 경우라면 GUI로 편하게 디버깅 가능하지만, vscode 가 지원하지 않는 아키텍처(예를 들면, mips라든지, mips라든지...)인 경우에는 pdb 사용법을 익혀야 되는데 gdb처럼 맘껏 잘 동작하지는 않습니다. import traceback 을 하고 exception 발생했을 때 traceback.format_exc() 값을 출력해주면 됩니다. try: .... except Exception as e: print('ERROR::{}, {}'.format(e, traceback.format_exec())) 작성한지 시간이 지나서(수정 시간..

IT/python 2020.09.28

[openwrt][wifi] 공유기 비번 기록 및 재시작

기록용으로 남깁니다..공유기 무선 설정에 들어가서 인증 및 암호화 방법, 암호 를 확인합니다.여기에서는 인증 방법이 WPA2PSK + AES 였습니다./etc/config/wireless 파일을 엽니다.config wifi-iface 'sta' 섹션disabled 값 0ssid 값 공유기의 ssid 값key 값 공유기의 암호encryption 값 인증 방법. 여기서는 'psk2+aes'config wifi-ifcae 'ap' 섹션disabled 값 0config wifi-device 'radio0' 섹션disabled 값 0/etc/init.d/network restart 명령을 내려주고 ip addr 명령을 내려서 apcli0 인터페이스에 ip 가 할당되었는지 확인해봅니다.

IT/System Digging 2020.09.15

[python] json dump/dumps/load/loads 구분하기

대충 이해하고 쓰다가 오랜만에 소스를 보니 헷갈립니다.개인적으로 정리할 목적으로 글을 남깁니다. json.dumpjson.dumpsdump 계열은 파이썬의 객체(dict 등)를 다른 형태로 변환합니다.dump 함수는 파이썬 객체를 스트림 객체(파일 등)로 변환합니다.dumps 함수는 파이썬 객체를 한줄의(직렬화된) json 문자열로 변환합니다.오류Expecting value: json.loadjson.loadsload 계열은 대상을 파싱해서 파이썬의 객체(dict 등)로 변환합니다.load 함수는 스트림 객체(파일 등)에서 데이터를 읽어 파이썬 객체(dict 등)로 변환해줍니다.loads 함수는 json 문자열을 파싱해서 파이썬 객체로 변환해줍니다.오류Expecting value: line 1 colum..

IT/python 2020.09.07

[python] Popen 을 통해 dict 주고 받기

Popen 을 사용해서 하위 프로세스를 생성하는 구조인데 단순 데이터만 주고 받는 것을 상정하다가 사전 구조인 dictionary 데이터를 주고 받으려니 삽질을 길게 하게 되네요.. from subprocess import Popen, PIPE import json ...(중략)... for proc in self.list: proc = Popen(['python3', proc.name], stdin=PIPE, stdout=PIPE) ...(중략)... for proc in self.list: proc.stdin.write('hi kids\r\n'.encode()) proc.stdin.flush() 원래는 이런 구조였습니다. 하지만 write 하는 곳에서 dict 형태의 데이터를 넘겨야 할 필요가 생겼을..

IT/python 2020.08.12

[openwrt] github clone 시 ssh 방식으로 받도록 설정하기

pc 에서 생성한 8192B rsa 키를 openwrt 의 .ssh 에다 넣고 git clone git@github.com:simryang/vimrc.git 을 실행했더니 권한이 없어서 안된다는 메시지가 출력됩니다.root@wizfi630s:~# git clone git@github.com:simryang/vimrc.git Cloning into 'vimrc'... /usr/bin/ssh: Connection to git@github.com:22 exited: No auth methods could be used. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the r..

IT/System Digging 2020.08.06

시리얼 포트(COM)로 접속시 화면이 이상할 때 확인 사항

시리얼 포트로 터미널을 연결했을 때 화면이 안보이거나 깨지는 증상이 나타나는 경우가 있는데 매번 까먹고 검색에 시간을 허비해서 기록용으로 남겨둡니다.터미널 화면이 아예 나오지 않는 경우정상적으로 연결했고 부팅까지 완료한 경우shell 대기(prompt) 상태라면 Enter 키를 누르거나 아무거나 타이핑해보면 화면에 출력이 나타납니다.시리얼 포트가 2개 이상 연결되었을 경우 정확한 포트 번호를 확인다른 포트 번호 시도장치 쪽에 시리얼 포트가 2개 이상인 경우다른 포트에 시리얼 케이블 연결화면에 ▒▒ 와 같은 모양으로 출력이 깨지는 경우speed(baud 또는 bps) 값을 변경가장 많이 쓰이는 값은 9600 이나 115200이지만 기기 특성에 따라 다를 수 있으므로 값을 바꿔보면서 정상적인 화면을 찾아봐야..

IT/serial 2020.08.05