분류 전체보기 19

라즈베리파이 부팅시 파이썬 파일 실행시키기 ( 서비스 만들기 )

목적 : 내가 만든 파이썬 프로그램을 부팅시마다 실행되도록 한다. ​ ​ 파이썬 파일을 만든 후 아래와 같이 실행권한을 준다. ( /home/pi/myprg.py 라고 가정 ) sudo chmod 644 myprg.py 그다음 /etc/systemd/system 폴더 안에 myprg.service 파일을 생성하고 내용을 아래와 같이 한다. [Unit] Description=Test Service After=network.target [Service] Type=idle ExecStart=python3 /home/pi/myprg.py [Install] WantedBy=multi-user.target After에 network.target을 지정해줘서 네트웍연결이 된 이후에 실행하도록 한다. ​ 위 파일 또한..

IoT 2024.01.04

PDF 암호제거 - 파이썬

( 암호를 모르는 상태에서 제거하는것이 아니라, 암호는 알고 있는 상태여야 함 ) ​ 필요한 라이브러리는 PyPDF2이다. PyPDF2는 PyCryptodome 라이브러리에 의존적이어서 두개의 라이브러리를 같이 설치해준다. pip install pypdf2 pip install pycryptodome 설치된 상태에서 아래와 같이 코딩해준다. from PyPDF2 import PdfReader, PdfWriter def decrypt_pdf(input_path, output_path, password): reader = PdfReader(input_path) reader.decrypt(password) writer = PdfWriter() for page in reader.pages: writer.add_..

파이썬 2024.01.03

아두이노에서 텔레그램 알림 문자 보내기

아두이노에서 특정 상황에 폰으로 알림을 받고싶은 경우가 있는데, 이걸 처리하려면 직접 PUSH 앱을 만들던지, 범용적인 앱을 이용하던지, 해야 한다. ​ 기존에는 "푸시불릿"이 대안으로 많이 쓰였지만, 푸시불릿이 일부 유료화가 되고 사용법도 불편해 다른 방법을 모색중 카톡이나 텔레그램을 주목하게 되었다. ​ 카톡에서도 회사 홍보용 목적으로 불특정 다수에 알림을 보낼수 있는 기능이 있지만, 건당 비용이 발생하는 유료 상품이고 순수 알림목적으로 사용하기에는 부담이 있다. ​ 다행히 텔레그램에는 봇을 자유롭게 생성할수가 있고, 이 봇을 이용해서 특정 회원에게 알림문자를 보낼수 있는 기능이 있다. ​ 모든 것이 무료이다. ​ 더군다나 라이브러리를 별도로 찾아서 설치할 필요없이, 라이브러리매니저를 이용해서 간단히..

IoT 2024.01.03

라즈베리파이 부팅시 와이파이 설정 및 할당된 아이피 알림받기

라즈베리파이제로에 라즈비안을 설치하였다. 와이파이를 설정하고 원격으로 접속하고 필요한 작업을 하는데, 들고 다니다가 와이파이 환경이 바뀐 곳에서는 다시 와이파이 설정하기 까다롭다. ​ 그래서, 다음과 같은 절차를 생각해본다. ​ SD카드를 컴퓨터에 꼽으면 boot 파티션이 연결된다. 그 드라이브 루트 아래에 와이파이 접속 정보를 가지고 있는 파일을 하나 생성해두고, 라즈베라피이가 부팅될 때 그 파일에서 와이파이정보를 가져와서 와이파이 설정을 한다. 그리고, 재부팅될 때 할당된 아이피를 텔레그램으로 쏴준다. ​ 원격 가능한 상태의 라즈베리파이를 준비한다. ​ /boot/wifiinfo.txt 파일을 만든다. SD카드를 컴퓨터에 연결하면 인식되는 드라이브가 하나 생긴다. 그 드라이브에 들어가서 루트에 wif..

IoT 2024.01.03

부트스트랩4 - #4. 플렉스(Flex)

