반응형

분류 전체보기 764

[Python] 정규표현식으로 파일(XML, txt, html) 내용 검색(필터)하기 (re, match, compile, finditer)

목차 이번 포스트에서는 정규표현식(Regex)을 사용해서 텍스트 파일이나 웹문서(html, xml) 파일을 검색(search)해서 필터링(filtering) 하는 방법에 대해 알아보겠습니다. 파일 검색에 필요한 정규표현식 함수 파일 검색에 사용할 정규표현식 함수는 아래와 같습니다. re.compile(정규표현식) re.finditer(compile 출력값, 문장) compile은 정규표현식을 입력으로 받습니다. 그리고 출력된 값을 변수에 저장하고 finditer 함수의 입력값으로 넣어주면 두번째 인자값인 문장에서 해당 정규표현식에 맞는 조건을 찾고 있으면 검색 결과를 출력 해줍니다. 실제 사용 방법은 아래 예제를 통해 쉽게 이해하실 수 있습니다. 미세먼지 데이터파일(XML) 검색하기 예제 예제를 실행하기..

[nCode] ENBW(equivalent noise bandwidth) 란?

목차 실습에 사용하는 소프트웨어는 nCode라는 제품으로 국내에서는 팜테크를 통해 구매하실 수 있습니다. (https://www.famtech.co.kr/main/main.php) ENBW(equivalent noise bandwidth) 란? 가속도 센서(Accelerometer)를 사용해서 측정한 가속도 값을 아래와 같이 시간 도메인으로 확인할 수 있습니다. 해당 값을 FFT(Fast Fourier Transformer) 변환하여 주파수 도메인의 값으로 출력 하려고 하는데 아래와 같이 FFT 설정 화면에서 "ENBW Correction" 이라는 항목을 확인 할 수 있습니다. ENBW란 버퍼에서 발생하는 Discontinuity를 제거하기 위해 사용하는 윈도우(Window)를 주파수 성분에서 봤을 때 ..

[nCode] FFT 출력, 평균, Window, Buffer, Overlap 이란?

목차 분석 도구는 nCode GlyphWorks 를 사용해서 진행합니다. 해당 소프트웨어 구입은 국내에서 팜테크사를 통해서 구매 가능 합니다. (https://www.famtech.co.kr/main/main.php) 이번 포스트에서는 가속도 센서(Accelerometer)에서 측정한 G 값의 시간 도메인 값을 주파수(Frequency)로 변환하면서 사용하는 용어 및 설정에 대해 알아보겠습니다. 주파수 변환은 FFT(Fast Fourier Transformer)로 진행합니다. 전체 구조는 위와 같습니다. 왼쪽에 윈도우창은 시간 도메인에서 측정한 가속도(Acceleration) 값 입니다. 가운데 2개의 창은 주파수 변환 박스로 생각하시면 됩니다. 그리고 오른쪽 두개 윈도우는 주파수 변환을 거쳐서 나온 출..

[Python] RE 모듈로 미세먼지 데이터 필터링하기(정규표현, 특수문자)

목차 미세먼지(PM10, PM25) 정보 가져오기 앞서 포스트에서 미세먼지 정보를 공공 데이터 포털에서 API를 사용해서 가져오는 방법에 대해 알아보았습니다. (https://scribblinganything.tistory.com/530) 상세 내용은 링크를 통해 확인하시면 됩니다. 결과는 아래와 같이 나왔습니다. 이번 포스트는 아래 결과를 사용해서 파이썬에서 제공하는 정규표현 함수 re 함수를 사용해서 원하는 결과를 가져오는 방법에 대해 알아보겠습니다. 미세먼지 결과>> 00 NORMAL_CODE 1 72 0.003 0.4 2 27 2 24 서울 1 2 2022-05-30 08:00 1 0.019 중구 1 0.040 #####생략##### 100 1 40 정규표현라이브러리 RE 기본 사용법(REGEX)..

[Python] 공공데이터포털에서 미세먼지 데이터 가져오기(크롤링, fine dust, API, 파이썬)

목차 이번 시간에는 파이썬을 사용해서 공공데이터 포탈의 API에 접속해서 미세먼지 정보를 가져오는 방법에 대해 알아보겠습니다. API(Application Programming Interface) 란? API란 데이터회사나 웹서버(Web server) 회사에서 제공하는 리모콘과 같은 것입니다. 사용자는 리모콘의 동작 방법을 이해하지는 못하지만 리모콘을 통해서 웹 서버 회사가 제공하는 데이터를 손쉽게 접근할 수 있게 되는 것입니다. 여기서 공공데이터 포탈은 API를 통해 미세 먼지 정보를 손쉽게 제공 합니다. 공공데이터포탈에서 API 요청하기 우선 구글에서 공공데이터포털로 검색하거나 https://www.data.go.kr/ 에 접속합니다. 정부기관 홈페이지므로 go.kr로 끝나는지 꼭 확인하시길 바랍니다..

[전력] 역률이란? VA와 Watt차이 (유효전력, 무효전력, 소비전력)

목차 역률이란? (Power Factor) 발전소에서 전원을 공급할때 발전방식과 효율에 의해 AC (교류)로 전달 됩니다. 아래 그림의 빨간색 선과 같이 전압이 발전소에서 가정으로 공급된다고 생각하겠습니다. 여기서 저항과 같은 일반적인 수동 소자(Passive)를 사용하면 전압(Voltage)과 전류(Current)는 동일 위상을 가집니다. 즉, 빨간색 선과 동일한 사인파가 전류에서도 생깁니다. 여기서 크기만 저항 사이즈에 따라 줄어들게 됩니다. 하지만 많은 전자 제품은 많은 캐패시터(Capacitor)나 인덕터(Inductor)와 같은 능동(Active) 소자로 구성되어 있습니다. 능동 소자의 특징은 아래 2가지만 기억하겠습니다. 1. 인덕터 부하를 통과하면 전류는 전압보다 90도 느려진다. 2. 캐패..

[전력] 상간 전압, 선간 전압 (벡터 계산, 루트3, Phase, Line, Voltage)

목차 상간 전압(Phase Voltage)이란? 선간 전압(Line Voltage)란? 장비를 설치하다 보면 공급 전력에 대해 얘기를 해야합니다. 여기서 전력이 root3에 의해 계산 되는 것을 보고 어떻게 전력이 root(3)을 곱해서 나오는지를 알아보는 과정에서 상간 전압, 선간 전압에 대해 알아보게 되었습니다. 우선 이번 포스트에서는 상간 전압, 선간 전압에 대해 알아보고 다음 포스트에서는 역률에 대해 알아보고 최종적으로 3상 전원에서 전력 계산하는 방법에 대해 알아보겠습니다. 위 그림과 같이 발전소에서 전원을 생산하면 발전소의 모터 효율과 동작에 의해 3개의 라인으로 전원을 공급하게 됩니다. 그림의 왼쪽 부분이 발전소 부분이고 빨간색, 파란색, 녹색 발전기 각 각에서 전원을 만들어 냅니다. 발전기..

[아두이노] 파이썬 threading timer 로 주기적으로 LED 켜고 끄기(타이머, 인터럽트, Interrupt)

목차 [Arduino] Python threading timer 함수 이번 포스트에서는 파이썬의 스레딩(Threading)의 타이머(timer) 함수에 대해 알아보겠습니다. 타이머의 말 자체가 알려 주듯이 타이머는 정해진 시간(Time)이 지났을 때 사용자가 원하는 동작을 하게 도와주는 함수 입니다. Syntax는 아래와 같습니다. 인스턴스명 = threading.Timer(타이머시간, 실행시킬함수명) 인스턴스명.daemon = True 인스턴스명.start() 입력 값에 타이머 시간은 시간 단위이고 밀리초 (mili second)는 소수점 형식으로 표기하시면 됩니다. 실행 시킬 함수 명은 타이머가 시간이 되었을 때 구현할 함수 명을 입력 하시면 됩니다. 리턴 값을 인스턴스(Instance)에 입력 하시..

[아두이노] 파이썬 threading 함수로 통신하기 (threading, target, daemon

목차 [Arduino] 파이썬 threading 함수 사용법 thread 는 실이라는 의미가 있습니다. 파이썬(Python)에서 threading(쓰레드, 드레딩) 이란 CPU 칩이 여러개의 실로 구성되어 있고 한 줄 한줄 다른 일을 처리할 수 있는 것입니다. 일반적으로 코드를 작성하면 위에서 아래로 순차적으로 진행되는 데 하나의 작업이 진행되는 동안 다른 작업을 실행할 수 없습니다. 하지만 thread 를 사용하면 2개 3개 멀티플(Multiple) 한 동작을 동시에 할 수 있게 됩니다. threading 함수에서 사용하는 주인자는 2개 입니다. target : threading으로 동작 시킬 함수를 연결합니다. daemon : True 일 경우 메인 프로그램이 종료 시 threading 함수도 종료 ..

[아두이노]파이썬 Pyserial로 아두이노 문자, 실수, 정수 값 읽기(수신하기, 송수신, 통신)

목차 Arduino에서 보낸 값 컴퓨터에서 읽기: 실행 방법 앞서 포스터에서 PC에서 Pyserial로 명령을 보내었고 아두이노에서 해당 명령을 읽어서 LED를 켰다가 끄는 예제를 구현하였습니다. (https://scribblinganything.tistory.com/524) 이번 포스트에서는 아두이노에서 주기적으로 문자열(String), 정수(Integer), 실수(Float) 값을 컴퓨터로 송신하고 (USB 케이블로 시리얼통신 사용) 노트북은 해당 값을 읽어서 출력하는 예제를 실행합니다. 파이썬(Python)에서 송신하는 메세지를 출력하기 위해서는 파이썬에서 아래의 함수 사용이 필요 합니다. 1. readline 함수 : "\n" 엔터키(다음줄)가 들어올때까지의 버퍼에 저장된 데이터를 읽어 옵니다. ..

반응형