blynk exam

Blynk를 활용한 IoT 콘트롤러 쉽게 만들기

Blynk IoT 디바이스의 모니터링과 제어를 할 수 있는 모바일 앱 사이트 : https://www.blynk.cc/   IoT 서비스는 보통 디바이스, 게이트웨어, 서버 총 3가지로 구분할 수 있다. 각각의 역할이 매우 중요하지만, 눈에 보이고 직접 제어하기 위한 전용앱과 서버를 개발하는 건 시간적으로 물리적으로 자원이 많이 소모된다. 하지만 Blynk를 이용하면 이런 고민을 단번에 해소할 수 있다. 게다가 사용법도 매우

Share

초간단 내서버에 ssl 적용하기

서버 운영에 있어 보안은 필수이고, 최소한 ssl인증서를 적용하는 건 기본이다. 비용이 드는게 부담될 순 있지만, LetsEncrypt를 이용하면 무료로 ssl인증서를 적용할 수 있다. 우선 Let’s Encrypt는 무료 SSL인증서를 제공해주는 프로젝트로서 Internet Security Research Group(ISRG)라는 비영리 기관에 의해 운영되고 있다. 이미 해당 letsencrypt를 활용하는 guide는 많이 등록되어 있으며,  아래 링크를 통해 쉽게 적용할 수 있다. Lets Encrypt

Share

python에서 __name__, __file__, __doc__

Python 코드를 보다보면 이건 뭐지 궁금한 변수들이 많다. 각각의 의미는 다음과 같다.   __name__ : 모듈명(모듈을 직접 실행하는지, 모듈로 이용하는지 구별하는 데 이용) __file__ : 모듈이 있는 절대 경로(모듈이 있는 디렉토리를 얻을 때 사용) __doc__ : 모듈에 대한 설명(모듈의 이용 방버버에 대한 설명을 얻을 때)

Share

python 모듈 생성시 유의할 사항

모듈을 만들경우 외부에서 불러올 수 있는 특정 함수나 변수를 미리 정의해야 한다. 정의하는 방법은 소스내에 __all__을 통해 정의할 수 있다. [sample] #module.py __all__ = [‘add_number’, some_var1] –version__=1.0 some_var1=1.1 some_var2=2.2 def add_number(n): total=0 for i in range(0, n+1): total+=i return total #use_module.py from module import * print(add_number(10)) print(some_var1) print(some_var2) # 이부분의 경우 print(module.some_var2) 로 변경 하면

Share

python에서 *과 **의 의미

python 소스를 보다보면 의미모를 것들이 참 많다. 그 중에 하나였던 *, **의 정체를 알아보자. 거두절미 하고 간단한 예제와 주석으로 대체한다.   # 함수에 입력되는 변수 개수를 알 수 없을 때 사용한다. *args 형태로 매개변수를 설정한다. # 즉 ‘*’의 의미는 튜플형태로 매개변수를 받겠다고 지정한다는 의미를 갖는다. def add(*args): total=0 for i in args: total+=i return total

Share

python에서 문자열 표현

python에서 문자열을 표현하는 포맷팅(formatting) 방법이다. 크게 printf, format 2가지 방식이 있다. 1.printf 방식 데이터에 따라 변경될 자리를 % 기호로 표시한다. 포맷 스트링 형식은 다음과 같다. %[플래그][크기][정확도]타입 # printf 방식 예시 >>> f=1.23 >>> print(“f is %f” %f) f is 1.230000 #만약에 int형태로 선언하고 float를 넣으면 int형태로 출력한다. >>> print(“f is %d” %f) f is 1

Share

uWSGI와 Nginx로 flask app 배포하기

flask 배포에 대해 고민이 많았었다. 관련 책을 봐도 잘 안되고 해서 직접 구글링 하면서 해보니, 리눅스 버전에 따라 환경설정도 다르고해서 먼저 구조적인 원리와 각각의 설정 방법에 대한 이해가 필요했다. 여기저기 삽질 끝에 아래링크와 같은 좋은 자료를 찾아서 함께 공유하고, 한글버전으로도 제공하고자 한다. [참고자료] https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04 https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04   먼저 고려해야 할 사항은 서버 os 선택 : ubuntu만

Share

자료형에 따른 유용한 python API

1. 숫자 – abs(x) :절대값 반환 – hex(x) : 16진수 값 문자열로 반환 – bin(x) : 2진수 값 문자열로 반환 – oct(x) : 8진수 값 문자열로 반환 – round(number[, ndigits] : 숫자를 반올림한다 []자릿수 – pow(x,y[,z]) : 거듭제곱 x**y%z 2. 문자 – ord(‘문자’) : 해당 문자에 유니코드의 숫자를 표시한다. – chr(‘숫자’) : 해당 숫자의 문자를

Share