반응형

파이썬(Python)/웹서버 10

파이썬(Python)으로 스마트폰/웹서버에 메세지 보내기 받기(Slack, Application, Smart phone message)#2

목차 파이썬(Python)으로 스마트폰(Smart Phone)에 메세지 보내기 받기: 진행 방법 앞서 시간에 파이썬에서 보낸 메세지가 Slack 웹서버로 전달되었음을 확인했습니다. 혹시 앞서 Slack 웹서버 가입 및 설치에 대한 내용을 보지 않고 오셨으면 괄호안의 링크를 통해 확인하시고 오시길 추천 드립니다(https://scribblinganything.tistory.com/547). 이번에는 Slack에서 제공하는 앱(Application, Apps)을 사용해서 파이썬에서 보낸 메세지를 확인할 것입니다. 웹스크롤링(Web Scrawling) 과정에서 공부한 주식 정보나 미세먼지와 같은 정보를 파이썬(Python)에서 가져와서 자동으로 Slack의 Smartphone Application으로 전달이 ..

파이썬(Python)으로 스마트폰/웹서버에 메세지 보내기 받기(Slack, Application, Smart phone message)#1

목차 Slack 이란? 슬랙이란 스마트 기기(Smart Device) 를 사용해서 웹에 접속해서 메세지를 작성하고 보내기가 받기가 가능한 웹 서버(Web Server) 입니다. 간단하게 카카오톡(Kakao Talk, 카톡), 스카이프(Skype)와 같은 메세지 웹 서버라고 생가하시면 됩니다. 이번 포스터에서는 파이썬(Python)을 작성해서 Slack이 제공하는 API에 접속 해서 해당 웹서버를 사용합니다. API에 대한 기초적인 내용은 링크를 참조 하시면 됩니다. (https://scribblinganything.tistory.com/530) Slack 가입 및 API 주소 받기 1. https://slack.com/intl/ko-kr/ 에 접속하여 가입을 진행합니다. 2. 워크스페이스(Workspac..

아두이노에서 온도값 주면 db에서 저장한 값을 webGUI에서 그래프로 출력하기

이번 프로젝트는 아두이노에서 온도값을 컴퓨터로 serial 통신을 사용해서 전달한다. (1초단위) ​ serial로 받은 값은 파이썬과 mongodb를 이용해서 db에 저장한다. ​ 동시에 다른 파이썬 프로그램에서는 web GUI 를 flask를 이용해서 실행시키고 db에서 읽은 값을 웹브라우져를 통해 그래프로 표현하다. ​ 여기서는 그래프로 출력하는 파이썬 flask와 html 코드를 설명하겠다. ​ 코드 - flask python>> from flask import Flask, Response, render_template from pymongo import MongoClient from datetime import datetime import json import time import random ..

serial 통신으로 받은 값 DB에 저장하기

이번 프로젝트는 미리 만들어 놓은 아두이노에서 온도 습도 가스 등등의 값들을 측정해서 serial 통신으로 1초 간격으로 보내주는데 받은 값을 파이썬으로 mongodb에 저장하는 파이썬 프로그램을 만들 것이다. 저장값은 robo 프로그램으로 확인할 것이다. 아래 값은 아두이노에서 보내는 값들이다 이중에 온도와 습도를 의미하는 Tv와 Hv 값을 가져오겠다. As0 Vs10 Es0 Cs400 Ts4000 Hs0 Lv0 Cv1129 Tv6855 Hv1561 Vv0 Ev400 Dv3 파이썬 코드를 통해 이해해보자 코드 >> from pymongo import MongoClient from time import sleep import serial import time class SertoDB_OOP(): def ..

mongodb 두개의 프로그램으로 쓰면서 읽기

이번 주제는 하나의 프로그램이 db에 쓰기만을 하는 동안 다른 프로그램에서 해당 db에 접속해서 읽는동작만 하는 것을 구현하였다. 일초 단위로 읽고 쓰고 읽는 값은 마지막 3개의 값만 출력하는 것으로 하였다. 파이썬으로 작성하였고 pymongo로 동작한다. 아래 코드를 통해 이해해 보자. 코드 - write.py>> from pymongo import MongoClient from time import sleep my_client = MongoClient("mongodb://localhost:27017/") db = my_client['number_inc'] db_col = db.numbers idx = 0 while True: post = { "num": idx, } db_col.insert_one(p..

flask, pyserial 동시에 사용하기

이번 주제는 flask로 웹서버를 동작시키면서 동시에 serial 통신으로 아두이노로 부터 값을 계속 받아오고 싶었다. 처음에 사용한것은 thread 모듈이었는데 웹서버와 같이 thread를 돌리는 방법은 시도하다가 잘안되서 포기하였다. 그렇게 찾은 것이 flask의 Response 함수 였다. Reponse는 말그대로 실시간 (on the fly)로 데이터를 처리해주는 것이다. 아래 링크를 통해 공부하였다. https://flask.palletsprojects.com/en/1.1.x/patterns/streaming/ Streaming Contents — Flask Documentation (1.1.x) Streaming Contents Sometimes you want to send an enormo..

post form 으로 보낸 데이터 mongodb에 저장하기

이 프로젝트의 최종 목적은 아두이노에서 모은 가스, 온도, 습도 정보를 web GUI(Graphic User Interface)로 표현하는 것이다. 우선 첫단계로 일반적인 페이지에서 정보를 받아서 POST form으로 서버의 DB에 저장하는 예제를 실행하겠다. 파이썬 flask로 web GUI를 만들 예정이고, db는 Mongo 를 이용할 것이다. 코드-data_send.html>> raw data0 주석-data_send.html>> form으로 묶어서 POST를 보내는 것이다. action은 form을 진행한 다음 동작인데 그냥 원래 위치 그대로 유지한다. raw_data0을 동일한 이름으로 name에 묶어서 보내주는 역할을 한다. 코드- run.py>> from flask import Flask f..

virtualenv 가상환경 만들기

파이썬에서 가상환경을 만드는 주 목적은 프로젝트별 내가 설치한 library를 추적하기 편하게 하기 위해서 이다. 여러 프로젝트를 돌리다 보면 다양한 library를 설치하는데 이를 서버나 다른 PC에 옮길때 virtualenv로 독립된 공간을 만들면 옮기기 용이하다. 설치 방법>> visual studio 에서 가상환경을 만들 폴더를 만든다. 나는 webgui_project라는 폴더를 만들고 pip install virtualenv 위 명령을 실행해서 virtualenv 를 설치했다. (이미 설치해서 설치되어있다는 결과가 나옴) virtualenv venv 위 명령어로 해당 폴더에 venv (이름은 사용자 마음대로 변경 가능) 라는 가상환경을 만들었다. venv 폴더 밑에 일반적인 python 프로그램..

데이터 베이스 (DB) 개념

이번 프로 젝트는 파이썬으로 웹서버를 만들 것이다. 웹서버를 운영하기 위해 웹프로그램이 필요한데 이를 파이썬으로 할 것이다. 웹서버에는 사용자 정보나 각종 서버에 정보를 쓰고 읽고 하는 공간이 필요 하다. 이 공간이 데이터베이스다. 기존의 DB는 RDBMS(Relational Data Base Management System)라고 불렸다. Relational 은 엑셀과 같이 테이블로 구조를 가진것 처럼 생각하면 된다. 구조의 상대적 위치를 통해 자료를 찾는 것이다. SQL(Structured Query Language)이 Relational을 사용한다. SQL은 행과 열의 구조가 갖춰진 채로 저장하는 것이다. 나머지 DB 형태는 No SQL이라고 하는데 Document, Search engine, Key..

반응형