Block 요소들을 배치할 때 플렉스를 사용하면 다양하게 요소들을 배치할 수가 있게 된다. 이 플렉스의 자유로운 요소배치를 이용해서 반응형 웹의 프레임을 설계할 수도 있다. 플렉스를 사용해보기에 앞서 다음 코드를 확인해본다. ( 영역간의 배치를 확인해보기 위해 각각의 div에 border 클래스를 주어 경계선이 표시되게 하였다. ) 영역1 영역2 영역3 div는 block특성의 요소이므로 부모요소의 가로를 꽉 채운 상태로 각각 세로로 나열이 되게 된다. 1. d-flex 이 상태에서 영역을 감싸고 있는 div에 d-flex 클래스를 준다. 영역1 영역2 영역3 block 요소들인데도 in-line으로 성격이 바뀌어 위와 같이 가로로 자기 크기만큼 줄어든 상태로 배치가 된다. 한가지 유심히 볼 것은 d-f..

부트스트랩4 2019.09.22

네이버카페/다음카페/네이버블로그/다음블로그 드래그 - 및 마우스 우클릭 해제 - 크롬, 파이어폭스

피그툴박스가 더이상 지원이 안되어 대체 툴을 많이들 찾고 있다. 피그툴박스는 제스처 때문에 아마 지원이 끊겼을것으로 생각된다. 대부분 마우스 우클릭이나 드래그앤드랍 방지되어 있는 페이지에서 해제시킬 목적으로 툴을 썼을 텐데 순수하게 그 기능만 생각하면 다른 대안들이 많다. 그중에 소개할 툴은 크롬과 파이어폭스용 앱인 "드래그프리"이다. 크롬이나 파이어폭스를 사용한다면 선택할수 있는 좋은 대안으로 생각이 된다. 아래는 앱 링크 (크롬) https://chrome.google.com/webstore/detail/%EB%93%9C%EB%9E%98%EA%B7%B8-%ED%94%84%EB%A6%AC/cnfngpgfjllafbghaimjcmailafcdhod?utm_source=chrome-ntp-icon (파이어..

부트스트랩4 - #3. 테이블

부트스트랩을 사용하면, 테이블 태그에 몇가지 클래스만 부여해 주기만 해도 테이블이 디자이너가 손본듯한 테이블로 깔끔하게 다듬어 준다. 먼저 꾸며볼 테이블은 아래와 같다. 컬럼1 컬럼2 컬럼3 컬럼4 항목1-1 항목1-2 항목1-3 항목1-4 항목2-1 항목2-2 항목2-3 항목2-4 항목3-1 항목3-2 항목3-3 항목3-4 보기만 해도 숨이 막히는 듯한 테이블이다.. 이걸 이쁘게 다듬어 나가보자. 1. 부트스트랩 테이블 지정 : table 일반 테이블을 부트스트랩 테이블로 만들려면 table 태그에 table 클래스만 주면 된다. ... 클래스 하나만 줬을 뿐인데, 테이블이 잘 정리가 되어졌다. 특징을 자세히 보면, - 테두리와 세로선은 보이지 않는다. ( 위 이미지는 일정부분 캡쳐 뜨면서 테두리가 보..

부트스트랩4 2019.09.20

부트스트랩4 - #2. 그리드 시스템

부트스트랩의 그리드 시스템은 반응형으로 동작하므로, 반응형 화면을 설계할 때 부트스트랩의 그리드 시스템을 이용하면 수월하다. 부트스트랩의 그리드 시스템에서는 가로 전체를 12칸으로 가정한다. 이 12칸을 이용해서 모바일화면, 태블릿화면, PC화면 등 해상도에 따라 어떻게 공간을 차지할지에 대해 정의를 할 수가 있다. 기본 예) 왼쪽영역 가운데영역 오른쪽영역 ( 위 예에서는 경계선을 주어(border 클래스) 눈으로 확인하기 쉽게 하였다. ) 전체를 div.row 로 감싸고 그 안에 위와 같이 div로 영역을 정의한다. 부여된 클래스의 의미는 다음과 같다. col-숫자 : 숫자에는 1부터 12까지의 숫자가 들어갈 수 있다. 전체 12중에서 지정된 숫자만큼의 가로폭을 가지게 된다. 위 예는 2칸씩의 공간을 ..

부트스트랩4 2019.09.20