2020/08
라즈베리파이4 cffi 에러 ERROR: Failed building wheel for cffi on Raspberry Pi Model 4
2020. 8. 27.아래와 같이 라즈베리 파이 4 에서 cffi 라이브러리 설치시 ERROR: Failed building wheel for cffi 가 발생하는 경우에는 다음과 같이 처리한다. ciffi 는 libffi 에 의존한다. 따라서 다음과 같이 먼저 libffi-dev 패키지를 설치해야 한다. 사용하고 있는 배포판에 따라 패키지는 다소 상이할 수 있다. (env) pi@raspberrypi:~/GC-IoT_Python_example/example $ sudo apt install libffi-dev 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다: rpi-eeprom-images Use 'su..
라즈베리파이 구글 클라우드 IoT 연결하기 Rapid Hardware Prototyping: Connect Your Raspberry Pi to Google Cloud IoT
2020. 8. 27.여기서 구글 클라우드 계정 생성, API 접속, 라즈베리 파이 구글 클라우드 IoT 연결에 대해 학습하고, 간단한 파이썬 스크립트를 실행하여 데이터가 클라우드로 제대로 전송되고 돌아오는지 알아본다. 그리고 간단한 데모를 만들어본다. 버튼을 누르면 메시지, LED 상태, 그리고 시간으로 구성된 원격데이터를 구글 클라우드로 보내게된다. 그리고 구글 클라우드에서 장치 상태 데이터를 변경하여 라즈베리 파이에 연결된 2개의 LED 를 껐다가 켜는 데모를 진행해본다. Step #1: Create a Google Cloud account 먼저 구글 클라우드 계정을 생성하고, 클라우드 콘솔로 진입한다. Google Cloud IoT Core 사용을 선택하여 활성화한 후 라즈베리 파이를 위한 레지스트리를 생성한다. 레지..
VNC를 통해서 라즈베리 파이로 파일 전송하기 Transferring files to and from your Raspberry Pi
2020. 8. 26.윈도우, 맥 또는 리눅스 데스크탑에서 VNC 뷰어를 통해 연결한 라즈베리 파이로부터 파일을 가져오는 방법에 대해 알아본다. 먼저 라즈베리 파이로 파일을 보내고자 하는 경우 스크린 상단 중앙에 위치한 VNC 뷰어의 툴바 버튼 중 아래와 같이 Transfer files 버튼을 클릭한다. 그리고 라즈베리 파이로부터 파일을 가져오고자 하는 경우에는 우측 상단의 VNC Server 아이콘을 클릭해서 진행한다. Send files 버튼을 눌러서 전송할 파일을 선택한다. 파일을 선택한 뒤 OK 버튼을 눌러 전송한다. 전송이 완료되었다. 윈도우 바탕화면에 정상적으로 다운로드된 것을 확인할 수 있다. 더욱 자세한 내용은 다음 링크를 참조한다. https://help.realvnc.com/hc/en-us/articles/..
라즈베리파이 Cannot Currently Show the Desktop' 에러 How to Fix Raspberry Pi's 'Cannot Currently Show the Desktop' Error
2020. 8. 26.VNC 를 사용하여 리모트로 라즈베리 파이에 접속할 때 다음과 같이 검정 스크린에 “Cannot currently show the desktop” 에러가 발생하는 경우가 있다. 스크린 해상도 변경 명령창에서 해상도를 변경함으로써 문제가 해결될 수도 있다. 먼저 raspi-config 를 로딩한다. pi@raspberrypi:~ $ sudo raspi-config 옵션중 7 Advanced Options → Resolution 선택한다. A5 Resolution 옵션을 선택하여, 해상도를 지정한다. 최소한 1280 x 720 이상을 선택한다. 여기서는 1920 x 1080 을 선택했다. 재부팅 후 VNC 로 접속해보면 다음과 같이 정상적으로 스크린이 뜨는 것을 확인할 수 있다. https://www.ras..
오시마 노부요리, 오늘도 중심은 나에게 둔다 - 스스로에 대한 부정적인 메시지가 감지되면 이것은 '자신의 생각'이 아닌 '타인의 암시'라고 생각해버립시다
2020. 8. 20.집을 정리한다고 상상해봅시다. 필요한 물건인가, 필요없는 물건인가를 일일이 따지면서 골라내다 보면 끝이 없습니다. 차라리 '다 필요없어' 하고 치워버리는 것이 더 간단하게 집을 깨끗하고 상쾌하게 만드는 방법입니다. 스스로에 대한 부정적인 메시지가 감지되면, '뇌 네트워크를 통해 암시가 걸리고 있어!'라고 받아들이고, 이것은 '자신의 생각'이 아닌 '타인의 암시'라고 생각해버립시다. 이런 암시들은 하나같이 지배하는 사람의 상황을 편하게 만드는 내용입니다. 그럴 때 스스로에게 반대되는 암시를 걸면 손쉽게 '지배받지 않는 자신'을 만들 수 있습니다. 사실 사람들을 만나며 '난 역시 안 돼'라고 느끼는 것은 실제로 자신의 능력이 부족하기 때문이 아니라, 타인의 내면에 있는 자기부정감을 뇌 네트워크를 통해 전달받..
켈리 맥고니걸, 움직임의 힘 - 운동은 뇌에서 반보상 체계를 되돌리고 무기력해진 보상 체계를 되살린다
2020. 8. 20.어떤 물질이 기분을 좋게하는 화학물질을 순식간에 다량 분출하면 뇌의 항상성 기제 homeostatic mechanisms 가 작동되기 때문이다. 뇌는 신경화학의 균형을 유지하기 위해 약물의 효과를 벌충하려고 든다. 그 일환으로 뇌의 반보상 체계 anti-reward system 를 활성화시킨다. 그러면 기분을 좋게하는 화학물질의 효과가 약화된다. 반보상체계는 뇌에서 도파민이나 엔도르핀 수치가 비정상적으로 높아졌을 때 처음 활성화된다. 극도의 흥분을 낮추려는 것이다. 욕조물이 넘치려 할 때 배수구 마개를 뽑는 것과 같다. 그런데 약물을 습관적으로 복용해서 반보상 체계를 자꾸 활성화시키면, 약물을 복용하지 않을 때도 반보상 체계가 활성화된 상태로 있게 된다. 극도로 흥분된 상태에 자주 놓이게 된 뇌는 선제적..
다니엘 에이멘, 공부하는 뇌 - "그럼 어떻게 될까?"라고 부르는 전략
2020. 8. 20.새로운 습관을 유지하는 데 필요한 간략한 전략이 있다. 내가 "그럼 어떻게 될까?"라고 부르는 전략이다. 이것은 학생으로서 성공하기위한 가장 강력한 질문이다. 이런 행동들이 내 목표를 이루는데 도움이 될까? 행동하기 전에 행동의결과에 대해 먼저 생각해보자. 공부방법의 예비단계 간단하게 복습하고 넘어가자 공부할 단위를 정하고 공부하자 고쳐쓰기로 이해를 돕자 - 제대로 쓰이지 않아 이해하기 어려운 문장을 만나면 그 문장을 자기만의 방식으로 고쳐보자. 이렇게 하면 핵심 내용을 더 오래 기억할 수 있다. 학습자료의 내용을 확실히 이해하고 넘어가자 배운 내용을 응용하자 토대를 강화하자 노트 필기의 프로가 되자 올바른 도구에 투자하자 읽을 수 있게 필기하자 - 글씨를 간신히 읽을 수 있을 정도로 작거나 읽기 불가능..
찰리 길키, 빅워크 - 우리는 이 공간들을 정말 중요한 일들로 채워야 한다. 그것이 바로 대체가 선물인 이유다
2020. 8. 19.프로젝트라는 단어를 사용하는 이유 단순히 성공을 열망하는 것에서 실제 빅 워크를 하는 단계로 넘어가기 위해서는, 중요한 아이디어들을 삶의 단계별 프로젝트로 전환하는 작업이 필요하다. 나는 이미 하고 있거나 하려고 계획중인 다른 프로젝트들과 명확히 구분하기 위해 이런 종류의 프로젝트를 빅 워크 프로젝트라고 부른다. 프로젝트라는 단어를 사용하는 이유는 막연한 부담감을 명료함으로 바꾸기 위해서이다. 용기근육을 키워라 우리가 소수의 목표와 프로젝트에 자원을 집중하지 않는 이유는 우리가 이 프로젝트가 성공하리라는 확신이 없는 탓에 혹시 모를 위험을 줄이고 싶기 때문이다. 그 결과, 프로젝트를 성공시키기에 너무 적은 자원을 투입하게 되고, 그 자원은 조금씩 수많은 프로젝트에 분산된다. 만약 위험을 고려하지 않는다면..
판다 데이터프레임 합치기 concat(), merge(), merge_asof() Joining DataFrames in Pandas
2020. 8. 8.대부분의 경우 데이터는 다수의 소스나 파일로부터 나오므로, 데이터프레임을 합치는 작업은 아주 중요한 작업 중 하나로, 여기서는 Pandas 라이브러리를 사용하여 복수의 데이터프레임을 병합하는 방법에 대해 살펴보자. Concatenate DataFrames 먼저 pandas 라이브러리를 임포트한다. import pandas as pd 파이썬 딕셔너리로 샘플로 사용할 데이터프레임을 다음과 같이 만든다. dummy_data1 = { 'id': ['1', '2', '3', '4', '5'], 'Feature1': ['A', 'C', 'E', 'G', 'I'], 'Feature2': ['B', 'D', 'F', 'H', 'J']} 딕셔너리 dummy_data1 의 키는 컬럼명이고 리스트의 값들은 각각의 행에 대응..
np.random.seed 란 무엇인가?
2020. 8. 8.np.random.seed(0) 은 난수를 예측가능하도록 만든다. 다음의 예를 보자. np.random.seed 를 사용하면 다음과 같이 동일한 셋트의 난수가 나타나게 된다. import numpy as np np.random.seed(0) ; np.random.rand(4) array([0.5488135 , 0.71518937, 0.60276338, 0.54488318]) np.random.seed(0) ; np.random.rand(4) array([0.5488135 , 0.71518937, 0.60276338, 0.54488318]) 하지만 random seed 가 리셋되지 않으면, 다음과 같이 매번 서로 다른 수가 나타나게 되는 것이다. np.random.rand(4) array([0.423654..
Numpy linspace 함수 살펴보기 numpy.linspace() in Python
2020. 8. 8.NumPy linspace 함수는 숫자로 된 시퀀스를 생성하는 툴로, NumPy arange 함수와 유사하지만, Numpy array 로 구성된 균등한 간격을 둔 시퀀스를 생성한다. 시작점과 종점을 정하고, 해당 간격내(시작점과 종점 포함)의 브레이크포인트의 총 갯수를 정하면, np.linspace 함수는 해당 간격내에 일정한 간격을 둔 브레이크포인트 갯수만큼의 시퀀스를 반환하게 된다. 간단하게 다음과 같은 경우를 생각해보자. import numpy as np np.linspace(start = 0, stop = 100, num = 5) array([ 0., 25., 50., 75., 100.]) 위 코드는 다음과 같은 Numpy Array (ndarray object) 를 생성한다. 해당 범위내에 nu..
조코 윌링크, 네이비씰 승리의 기술 - '어떻게 할까요?'라고 묻지 말고 '이것을 하겠습니다'라고 말하라
2020. 8. 3.각 지휘관은 조직 전체의 목표에 부합하는 지도력을 발휘하고 결정을 내려야 했다. 우리 기동대에서 '제가 뭘 해야 합니까?'라고 묻는 것은 금지됐다. 그 대신 '제가 하려는 것은 이겁니다.'라고 말해야 했다. 나는 자명종을 3개 가지고 있었다. 전기 코드식, 배터리 충전식, 태엽식이 하나씩 있었다. 그러면 잠에서 깨지 않을 도리가 없었다. 이렇게까지 한 것은 아침 기상 순간이야말로 그날 하루의 모든 것을 좌우하는 '결정적 순간'이기 때문이다. 알림이 울리는 순간 첫 번째 시험대에 든다. 복잡하지는 않지만 강력한 시험이다. 침대에서 일어날 것인가, 아니면 그냥 누워 다시 잠들 것인가를 선택해야 한다. 아주 작은 일 같지만 나약함은 훨씬 더 중요한 순간에 똑같이 나타난다. 규율이 몸에 배여 있으면 인생의 많은..
루이스 헤이, 삶에 기적이 필요할 때 - 바뀌기 원하는 것마다 일일이 확언을 하면서 믿기 시작했습니다
2020. 8. 2.통증을 일으키는 진짜 원인인 '생각과 신념'을 치유하기 위해서는 통증과 직면해야 합니다. 통증을 다루는 한 가지 방법은 그 상황에 대한 자신의 인식을 바꾸는 것입니다. 예를 들어, 팔목이 아프다는 사실에 초점을 맞추기 보다는, 팔목에 수많은 감각이 있다는 점에 주목하려는 것입니다. 앞으로 한 달간 여러분이 자신의 중독에 대해 생각할 때마다 "나는 나 자신을 인정한다"라고 반복해서 말해보세요. 하루에 3, 4백번 정도 연습해보세요. 많다고요? 결코 그렇지 않답니다. 왜냐하면 여러분이 걱정할 때마다 자신의 중독에 대해 생각하는 횟수가 하루 3, 4백번은 족히 넘기 때문입니다. "나는 나 자신을 인정한다"라는 확언을 내면을 깨우는 만트라가 되게 하세요. 쉬지 않고 자신에게 계속해서 이 말을 반복해주세요. 나는..
니르 이얄, 초집중 - 4부: 계약으로 딴 짓을 방지한다
2020. 8. 2.22. 사전 조치의 힘 조너선 프랜즌 Jonathan Franzen 은 집중력을 유지하기 위해 과격한 방법도 마다하지 않는다. 2010년 지에 실린 기사에 따르면, 인터넷에 연결된 PC 로는 진지한 소설을 쓸 수 없다고 믿는 프랜즌은 델의 무선 인터넷 카드를 제거한 것은 물론 유선 인터넷 포트도 다시는 못 쓰게 막아버렸다. Franzen works in a rented office that he has stripped of all distractions. He uses a heavy, obsolete Dell laptop from which he has scoured any trace of hearts and solitaire, down to the level of the operating system...
니르 이얄, 초집중 - 3부: 외부 계기를 역해킹한다
2020. 8. 1.13. 결정적 질문을 한다 딴짓과의 싸움에서 상당 부분은 외부 계기와의 싸움이다. 아무리 잠재적 이점이 있다고 해도 외부 계기가 너무 많으면 생산성과 행복에 큰 악영향을 미칠 수 있다는 점이다. 그렇다면 좋은 외부계기와 나쁜 외부계기는 어떻게 구별할 수 있을까? 그 비결은 다음과 같은 결정적 질문에 답하는 것이다. 이 계기가 나를 지원하는가, 지배하는가? 14. 인적 방해 역해킹 15. 이메일 역해킹 우리는 왜 이메일에 자꾸 손이 갈까? 이유는 세가지다. 1) 이메일은 가변적 보상을 제공한다. 이메일의 불확실성은 우리를 자꾸 확인하게 만든다. 그래서 우리는 기대감에서 오는 불편을 해소하기 위해 끊임없이 새로고침 버튼을 클릭하거나 화면을 아래로 당긴다. 2) 우리는 받은 대로 보답하려는 심리가 강하다. 이..
니르 이얄, 초집중 - 2부: 본짓을 위한 시간을 확보한다
2020. 8. 1.9. 가치관을 시간으로 전환한다 사람들은 재산을 검소하게 지키면서도 마땅히 인색해야할 시간에 대해서는 극심한 낭비벽을 보인다 - 세네카 내가 내 하루를 계획하지 않으면 다른 사람이 대신할 것이다. 그러면 일정 수립은 대체 어디서부터 시작해야하는 것일까? 흔히 쓰는 방법은 할 일 목록을 만드는 것이다. 우리는 하고 싶은 일을 쭉 나열하고 하루 동안 적당한 시간이 생기길 바란다. 하지만 해본 사람은 알겠지만 많은 항목이 오늘에서 내일로, 그리고 다시 모레로 이월된다. 따라서 '무엇'을 해야하는지가 아니라 '왜' 해야 하는지에서 출발해야 한다. 그러기 위해서는 먼저 자신의 가치관을 확인할 필요가 있다. 가치관 = "어떤 사람이 되고 싶은지, 무엇을 지키고 싶은지, 주변 세상과 어떻게 교류하고 싶은지"가 반영된..