반응형

라즈베리파이(Raspberrypi) 22

[라즈베리파이]웹 제어로 LED켜고 끄기(web server, remote control, flask)

목차 Raspberry Pi 웹서버에서 LED 제어하기 이번에는 보드의 GPIO23번 핀에 LED를 연결하고 flask를 사용해서 웹서버를 구동합니다. 외부에 노트북을 사용해서 해당 웹서버(Web server)에 접속하고 브라우저에 나온 버튼을 클릭하여 LED를 켜고 끄는 시험을 해보겠습니다. 하드웨어 연결은 아래와 같이 합니다. 원래 GPIO23번 핀과 GND 사이에 1kohm 저항(Resistor)을 둬서 LED를 보호해야 하나 귀찮아서 다이렉트로 연결했습니다. LED를 오래 쓰실려면 꼭 저항을 직렬로 연결해주세요 전체 코드>> #!/usr/bin/python3 from flask import Flask, render_template_string import RPi.GPIO as GPIO GPIO.s..

[라즈베리파이] Polling과 Interrupt로 입력 신호 받기(폴링, 인터럽트)

Raspbeery Pi Polling으로 입력 신호 받기 폴링(Polling) 방식은 지속적으로 해당 입력 신호쪽에 값을 기다리면서 값이 들어올때 값을 처리하는 방식입니다. 그렇기 때문에 비효율적인 방식입니다. 아래는 폴링(Polling) 방식의 특징입니다. 폴링을 시행하면 보드의 다른 코드를 진행할 수 없음 지속적으로 모니터링하여서 전력을 상대적으로 많이 사용 실제 폴링으로 동작하는 예제 코드를 통해 쉽게 이해해 보도록 하겠습니다. 해당 코드는 라즈베리파이 보드에서 나가는 5V신호와 접지(Ground) 신호를 저항 10kohm으로 GPIO23번 핀에 연결했다가 떨어뜨렸다가 하는 식으로 마치 버튼을 동작하는 것처럼 조작해서 이를 카운트하는 코드 입니다. 카운트 값은 print로 보드에서 확인할 수 있습니..

[라즈베리파이] GPIO란? LED 켜기&끄기, 핀맵(Pinmap, Pinout)

목차 Raspberry Pi GPIO란? 핀맵 라즈베리파이(Raspberry Pi)와 같은 임베디드(Embedded) 보드는 내부에 MCU 칩이 있고 칩을 프로 그램해서 외부 장치들로 부터 센서의 신호를 읽거나 제어를 위해 출력 신호를 보냅니다. 이때 입출력 신호를 주고 받을 수 있는 핀들을 GPIO(General Purpose Input/Output)이라고 합니다. 외부 장치와 입출력 신호를 주고 받는 핀 GPIO 핀 제어를 위해 임베디드 보드 내에 레지스터(Register)에 값을 입력하여 사용 일반적으로 LED 구동 전력 정도의 파워를 공급 제가 가지고 있는 라즈베리파이 4 보드의 핀맵(Pin Map)은 아래와 같습니다. Raspberry LED 켜기&끄기(하드웨어) 이번에는 앞서 핀아웃을 사용해서..

[라즈베리파이] flask와 sqlite 연동해서 데이터베이스 값 웹 출력

