전체 288

아두이노를 위한 I2C 통신 알아보기

I2C 통신의 정의 아두이노 및 MCU를 사용하다 보면 한 번쯤 접하게 되는 단어 중에 I2C(Inter-Intergrarted Circuit) 라는 단어가 있다. 이것은 기기 제조사들 간에 미리 약속된 데이터 통신 규격이며, 전원을 제외한 2개의 선으로 기기간에 통신을 할 수 있게 해 둔 '통신 프로토콜' 이다. 위의 그림은 I2C 통신을 위한 배선을 그린 그림이다. I2C 통신은 마스터 기기와 슬레이브 기기가 존재한다. 이 둘은 클럭 데이터를 기준으로 동기화되어 통신이 이루어진다. 마스터 기기는 슬레이브 기기와의 통신으로 슬레이브 기기를 제어할 수 있으며, 슬레이브 기기는 하나 이상의 마스터 기기와 통신이 가능하다. 슬레이브 기기는 각자의 주소값을 가지며, 최대 1008개까지 지원한다. 하지만 실제로..

그린카 사고 처리 후기

그린카 사고 발생 얼마전에 무거운 물건을 옮기고 가야 할 일이 있어서 그린카 서비스를 이용했다. 일주일 정도를 계속 운전했는데, 마지막으로 운전할 때 주차 도중에 그만 실수를 하고 말았다. 바로 백미러를 손상시킨 것이다. 가뜩이나 귀찮은 일도 많은데 살이 단단히 낀 것 같다. 백미러를 깨는 순간 옆에 있던 사람들도 쳐다보고 참 고개들기 부끄러웠다. 여튼 사고는 냈으니 바로 그린카 고객센터에 전화를 해서 사고접수를 했다. 상황이 항상 다르겠지만, 상담원이랑 전화를 하기까지는 5분 정도 걸렸던 것 같다. 명절이나 주말에 사고를 내는 것은 되도록 피하는 것이 좋아 보인다. 다행히도 나는 그린카 반납 공간에 주차를 하다 사고를 낸 거라서 견인할 필요는 없었다. 만약 사고가 나서 주행할 수 없는 경우라면, 추가적..

갤럭시노트10+ PD충전기 호환 테스트

갤럭시노트 PD충전기 구매 갤럭시노트10+를 구매하면서 알게 된 사실이 노트10+는 45와트 pd충전을 지원한다는 사실이였다. 기존에 쓰던 15와트 충전기는 오래되고 충전도 다른 기기에 비해 상대적으로 느리다고 생각해서 이참에 PD충전기를 구매해 보기로 했다. 노트북도 PD충전을 지원한다고 해서 나름 기대했다. 갤럭시노트10+ 의 45와트 충전은 삼성 정품 충전기만 지원한다고 하길래, 스마트폰 충전이 목적이였던 나는 삼성 정품 충전기를 바로 질렀다. 간단히 보면 최대출력 45와트를 가지는 충전기이다. 충전기 본체는 기존에 있던 15와트 충전기의 3배 정도 되는 무게를 가지며, 분리형 케이블을 채택했다. 케이블은 c타입-c타입 이다. 다른 케이블에 비해 상대적으로 두꺼웠다. 충전기는 약 2.5~3만원 선에..

파이썬과 Firebase 연동하기

Firebase는 구글에서 출시한 데이터베이스 프로그램이다. 이것의 특징은 간단한 사용법, 구글의 생태계 안에서(일부 외부 프로그램 포함) 상당히 자유로운 사용범위, 데이터 분석 및 머신러닝 등 다양한 부가 기능 제공이 있다. 구글에서는 파이썬에서도 Firebase를 이용하여 통신 및 데이터 수정을 할 수 있도록 해 두었다. 파이썬을 이용하여 Firebase랑 연동하는 법을 알아보자. 파이썬과 Firebase 연동을 위한 사전 작업 파이썬에서는 fireabse_admin 이라는 패키지를 먼저 설치해야 한다. 각자 개발 환경에 따라서 설치를 진행해 주자. - 아나콘다 conda activate 가상환경 pip install firebase_admin pip3 install firebase_admin - 리..

윈도우10 시간 설정

윈도우10 운영체제에서의 시간은 운영체제를 설치할 때 설정한 시간대로 유지가 된다. 하지만 가끔씩 예상치 못한 원인으로 인해 시간대가 달라지는 경우가 있다. 이러한 원인은 바이오스 쪽의 변경된 설정이 주 원인이다. 메인보드의 전지의 수명이 다한 경우에도 이러한 현상이 있을 수 있다. 나의 경우에는 우분투와 듀얼부팅을 설정하게 된 시점부터 우분투를 사용하다가 윈도우로 넘어오면 시간이 달라지는 오류가 생겼다. 이제 간단히 윈도우10 에서의 시간을 바꾸는 설정법을 알아보자. 시간 변경하는 법 시간을 변경하는 법은 간단하다. Windows 설정 -> 시간 및 언어 항목에서 세부 사항을 설정할 수 있다. 나의 경우에는 시계 동기화를 이용해 인터넷에서 시간을 불러온다. 하지만 오프라인 컴퓨터 또는 시간을 따로 맞추..

