라즈베리파이

라즈베리파이 - 4

인생진리 2023. 3. 23. 14:00

 

명령 프롬프트에서  접근 권한설정: alter user 'root'@'Iocalhost' identified by '1234'; 

 

에러나서 ctrl+c 로 뒤로가기 하고 다시접속함

 

재접속: mysql -u root -p

db 생성 : create database test;

db 사용 :use test;

 

DML 조작

db 생성 :

 

파이썬을위해 또다른 프롬프트 생성

계정연결

 

 

데이터 삽입

 

 

프롬프트창에서 입력한 값 확인

 

조도센서 값을 활용하여 db 저장

데이터 조회하기

 

프롬프트창에 자기 아이피 확인(아래쪽이 아이피임)

 

서버연결성공

 

그런다음 개발에 지니 로 시작

아래 코드 입력

 

 

이코드 를 응용할꺼임 구글,네이버, 다음 은 필요X function 이랑 def 만 작성

 

임포트 새롭게 해야함

 

 

파일 새로 만들고 안에 메인 html 넣어야됨

 

함수 만듬 selectData 

오류남 원인 cursor = db.cusor() 않넣었음

 

서버들어가면 결과창

 

마지막으로 웹서버에서 링크 들어가기 함수 만듬


수업요약

- alt 명령어는 데이터 베이스 dbms도 사용할 때 쓰는 명령어임
- alt명령어 실행하고 밑에 쿼리 오케이가 뜨면 실행이 완료된 것임
- alt 명령어는 ysql 명령어이기 때문에 ysql로 접속을 해서 영역으로 써줘야 함

- 마리아디비에 접근하기 위해 파이썬을 이용하여 데이터 테이블을 만들고 셀렉트도 시켜보고 업데이트도 시켜보는 것을 함

- 마리아디비에 접근하기 위해 파이썬을 이용하여 마이sql를 접근할 수 있도록 연결해 주는 모듈을 설치함

- select와 나머지를 하면 insert update gate 이렇게 두 분류로 나눌 수가 있음

- select는 테이블 안에 들어오는 데이터가 바뀌는지 아닌지로 구분할 수 있음

- select 할 때만 rs.next 해가지고 안에 있는 데이터를 하나씩 하나씩 하나씩 다 꺼내옴
- select 할 때만 resurt set이라는 객체 자체가 필요함

- db.cummit은 실제 이 테이블에 방금 실행한 명령의 결과를 반영하겠다는 것임

- 변경이 일어나는 경우에만 우리가 넣어주면 됨

- 자바에서는 변수 안에 들어있는 값을 담아야 되기 때문에 가능함

- 자바에서는 이걸 좀 쉽게 하려고 press statement 이용해가지고 물음표로 처리하고 밑에서 넣어줌

- 파이썬은 안 됨
- 함수가 잘 동작하는지를 확인하기 위해 호출을 해보려고 함

- 터미널에 데이터베이스 접속해놓은 곳에서 셀렉트를 해보면 됨


- 세션 값이 잘 읽어지는지 확인하기 위해 5초에 한 번씩 데이터가 insert 되게끔 함


- 조도에 따라 전송하는 걸 만들려고 함
- led 컨도 인폴트 지워버려도 됨
- 조도 센서가 0이면 0.5로 바꿔줌

- table에 insert만 시켜주면 되고 매개 변수로 10 센스와 밸류 값을 넣어주면 

실시간으로 값을 측정해서 데이터베이스에 게스트 데이터를 저장하는 것까지 코드가 완성이 됨


- 셀렉트 센서라는 함수를 만들어서 셀렉트를 해볼 건데 셀렉트의 기치로 설명을 해드려보도록 하겠음

- patch all 이라는 함수를 통해 셀렉트 한 결과값을 전부 다 받아가겠다고 함
- select 할 때 결과 값 조회할 때 호출해야 되는 함수가 리턴 값임

- 파이썬는 튜플 타입으로 데이터가 읽어지는 거 확인할 수 있음


- 파이썬는 자바보다 훨씬 쉽게 느껴지는 이유가 자바는 resert set 객체로 데이터를 가지고 오기 때문에 이거를

우리가 원하는 형식대로 저장을 하려면 별도 aa 객체를 만들어서 medset에서 하나씩 하나씩 꺼낼 때마다 계속 애들을 시켜줘야 되는데 파이썬는 그런 작업이 필요가 없음

- 플라스크는 웹 서버 볼트의 인터페이스 용도로 사용하는 하나의 플랫폼임
- 최소한의 기능만을 제공해서 쉽고 가볍고 유연하게 애플리케이션을 만들어 

사용할 수 있게끔 해주는 플라스크라는 서버를 사용해 보려고 함

- 라우팅이라는 개념을 활용해서 서버를 만듬
- 서버 요청을 할 때는 ip 주소 입력하고 슬러시 하고 순서대로 led 슬래시 on 

이렇게 입력을 해서 url 요청을 하면 응답 메시지도 보내주고 실행이 될 수 있게끔 

세팅을 해가지고 프로그램을 짜봄

- 언더바 언더바가 네이버는 파이프에서 기본으로 제공해 주는 문법임

 

- 앱 객체를 이용해서 라이트 설정을 할 것임

- 경로를 아무것도 설정하지 않고 바로 라이트 바로 밑에 함수를 넣어줘야 함

- 경로로 요청이 들어오면 바로 아래에 있는 헬로라는 함수를 실행시켜라는 뜻임


- 언더가 플래시크라는 이름을 가진 파일을 실행시키는 방법은 직접 런 버튼을 누르는 방법과 

디비컨을 실행시키는 방법이 있음


- 디비컨을 실행시키는 방법은 두 가지인데 하나는 직접 실행시키는 것이고 

다른 하나는 다른 파일을 만들어서 db 컨을 insert에서 실행시키는 것임
- 네임이라는 변수는 직접 실행시켰을 때만 앱을 실행시키라는 뜻임

- 서버 요청해 url 요청해가지고 led를  제어를 한번 해봄
- 라우트를 하나 더 설명을 해줌
- led를 제어하는 코드를 함수에 넣음
- led를 제어하는 모듈을 만듦

- 블루투스 통신 말고도 지금 우리가 배우는 방법으로도 얼마든지 재현해서 만들어 볼 수 있음


- html 코드를 보고 버튼 2개 더 추가하는 것과 functh도 2개 더 추가하는 것을 알려주고 있음
- url이 실행이 되려면 서버가 살아있어야 함
- html 문서를 음악 메시지를 띄워주기 위해서는 특정 폴더 안에 들어 있어야 함


- 셀렉트 데이터를 이용해서 메시지를 리턴하려면 문자열 타입으로 바뀌어 있어야 함
- 조인 함수를 이용해서 데이터를 출력함
- 셀렉트 하는 버튼을 하나 더 추가해서 셀렉트 하는 버튼도 만들어봄


- html 문서 안에 펑션 만들 때 셀레트 말고 다른 이름으로 평생을 하나 만들어주고 

셀레트가 잘 되는지 확인해 보려면 셀렉트를 넣고 셀렉트를 복사해서 넣음
- 셀레드가 잘 됐는지 확인하고 셀렉트를 넣고 펑션을 하나 더 추가해 줌


- 원격 제어라는 것 자체가 복잡하거나 어려운 기술의 개념이 아님
- 라즈베리 파이를 이용해서 웹 페이지를 구축한다거나 하지는 않고  메시지를 받아서 처리하는 형태로 프로그램을 많이 만듬