[라즈베리파이] 물리버튼 누르면 특정 URL호출/텔레그램 메세지 보내기

   조회 11085   추천 0    

KakaoTalk_20220527_105711047.mp4 (764.4K), Down : 26, 05-27

QnA 게시판에 홀릭0o0 님이 문의하신 글을 보다가 그제 구매한 라즈베리파이 제로 2W가 도착을 하여 재미삼아 기능을 구현 해 보았습니다.

GPIO 23번 핀과 Ground 핀에 스위치를 물려주고 스위치 버튼을 누르면 텔레그램으로 메세지를 보내고 추가한 URL 주소를 호출 합니다.

이정도면 홀릭0o0님의 원하는 기능은 구현이 되지 않을까 싶습니다.


작동 영상 첨부 합니다.

소스 ( 최신 라즈베리파이 OS )



start.py 파일 내용

import RPi.GPIO as GPIO

import os

def onButton(channel):

    if channel == 23:

        os.system("/home/button/action.sh")

GPIO.setmode(GPIO.BCM)

GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

GPIO.add_event_detect(23, GPIO.FALLING, callback=onButton, bouncetime=1)

input()



action.sh 파일 내용

#!/usr/bin/sh

botToken="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

chatId="XXXXXXXXXX"

telegram_msg="문을 여시오"

url="https://api.telegram.org/bot$botToken/sendmessage?chat_id=$chatId"

send_msg="text=$telegram_msg"

/usr/bin/curl -s $url --data-urlencode "$send_msg" > /dev/null 2>&1

/usr/bin/curl -s "원하는 URL주소 넣기"



위 두가지 파일만 있으면 됩니다. 근데 스위치에 풀업저항을 안달아서 그런가 스위치를 한번 누르는데 두번 누른걸로 인식하는군요...허허허

디테일하게 하실꺼면 풀업저항을 다는걸 추천합니다.

카메라를 달면 버튼 누를 시 화면을 캡쳐하여 보낼 수도 있습니다. 기능 구현은 구글 검색하시면 많이 나옵니다.

 문열어달라고 버튼 누른 사람 얼굴도 볼수 있겠죠 허허허허



서버 모니터링, 라즈베리파이에 관심이 많습니다. http://www.sproc.co.kr http://rpi.sproc.co.kr
송진홍 05-27
대단합니다.. 원하는 건 다 만들어 내시는군요..ㅎㅎ
     
요즘은 필요한거 생각하는거..구글에 다 있는 세상이라 누구나 쉽게 접할 수 있죠. 저 같은 사람도 이리 쉽게 할 수 있으니 허허허허
정말 대단하십니다!!!
문무를 겸비하신 실력에 인물까지 출중한 2cpu 회원님!
     
10여년전에 뵙고 난 후 저는 인물출중은 이미 옛날일이 되어 버렸습니다. 허허허허
대단하시군여 +_+!!!
죠슈아 08-11
스위치 디바운스를 풀업저항으로 한다는 건  첨들어봅니다
ㅎㅎㅎ




제목Page 2/53
08-16   5106   경박한시민
08-22   1684   경박한시민
08-12   6178   페선생
08-05   9002   맑은부철
08-05   7620   맑은부철
07-31   9631   isilentwind
07-26   10188   경박한시민
07-24   9839   맑은부철
07-21   9413   motu
06-30   14390   임민규
06-29   14794   경박한시민
06-24   15052   똑똑한멍청이
06-21   12595   일국
06-19   12731   페선생
06-09   15704   맑은부철
06-08   10181   isilentwind
06-08   9581   블랙치이
06-03   9537   일국
05-27   11086   경박한시민
05-21   12537   박문형