목차 [라즈베리파이] flask와 sqlite 연동해서 데이터베이스 값 웹 출력 앞서 라즈베리파이(Raspberry Pi)를 통해 웹서버를 운용했고 flask를 사용해서 웹브라우져(Web Browser)로 확인해보았습니다. 이번 시간에는 SQLite 데이터베이스(DB, Database)를 사용해서 테이블의 값을 읽어서 웹 하면에 출력하는 예제를 실행해 보겠습니다. 사실 이번 내용은 이미 윈도우 환경(Window OS)에서 구현해보고 실행도 해보았습니다(https://scribblinganything.tistory.com/619). 아무래도 라즈베리파이(Raspberry Pi)에서 구현하고 실행하는 것은 윈도우에 비하면 불편하기 때문에 윈도우에서 먼저 검증을 하고 확인하는 작업을 라즈베리파이(Raspber..

[라즈베리파이] flask 기본 웹 서버 실행하기(외부에서 접속해보기)

목차 [라즈베리파이] flask 기본 웹 서버 실행하기 말 그대로 아래의 파이썬(Python) Flask 기본 코드를 실행하고 외부의 윈도우(Window) PC에서 해당 IP로 접속하는 시험을 진행하겠습니다. 실행할 코드는 아래와 같습니다. 예제 코드>> from flask import Flask web_gui = Flask(__name__) @web_gui.route('/') def hello_fnc(): return 'Hello' if __name__ == "__main__": web_gui.run(host='0.0.0.0', debug=True, port=9999) flask 실행에 대한 내용은 블로그 flask 카테고리에 자세히 설명 되어 있으니 참조 하시면 됩니다. 1. 예제 코드를 아래와 같이..

CGI란? 간단한 예제 리눅스 라즈베리파이에서 실행하기(파이썬, Python, linux, rasberrypi)

목차 CGI란? CGI란 Common Gateway Interface의 약자로 HTML 문서의 수동적인 정보 전달 보완을 위해서 만들어진 동적 변환 방식으로 CGI는 동적으로 동작하기 위해 정한 표준 규약(Protocol) 입니다. 동작 순서는 아래와 같습니다. 1. 클라이언트(Client)가 웹 브라우져(Web Browser)를 통해 동적인 웹 문서를 요청 합니다. 2. 웹 서버(Web Server)에서는 동적 웹 문서에 대해 CGI 프로그램 스크립트에게 CGI를 요청 합니다. 3. CGI 스크립트에 프로그램된 동적인 동작을 웹 서버를 통해 웹 브라우져로 전달 합니다. 즉, CGI를 웹서버에서 실행하기 위해서는 웹서버에 CGI에 대한 정의가 있어야 하고 CGI Script가 따로 작성되어 정의된 방식에..

[라즈베리파이] 웹 서버(Web Server)란? 아파치(Apache) 설치 및 실행하기

목차 웹 서버(Web Server)란? 웹 서버는 Client가 웹 브라우져(Web Browser)를 통해 접속해서 데이터를 요청하면 해당 요청에 맞춰 제공해주는 인터넷 프로그램입니다. 클라이언트(Client)와 서버(Server) 사이는 HTTP 라는 정해진 프로토콜(Protocol)로 통신 합니다. 아래는 라즈베리파이(Raspberry Pi)에서 가장 많이 사용하는 대표적인 웹 서버 소프트웨어 입니다. Apache Lighttpd nginx 이번 포스트에서는 Apache를 설치해서 사용해볼 예정입니다. 사용자도 많고 다양한 언어를 지원하기 때문에 사용이 용이 합니다. 서버를 운용하기 위해서는 웹 응용 프레임워크로 코드를 작성해야 하는데 대표적인 프로그램 언어는 아래와 같습니다. Java Javascr..

[Linux]리눅스 find로 파일 검색하기(size, exec, name, 별표* 사용)

목차 리눅스 파일 찾기 명령어 및 사용방법 리눅스에서 파일을 찾는(Search) 방법은 주로 find 명령을 사용 합니다. 사용 방법은 아래와 같이 단순 합니다. find 검색위치폴더 옵션 찾을파일이름 검색위치 폴더의 경우 입력하지 않으면 전체 폴더에서 검색을 시행 합니다. 그리고 찾을 파일 이름에서는 윈도우에서 모르는 문자를 대체 하듯 사용 할 수 있습니다. 옵션은 아래와 같습니다. -name : 찾을 파일 검색 -perm : 파일 권한으로 검색 -type : 형태가 같은 파일 검색 -link : 링크 개수가 일치하는 파일 검색 -size: 사이즈로 검색, 파일 사이즈는 b(블록), c(바이트), k(킬로바이트), w(워드단위, 2바이트) -user : 사용자로 검색 -exec : 검색된 파일에 추가 ..

[라즈베리파이]Raspbery Pi에서 파이썬 처음 실행해보기(Python)

파이썬(Python)이란? 파이썬은 인터프리터(Interpreter) 언어로 C언어와 같이 컴파일러(Compiler)를 사용하는 언어와는 효율성에서 다릅니다. 인터프리터는 간단하게 말하자면 해당 프로그램에 대해 말 그대로 해석을 해서 바로 실행을 시킬 수 있습니다. 하지만 C와 같은 컴파일러의 언어들은 컴파일(Compile)이라는 단계를 거쳐서 프로그램을 컴퓨터가 이해할 수 있는 명령어로 변환해서 실행을 해야 합니다. 대신 컴파일은 인터프리터 처럼 미리 해석을 위한 처리가 필요 없어서 언어 자체가 가볍고 사용자가 상대적으로 효율 적이고 빠른 코드를 작성할 수 있습니다. 물론 최근에 파이썬도 다양한 라이브러리가 제공 되어 효율적이고 빠른 코드를 사용자 어플리케이션(Application)에 맞춰 제작을 해주..

[Linux]리눅스 쉘스크립트란? 사용 방법, 예제(Shell Script, 셸)

목차 리눅스(Linux) 쉘스크립트란? 쉘스크립트(Shell Script, 셸스크립트)는 Shell 명령어들을 텍스트 파일이 모아서 실행해주는 개념이라고 생각하시면 됩니다. C언어나 파이썬(Python)과 같이 코드를 위에서 아래로 순차적으로 실행합니다. 이때 실행하는 명령어들이 Shell이라는 차이가 있습니다. Shell Script를 사용하는 장점은 컴파일이 필요없이 리눅스(Linux) 환경에서 셀을 인터프리터(Interpreter)로 바로 해석해서 실행해주는 장점이 있어서 간단한 명령을 구현할 때 주로 사용합니다. 리눅스(Linux) 셸스크립트 사용 방법 스크립트 텍스트 파일은 아래와 같이 시작 합니다. #!/bin/bash #!의 의미는 해당 스크립트(텍스트) 파일은 실행 파일로 인식 시킵니다. ..

반응형