강좌 150

맥(OSX)에서 nodeMCU, Wemos D1 환경 설정하기

맥 OSX에서 nodeMCU와 Wemos D1 환경 설정하기 조대협 (http://bcho.tistory.com) 아두이노 우노로 아두이노 개발을 시작하고 서버 통신을 위해서 ESP8266 계열인 ESP01 칩을 사용했는데, ESP01은 연결도 까다롭고 소프트웨어 시리얼을 사용해서 SDK를 찾기 어려운점도 있었다. 개발하고자 하는 내용이 대부분 서버와 통신을 하는 부분이기 때문에, 보드를 우노에서 ESP8266 을 메인 MCU로 하는 보드로 변경하였다. 후보군으로 올른것이 nodeMCU v2와 Wemos D1 보드이다. nodeMCU의 경우에는 크기가 작고 성능이 뛰어날뿐 아니라, 널리 사용되는 보드이기 때문에, SDK나 예제를 구하기 쉬울것이라고 생각하였고, Wemos D1은 ESP8266을 포함하고 ..

라즈베리 파이 호환 보드 조사

라즈베리 파이 호환 보드 조사 라즈베리 파이를 구입해놓고 보니 단순한 소형 리눅스 머신이나. IO를 위한 GPIO 포트가 있는것 빼고는 크게 다르지 않다. 아두이노 시리즈도 호환 보드가 있는것 처럼, 라즈베리파이도 호환 보드가 있을것으로 생각하고 찾아보니 당연히 있다.Orange PI 우분투,Debian, 라즈베리 파이 이미지 실행 가능 이름CPU/GPU메모리디스크가격오렌지 파이 PC+1.6Ghz 4 core600Mhz GPU (OPEN GL ES)1G8G Flash37500오렌지파이 PC264bit 4 core, GPU 내장1G2MB Flush40000오렌지파이 라이트4 core, 600MHz GPU512M 25000 Banana PI 국내에서는 판매하는 곳이 많지 않고, 알리바바나 아마존을 통해서 구..

Esp01 (esp8266) + 아두이노를 이용해서 HTTP 통신 하기

ESP01 (ESP8266)을 이용한 HTTP 통신 조대협 (http://bcho.tistory.com) 하드웨어 시리얼과 소프트웨어 시리얼앞의 글에서 ESP01을 연결해봤는데, ESP01 연결시에 포트를 2,3번 포트를 사용하고, 코드는 SoftSerial 라이브러리를 이용하였다. 아두이노 우노의 0,1 번포트는 시리얼 통신을 위한 RX,TX 포트이다. 이를 Hardware Serial 이라고 한다. 그러면 하드웨어 시리얼 포트를 사용하지 않고 2,3번 포트를 사용한 후에 소프트웨어 시리얼 처리를 한 이유는 무엇을까? 하드웨어 시리얼 포트는 PC와 연결되어 있을때 PC와 통신을 목적으로 사용된다. 그래서 하드웨어 시리얼을 사용하지 않은것인데, ESP8266 관련 라이브러리들을 살펴보니, 대부분 하드웨어..

ESP01 (ESP8266) 사용하기

아두이노 ESP01 모듈 사용하기 조대협 (http://bcho.tistory.com) 아두이노 WIFI 모듈 아두이노 WIFI 모듈은 여러가지가 있는데, 아두이노용으로 나온 와이파이 실드의 경우에는 가격이 비싸다. (아두이노에서 WIFI 연결하는 방법은 http://bcho.tistory.com/1280 자료 참고) 그래서 가장 범용적으로 사용되는 칩셋은 ESP8266 칩셋인데, ESP8266 칩셋으로 나온 보드는 여러가지가 있다. ESP01~ESP14 모듈등이 있고, 조금더 사용이 편한 모듈로는 nodemcu와 같은 모듈이 있다. ESP8266 모듈 시리즈 https://en.wikipedia.org/wiki/ESP8266오늘 다루는 모듈은 이중에서 가장 저렴한 ESP01 모듈이다. 아두이노에서 이모..

서보 모터 제어

서보 모터 컨트롤 하기 아두이노에서 컨트롤 할 수 있는 모터중 한 종류인 서보 모터를 제어해봤다.서보 모터는 (Servo Motor) DC 모터와는 다르게 정밀한 컨트롤이 가능한 모터이다.정확한 각도나 속도로 회전을 할 수 있다. 테스트에 사용한 모터는 저렴한 서보 모터를 사용했는데, 그래서 그런지 90도, 180도로 각도를 돌려봐도 정확하게 90도, 180도로 돌지는 않았다. 서보 모터는 종류에 따라서 180도만 회전하는 모터, 360 회전하는 모터등으로 최대 회전 각이 다르다. 이런 모양으로 생겼는데, 붉은 선은 5V, 갈색선은 GND, 오렌지 선이 컨트롤 선이다.이 선을 아래 그림과 같이 9번 핀에 연결하였다. 그리고 아래와 같은 예제 코드를 사용하였다. #include Servo servo;int..

쿠버네티스 #19 - 보안(4/4) Pod Security Policy

쿠버네티스 #19보안 4/4 - Pod Security Policy조대협 (http://bcho.tistory.com) SecurityContext가 컨테이너나 Pod의 보안 기능을 정의 하는 것이라면, Pod Security Policy (이하 PSP)는 보안 기능에 대한 정책을 정의 하는 것이다.예를 들어, 정책으로 Pod를 생성할때는 반드시 root 사용자를 사용하지 못하도록 강제한다던지, Privileged 모드를 사용못하도록 강제할 수 있다. 현재는 (2018년9월1일) 베타 상태이기 때문에 다소의 기능 변경이 있을 수 있음을 염두하고 사용하도록 하자. 개념개념이 복잡하기 때문에 먼저 기본적인 개념을 이해한 후에, 각 상세를 살펴보도록 하자. 먼저 아래 그림을 보자 PSP는 생성후에, 사용자에게..

쿠버네티스 #16 - 보안 (1/4) 계정 인증과 권한 인가

쿠버네티스 #16 보안 1/4 - 사용자 계정 인증 및 권한 인가조대협 (http://bcho.tistory.com) 이번글 부터는 몇회에 걸쳐 쿠버네티스 계쩡 인증,인가, 네트워크등 보안에 관련된 부분을 알아보도록 하겠다.모든 시스템이 그렇듯이, 쿠버네티스 역시 보안이 매우 중요하다. 쿠버네티스는 보안에 관련된 여러가지 기능을 제공하는데, 각각에 대해서 살펴 보도록 하자사용자 인증 및 권한 관리인증과 인가 (Authentication & Authorization)먼저 인증과 인가에 대한 개념에 대해서 이해 하자 인증(Authentication)은 사용자가 누구인지를 식별하는 것이다. 흔히 생각하는 사용자 로그인을 생각하면 된다. 인가는 인증된 사용자가 해당 기능을 실행할 수 있는 권한이 있는지를 체크하..

쿠버네티스 #15 - 모니터링 (3/3) 구글 스택드라이버를 이용한 쿠버네티스 모니터링

쿠버네티스 #15모니터링 3/3 구글 스택드라이버를 이용한 모니터링조대협 (http://bcho.tistory.com) 구글 클라우드 쿠버네티스 스택드라이버 모니터링쿠버네티스 모니터링 시스템을 구축하는 다른 방법으로는 클라우드 서비스를 사용하는 방법이 있다. 그중에서 구글 클라우드에서 제공하는 스택 드라이버 쿠버네티스 모니터링에 대해서 소개하고자한다.https://cloud.google.com/monitoring/kubernetes-engine/ 현재는 베타 상태로, 구글 클라우드 쿠버네티스 서비스 (GKE)에서만 지원이 되며, 쿠버네티스 버전 1.10.2 와 1.11.0 (또는 그 상위버전)에서만 지원이 되고, 모니터링 뿐 아니라, 쿠버네티스 서비스에 대한 로깅을 스택드라이버 로깅 서비스를 이용해서 함..

쿠버네티스 #13 - 모니터링 (1/2)

쿠버네티스 #13 모니터링 1/2 조대협 (http://bcho.tistory.com) 시스템을 운영하는데 있어서 운영 관점에 있어서 가장 중요한 기능중의 하나는 시스템에 대한 모니터링이다. 시스템 자원의 사용량이나 에러등에 대한 모니터링을 통해서, 시스템을 안정적으로 운영하고 문제 발생시 원인 파악과 대응을 할 수 있다.이번 글에서는 쿠버네티스 모니터링 시스템에 대한 개념과, 아키텍쳐 그리고 구축 방법에 대해서 소개하고자 한다. 쿠버네티스 모니터링 컨셉쿠버네티스에 대한 모니터링을 보면 많은 툴과 지표들이 있어서 혼돈하기 쉬운데, 먼저 모니터링 컨셉에 대한 이해를 할 필요가 있다.쿠버네티스 기반의 시스템을 모니터링하기 위해서는 크게 아래와 같이 4가지 계층을 모니터링해야 한다. 1. 호스트 (노드)먼저 ..