IT 이야기 2020.07.22

안드로이드에서 XML 데이터 파싱하기

공개된 공공데이터 (날씨 정보 및 버스 정보 등) 를 이용하기 위해서는 데이터를 분석하고 분류할 줄 알아야 한다. 이러한 데이터의 형식은 여러 가지가 있지만 주로 XML 데이터를 이용한다. 안드로이드에서는 기본적으로 XML을 분류하고 처리할 수 있는 기능을 제공한다. XmlPullParser라고 되어 있는 기능이 있다. 아래 사이트에 가면 이것에 대한 내용이 나와 있다. https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser 비슷한 기능으로 jsoup이 있으나 공공데이터를 파싱하여 분류하기에는 적합하지 않다. 기본적으로 탑재되어 있는 기능을 사용하는 것이 매우 좋다. 내가 공공데이터를 이용할 때 사용했던 코드가 있다. 예시 코드를 살펴보..

파이썬으로 일정한 시간마다 동작 수행하기

파이썬을 사용하다 보면 특정 시간마다 수행하게 해야하는 동작들이 있다. 이러한 동작을 실행하기 위해서 파이썬에서는 이것을 위해 라이브러리를 제공한다. 여기서는 2가지 방법을 말할 것이다. 하나는 쓰레딩을 쓰는 것이고, 나머지 하나는 스케줄을 사용하는 것이다. 쓰레드 패키지 이름은 threading 이다. pip 또는 아나콘다를 이용하여 threading 을 설치해 두어야 한다. 예제를 살펴보자. 1 2 3 4 5 6 7 8 9 10 11 12 import time import threading #함수 정의, 함수 내부에 threading 정의 def printhello(): print("Hello!") #threading을 정의한다. 5초마다 반복 수행함. threading.Timer(5, printhe..

안드로이드 개발환경 설치하는 법

안드로이드 어플리케이션을 개발할 때 필요한 도구는 안드로이드 스튜디오, 이클립스 등이 있다. 구글에서 안드로이드 스튜디오라는 통합 개발환경을 출시하기 전에는 이클립스에서 개발을 했으나, 현재 인텔리제이를 기반으로 한 안드로이드 스튜디오를 출시함에 따라 개발 환경이 더욱 편해졌다. 간단한 안드로이드 어플을 개발하기 위해선 무엇을 해야 할까? 어플을 개발하기 위한 초기 세팅값을 알아보자. 간단한 순서부터 먼저 알아보자. 1. 안드로이드 스튜디오 설치하기 2. 어플 실행을 위한 AVD 및 스마트폰 연결 설정하기 내 컴퓨터에서는 어플을 디버깅 할 경우에 버추얼 머신에서만 돌릴 것이다. 왜냐하면 램이 32GB로 넉넉하기 때문이다. 하지만 램이 부족한 컴퓨터에서는 디버깅 시에 스마트폰에서 실행하는 것이 훨씬 자연스..

한성 올데이롱 TFX255S 후기 (3)

한성 올데이롱 노트북을 사용한 지도 한달이 거의 다 되어 간다. 이 노트북 덕분에 최근 한달 안에 많은 것을 할 수 있었다. i5-10210U를 탑재한 덕분에 빠른 문서 작업이 가능했으며, 이동 시에도 가벼운 무게 덕분에 어디서는 작업이 가능하게 되었다. 마지막으로 15인치의 큰 화면 크기에도 불구하고 크기는 줄어들어서 부피를 적게 차지했다. 그 이외에 사용하면서 느꼈던 점을 적어 보았다. 1. 500GB의 넉넉한 SSD 용량 이전에 사용한 노트북은 250GB의 SSD를 사용하고 있었다. 하지만 이것조차도 용량이 부족할 떄가 있다. 하지만 이 노트북은 500GB의 SSD를 기본 탑재하여 저장 공간의 여유가 늘어났다. 이 노트북의 가장 큰 장점은 용량이 아닐까 싶다. 2. 있으나 마나 한 키보드 백라이트 ..

파이썬 개발환경 설정하기

파이썬을 개발할 경우에는 자신이 무엇을 하느냐에 따라 적합한 개발환경이 달라진다. 나의 경우에는 Jetbrain 사의 파이참+아나콘다 조합을 이용 중이다. 파이참은 떠오르는 파이썬 개발 환경이고 아나콘다는 데이터 사이언스에 필요한 패키지를 모아둔 프로그램이다. 정말로 특별한 분야에 대한 코딩이 아닐 경우에는 대부분의 패키지는 아나콘다에서 받을 수 있다. 기본적인 원리를 알아보자면, 아나콘다에는 패키지가 담긴 환경을 여러 개 만들 수 있다. 이 환경을 파이참에서 끌어와서 사용할 수 있게 한다. 간단한 원리를 알아보았으니, 개발 환경을 꾸며 보자. 아나콘다 설정 아나콘다 설치부터 하자. 개인용 무료 최신 아나콘다는 아래 사이트에서 설치할 수 있다. https://www.anaconda.com/products..