라즈파이에서 방의 온습도를 측정하고 tweet
10010 단어 RaspberryPi파이썬DHT11Webhook
온습도 센서(DHT11)와 Raspberry Pi 연결
시작하려면 DHT 온습도 센서(DHT11)와 Raspberry Pi를 다음과 같이 연결합니다.
DHT11
Raspberry Pi
VCC
3.3V
GND
GND
DATA
GPIO4
그런 다음 DHT11을 처리할 수 있도록 'DHT11_python' 라이브러리를 삭제합니다.
LX Terminal에서 다음 명령을 실행합니다.
git chone https://github.com/szazo/DHT11_python.git
/home/pi 폴더 안에 "DHT11_python"이라는 폴더가 있습니다.
그 안에있는 "dht11_example.py"라는 파일을 Thonny Python IDE에서 열고 Pin 번호를 4 번으로 수정합니다.
dht11_example.pyimport RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 4
instance = dht11.DHT11(pin=4) #pin番号を4(GPIO4)に修正
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(1)
dht11_example.py를 실행합니다.
제대로 작동하면 획득 시간, 온도 및 습도가 표시됩니다.
pi@raspberrypi:~ $ cd DHT11_python
pi@raspberrypi:~/DHT11_python $ dir
LICENSE.md README.md __init__.py dht11.py dht11_example.py
pi@raspberrypi:~/DHT11_python $ python dht11_example.py
Last valid input: 2019-06-19 00:54:21.994905
Temperature: 29 C
Humidity: 43 %
Last valid input: 2019-06-19 00:54:24.147734
Temperature: 30 C
Humidity: 42 %
IFTTT로 webhook에서 Google 스프레드시트에 쓸 레시피 만들기
IFTTT 에서 webhook에서 Google 스프레드 시트에 쓸 레시피를 만듭니다.
여기 페이지 을 전면적으로 참고로 설정했으므로 여기 페이지 를 참조해 주세요.
조리법은 이런 느낌입니다.
파이썬 파일을 만들 때,
Value1은 취득 시간
Value2는 온도
Value3는 습도
가 들어가도록 하겠습니다.
IFTTT로 webhook에서 tweet하는 레시피 만들기
다음은 획득 시간, 온도, 습도를 트위트하는 레시피를 만듭니다.
요령은 Google 스프레드시트와 거의 동일합니다.
'This'는 Google 스프레드시트와 동일합니다.
이벤트 이름도 동일합니다.
'That'은 트윗하고 싶은 Twitter 계정을 연동시켜 Twitter text를 기입합니다.
Value1~3은 Google 스프레드시트와 동일합니다.
조리법은 이런 느낌입니다.
Webhook에 흐르도록 Python 파일 수정
'dht11_example.py'를 수정하고 Raspberry Pi로 따뜻한 습도를 얻고 Webhook에 흘리도록하십시오.
아래의 코드를 복사하면 아마 동작한다고 생각합니다.
(파일은 "dht11.py"와 같은 디렉토리에 저장하십시오.)
dht_ifttt.pyimport RPi.GPIO as GPIO
import dht11
import time
import datetime
# IFTTT_Webhook
def ifttt_webhook():
payload = {"value1": time,
"value2": temp,
"value3": humi }
url = "https://maker.ifttt.com/trigger/{Event Name}/with/key/{Your Key}"
response = requests.post(url, data=payload)
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 4
instance = dht11.DHT11(pin=4)
while True:
result = instance.read()
if result.is_valid():
break
date = datetime.datetime.now()
time = date.strftime("%Y/%m/%d %H:%M")
temp = result.temperature
humi = result.humidity
ifttt_webhook()
Raspbian의 cron 기능으로 정기 실행
Raspberry Pi를 조작하지 않고도 주기적으로 프로그램을 실행하기 위해 Raspbian의 cron이라는 기능을 사용합니다.
여기서는 한 시간에 한 번 dht_ifttt.py를 실행합니다.
LX Terminal에서 다음 명령을 실행합니다.
crontab -e
"Select an editor"가 표시되면 "2"의/bin/nano를 선택하십시오.
"nano"가 열리면 커서가 메인 하단으로 이동하고 다음 명령을 입력합니다.
00 * * * * /usr/bin/python3 /home/pi/raspberrypi/dht11_ifttt.py
git chone https://github.com/szazo/DHT11_python.git
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 4
instance = dht11.DHT11(pin=4) #pin番号を4(GPIO4)に修正
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
time.sleep(1)
pi@raspberrypi:~ $ cd DHT11_python
pi@raspberrypi:~/DHT11_python $ dir
LICENSE.md README.md __init__.py dht11.py dht11_example.py
pi@raspberrypi:~/DHT11_python $ python dht11_example.py
Last valid input: 2019-06-19 00:54:21.994905
Temperature: 29 C
Humidity: 43 %
Last valid input: 2019-06-19 00:54:24.147734
Temperature: 30 C
Humidity: 42 %
IFTTT 에서 webhook에서 Google 스프레드 시트에 쓸 레시피를 만듭니다.
여기 페이지 을 전면적으로 참고로 설정했으므로 여기 페이지 를 참조해 주세요.
조리법은 이런 느낌입니다.
파이썬 파일을 만들 때,
Value1은 취득 시간
Value2는 온도
Value3는 습도
가 들어가도록 하겠습니다.
IFTTT로 webhook에서 tweet하는 레시피 만들기
다음은 획득 시간, 온도, 습도를 트위트하는 레시피를 만듭니다.
요령은 Google 스프레드시트와 거의 동일합니다.
'This'는 Google 스프레드시트와 동일합니다.
이벤트 이름도 동일합니다.
'That'은 트윗하고 싶은 Twitter 계정을 연동시켜 Twitter text를 기입합니다.
Value1~3은 Google 스프레드시트와 동일합니다.
조리법은 이런 느낌입니다.
Webhook에 흐르도록 Python 파일 수정
'dht11_example.py'를 수정하고 Raspberry Pi로 따뜻한 습도를 얻고 Webhook에 흘리도록하십시오.
아래의 코드를 복사하면 아마 동작한다고 생각합니다.
(파일은 "dht11.py"와 같은 디렉토리에 저장하십시오.)
dht_ifttt.pyimport RPi.GPIO as GPIO
import dht11
import time
import datetime
# IFTTT_Webhook
def ifttt_webhook():
payload = {"value1": time,
"value2": temp,
"value3": humi }
url = "https://maker.ifttt.com/trigger/{Event Name}/with/key/{Your Key}"
response = requests.post(url, data=payload)
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 4
instance = dht11.DHT11(pin=4)
while True:
result = instance.read()
if result.is_valid():
break
date = datetime.datetime.now()
time = date.strftime("%Y/%m/%d %H:%M")
temp = result.temperature
humi = result.humidity
ifttt_webhook()
Raspbian의 cron 기능으로 정기 실행
Raspberry Pi를 조작하지 않고도 주기적으로 프로그램을 실행하기 위해 Raspbian의 cron이라는 기능을 사용합니다.
여기서는 한 시간에 한 번 dht_ifttt.py를 실행합니다.
LX Terminal에서 다음 명령을 실행합니다.
crontab -e
"Select an editor"가 표시되면 "2"의/bin/nano를 선택하십시오.
"nano"가 열리면 커서가 메인 하단으로 이동하고 다음 명령을 입력합니다.
00 * * * * /usr/bin/python3 /home/pi/raspberrypi/dht11_ifttt.py
'dht11_example.py'를 수정하고 Raspberry Pi로 따뜻한 습도를 얻고 Webhook에 흘리도록하십시오.
아래의 코드를 복사하면 아마 동작한다고 생각합니다.
(파일은 "dht11.py"와 같은 디렉토리에 저장하십시오.)
dht_ifttt.py
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# IFTTT_Webhook
def ifttt_webhook():
payload = {"value1": time,
"value2": temp,
"value3": humi }
url = "https://maker.ifttt.com/trigger/{Event Name}/with/key/{Your Key}"
response = requests.post(url, data=payload)
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 4
instance = dht11.DHT11(pin=4)
while True:
result = instance.read()
if result.is_valid():
break
date = datetime.datetime.now()
time = date.strftime("%Y/%m/%d %H:%M")
temp = result.temperature
humi = result.humidity
ifttt_webhook()
Raspbian의 cron 기능으로 정기 실행
Raspberry Pi를 조작하지 않고도 주기적으로 프로그램을 실행하기 위해 Raspbian의 cron이라는 기능을 사용합니다.
여기서는 한 시간에 한 번 dht_ifttt.py를 실행합니다.
LX Terminal에서 다음 명령을 실행합니다.
crontab -e
"Select an editor"가 표시되면 "2"의/bin/nano를 선택하십시오.
"nano"가 열리면 커서가 메인 하단으로 이동하고 다음 명령을 입력합니다.
00 * * * * /usr/bin/python3 /home/pi/raspberrypi/dht11_ifttt.py
crontab -e
00 * * * * /usr/bin/python3 /home/pi/raspberrypi/dht11_ifttt.py
crontab: installing new crontab
그리고는 hh시 00분에 기온, 습도가 기록되어 있는지 확인합시다.
이상.
Reference
이 문제에 관하여(라즈파이에서 방의 온습도를 측정하고 tweet), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takanorimutoh/items/e8ddae3861a562845c5d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)