Raspberry Pi로 Grove Pi+의 센서 값을 얻고 kintone에 저장
14364 단어 RaspberryPi파이썬금과grovepi
개요
해커슨에서 Raspberry Pi와 Grove Pi+스타터 키트, kintone을 활용하게 되어, Grove Pi+스타터 키트의 센서값을 kintone에 올리는 샘플 프로그램을 작성했습니다.
Raspberry Pi와 Grove Pi+ 준비
Raspberry Pi의 환경은 이전에 설정한 다음을 사용했습니다.
Raspberry Pi에서 Grove Pi+ 스타터 키트와 카메라를 사용한 초기 설정
htps : // 코 m / 유카타 오카 / ms / 9df2c74f7cd514 04b97
이번에 사용한 Grove Pi+스타터 키트의 센서는 온습도, 빛, 소리입니다.
이쪽도 이전 시험한 이하를 참고로 구성했습니다.
Grove Pi+스타터 키트의 센서 시험 5.Example Project: Sensor Twitter Feed(센서값 트윗)
https://qiita.com/yukataoka/items/ef73eb1a329f18015aab#5example-project-sensor-twitter-feed%E3%82%BB%E3%83%B3%E3%82%B5%E5%80%A4%E3% 81%AE%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88
kintone 앱 추가
kintone 앱을 처음부터 만들고 양식 만들기
필드는 다음과 같이 설정합니다.
필드 이름
유형
피드 코트 요소 ID
일시
일시
datetime
광 센서
숫자(소수 2자리)
빛
사운드 센서
숫자(소수 2자리)
사운드
온도 센서
숫자(소수 2자리)
temp
습도 센서
숫자(소수 2자리)
humidity
앱 설정 화면에서 API 토큰 설정
앱 설정 화면에서 설정 -> 커스터마이징> 서비스 연동 API 토큰으로 API 토큰 설정 화면이 열립니다.
「생성한다」버튼을 누르면 API 토큰이 추가되므로, 액세스권을 "추가"만 체크해 「저장」합니다.
프로그램 개발
kintone API SDK for Python을 사용하여 Grove Pi + 센서 측정을 kintone 레코드에 추가하는 구현을 수행했습니다.
Grove Pi+ 센서 측정치의 취득에 대해서는 이하를 참조해 주십시오.
Grove Pi+스타터 키트의 센서 시험 5.Example Project: Sensor Twitter Feed(센서값 트윗)
https://qiita.com/yukataoka/items/ef73eb1a329f18015aab#5example-project-sensor-twitter-feed%E3%82%BB%E3%83%B3%E3%82%B5%E5%80%A4%E3% 81%AE%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88
kintone API SDK for Python에 대해서는 아래를 참조하십시오.
Raspberry Pi에서 kintone API SDK for Python 사용 (Raspberry Pi에서 쉽게 kintone에 데이터 저장)
htps : // 코 m / 유카타 오카 / ms / 9025 1b9951 fu b419 fu c
wifi_kintone.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import codecs
import math
import sys
import time
# Grove Pi+
import grovepi
# kintone API SDK for Python
import pykintone
from pykintone import model
import pykintone.structure_field as sf
# Grove Pi+ Connections
sound_sensor = 0 # port A0
light_sensor = 1 # port A1
temperature_sensor = 2 # port D2
# Connect to kintone
subdomein = "kintoneのサブドメイン"
appId = "kintoneのアプリケーションID"
token = "kintoneのAPIトークン"
app = pykintone.app(subdomein, appId, token)
# kintone record layout
class recordLayout(model.kintoneModel):
def __init__(self):
super(recordLayout, self).__init__()
self.datetime = ""
self.light = 0.0
self.sound = 0.0
self.temp = 0.0
self.humidity = 0.0
# example code
if __name__=="__main__":
grovepi.pinMode(led,"OUTPUT")
grovepi.analogWrite(led,255) #turn led to max to show readiness
while True:
try:
# Get value from light sensor
light_intensity = grovepi.analogRead(light_sensor)
# Get sound level
sound_level = grovepi.analogRead(sound_sensor)
time.sleep(0.5)
# Get value from temperature sensor
[t,h]=[0,0]
[t,h] = grovepi.dht(temperature_sensor,0)
print ("Temp: %d C, Humidity: %d, Light: %d, Sound: %d" %(t,h,light_intensity/10,sound_level))
# kintone POST
record = recordLayout()
record.datetime = time.strftime('%Y-%m-%dT%H:%M:%S+09:00')
record.light = light_intensity/10
record.sound = sound_level
record.temp = t
record.humidity = h
res = app.create(record)
if res.ok:
print("kintone record add id=" + str(res.record_id) + " revision=" + str(res.revision))
else:
print(res.error.id.encode('utf-8'))
print(res.error.message.encode('utf-8'))
print(res.error.code)
time.sleep(60 * 10)
except KeyboardInterrupt:
exit()
except (IOError,TypeError) as e:
print("Error")
print(e)
exit()
결과
다음과 같이 Raspberry Pi로 측정한 센서값을 kintone에 저장할 수 있었습니다.
아래와 같은 그래프를 kintone으로 표시해 보았습니다.
kintone에 데이터를 저장할 수 있으면 편리하네요!
참고
Raspberry Pi에서 Grove Pi+ 스타터 키트와 카메라를 사용한 초기 설정
htps : // 코 m / 유카타 오카 / ms / 9df2c74f7cd514 04b97
Grove Pi+ 스타터 키트 센서 사용
htps : // 코 m / 유카타 오카 / ms / 에 f73 에 b1 아 329f18015 아 b
Raspberry Pi에서 kintone API SDK for Python 사용 (Raspberry Pi에서 쉽게 kintone에 데이터 저장)
htps : // 코 m / 유카타 오카 / ms / 9025 1b9951 fu b419 fu c
Reference
이 문제에 관하여(Raspberry Pi로 Grove Pi+의 센서 값을 얻고 kintone에 저장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yukataoka/items/7129a2c6ccf3d506be49텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)