Flask가 뭔지 찍먹해보자. 라즈베리파이 import random from flask import Flask, render_template import RPi.GPIO as gpio app = Flask(__name__) led_pin = 4 gpio.setmode(gpio.BCM) gpio.setup(led_pin, gpio.OUT) @app.route("/") #하나의 경로를 이용해서 여러개를 사용할 수 있음 def action(command): if command == "on": gpio.output(led_pin, gpio.HIGH) message = "GPIO"+str(led_pin)+" ON" elif command == "off": gpio.output(led_pin, gpio.LOW) m..
라즈베리파이에서 라이브러리를 설치해주자. sudo apt-get install python-picamera 설치해주고 pycamera_test.py 파일에서 작업을 해주자. from picamera import PiCamera from time import sleep # 사진찍기 camera = PiCamera() # PiCamera 객체 생성 camera.start_preview() # 미리보기 화면 시작 # 카메라의 센서가 빛의 수준을 감지 할 시간이 있어야 하므로 # 이미지를 갭쳐하기 전에 최소 2초는 sleep sleep(10) # 초 camera.capture("/home/pi/mywork/picamera/image.jpg") camera.stop_preview() #미리보기 화면 중지 문제) ..
초음파센서 VCC - 5v Trig - 23번핀 Echo - 24번핀 GND - GND import RPi.GPIO as g import time TRIGER = 23 ECHO = 24 g.setmode(g.BCM) g.setup(TRIGER, g.OUT) g.setup(ECHO, g.IN) def getDistance(): g.output(TRIGER, False) time.sleep(1) g.output(TRIGER,True) time.sleep(0.00001) #10ms초 만큼 신호 발생 g.output(TRIGER, False) while g.input(ECHO) == 0 : pulse_start = time.time() #현재시간을 측정 - HIGH신호가 발생되는 시간을 측정 while g.in..
https://aossuper8.tistory.com/242 Django setting Django setting 기록을 한다. python 3.8 version django 4.0.2 version 프로젝트를 만들고 File -> Settings에 들어간다 인터프리터에 들어가 + 모양을 눌러준다. 여기서 Django, django-request-mapping를 설.. aossuper8.tistory.com 위의 사이트를 통해 웹 구축을 해주자. 이렇게 만들어주고 raspberryweb -> urls.py (url 등록) urlpatterns = [ path('admin/', admin.site.urls), path('',views.index,name="index"), path('mqtt/',views...
http://mosquitto.org/ Eclipse Mosquitto Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices mosquitto.org 다운 받고 설치를 해준다. 그리고 설치된 경로 C:\Program Files\mosquitto 복사를 해주고 환경변수를 추가 해주자. Path에 경로를 추가 해준다. 그리고 cmd창을 4개 만들어준다 이렇게 4개 준비해준다. 왼쪽 위 : 서버(브로커) - mosq..
led +핀 : 17번 led -핀 : GND import RPi.GPIO as g import time led_pin = 17 g.setmode(g.BCM) g.setup(led_pin, g.OUT) #소프트웨어 PWM을 사용하기 위해 객체를 생성 #첫 번째 매개변수 : PWM 출력할 핀 #두 번째 매개변수 : 주파수 값(0보다 큰 값) : 1초에 몇번 깜빡거릴지 pwm = g.PWM(led_pin,2) pwm.start(50) #소프트웨어 PWM 시작 - 파형을 출력(0~100까지의 숫자를 입력) #duty비율 50? : HIGH비율을 유지하는 시간이 50% #1초에 0.5초 불이 켜지고 꺼진다 time.sleep(1) pwm.ChangeDutyCycle(100) #50% 였다가 100%로 변경 tr..
일단 작업하기 전에 한글폰트 설치하고 적용을 해보자. 터미널을 켜서 sudo apt install fonts-nanum 입력해주면 한글 폰트가 설치된다. sudo apt install ibus-hangul 입력해주고 y 눌러주면 된다. 라즈베리파이 모양 -> Preferences -> Raspberry Pi Configuration 그리고 OK를 누르면 재부팅하라고 뜬다 재부팅을 해주면 된다. 그리고 iBus 기본설정 -> 입력방식에서 한국어(태극모양) 추가해주면 된다. 일반으로 돌아와서 이렇게 설정해주면 된다. 그리고 재부팅 해주자. 한국어 누른다음 한글 상태 누르면 한글이 나오게 된다. 라즈베리파이에 버튼(10k저항) LED(220옴저항) 연결을 해준다. 버튼은 풀다운 방식으로 해주고 왼쪽(저항) -..
티코블럭(T-cobbler), 브레드보드, 선 이렇게 준비를 해주고 브레드 보드 끝까지 꼽아주면 된다. 이렇게 끼워주면 된다. 그럼 이제 라즈베리파이에 접속해서 잘 연결 됬는지 확인해보자. 핀 설명들은 이렇다. [리눅스 기본 명령어] 1. ls - 디렉토리에 있는 하위 목록을 보기 위한 명령어 ls -a : 모든 파일을 출력 ls -l : 자세한 정보를 출력 ls -d : 폴더출력 옵션을 여러 개를 같이 사용할 수 있다. 2. cd - 폴더를 이동하는 명렁어 리눅스는 마지막 폴더만 출력 pwd로 현재 위치를 확인 cd .. : 상위폴더 cd . : 현재폴더 cd / : 최상위 디렉토리로 이동(루트 디렉토리) cd ~ : 자기자신의 홈디렉토리로 이동 3. mkdir - 디렉토리 생성 mkdir 생성할디렉토..
[Aggregation] - Aggregation framework와 mapreduce가 제공 - RDBMS의 group by의 개념 - 집계작업이 단순한 경우에 mapreduce보다는 aggregation framework를 사용 - input으로 사용된 document를 처리하고 처리 결과로 output document를 생성하고 생성된 output document를 또 다른 명령어의 input document로 활용 = 이를 파이프라인(Pipeline)이라 한다. - 파이프라인으로 집계를 처리하며 이 처리 명령을 배열로 나타낸다 1. Aggregation 연산자 $match : where절, having절과 같은 개념 $group : group by $sort : order by $sum : 총합,..
MongoDB 다운로드 MongoDB - Document oriented 데이터베이스 [실행방법] - mongodb 서버 실행 : mongod --dbpath 저장할폴더 - mongodb 클라이언트 실행 : mongo [용어] RDBMS와 비교 Database - Collection을 담고 있는 컨테이너 Collection - RDBMS의 테이블과 비슷한 개념(스키마가 없다. - 정해진 구조가 없다.) Document - RDBMS에서 레코드와 비슷한 개념 Embedded documnet - 테이블 조인과 비슷한 개념 [기본 명렁어] show dbs - 데이터베이스의 리스트를 확인 use sample - sample이라는 데이터베이스 생성 - 작업하고 싶은 데이터베이스 로그인 db - 현재 작업중인 데이..
블루투스는 가상으로 핀(RX, TX)을 만들어서 구성할것이다. 이렇게 말이다 블루투스 모델은 ZS-040 모델을 이용할거다 RXD - 3번핀 TXD - 2번핀 GND - GND 연결 VCC - 5V 연결 #include //블루투스 통신을 할 수 있는 SoftwareSerial 객체를 생성 SoftwareSerial myBTSerial(2,3); //SoftwareSerial(rxPin, txPin) void setup() { Serial.begin(9600); myBTSerial.begin(9600); //블루투스 통신을 시작 } void loop() { //블루투스 통신으로 수신된 데이터가 있으면 if(myBTSerial.available()) { //블루투스 통신을 통해 읽은 데이터를 시리얼모니터로..
https://www.raspberrypi.org/ Teach, Learn, and Make with Raspberry Pi The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community. www.raspberrypi.org 밑으로 내리다 보면 위와 같은 화면이 있다. 다운로드를 받아준다 그리고 sd카드와 sd카드 꼽을 수 있는 리더기를 준비하고 위와 같이 꼽아준다 PC에 꼽아준다 https://www.sdcard.org/ SD Association | The SD Associati..