IT農業とセンサーとIoT女子

Tech

2016.8.9

Topics

こんにちは。家にいるのに「家に帰りたい」って言います。
五十嵐a.k.a.自称IoT女子です。

profile_image五十嵐a.k.a.自称IoT女子
2016入社☝️大学院で花の遺伝子を研究するも、日本のインダストリー4.0に夢中となり、その実現を目指す&その恩恵を直接受けるべく4月より入社し奮闘中✊💥💨
三度の飯よりでんぱ組.inc⚡️

前回は、練習としてLチカをやってみました
さて、いよいよ本題です。
前回学んだノウハウを活かし、ミニチュアIT農業を行います。
以前ミニチュアIT農業の仕組みについて触れましたが、今回はこの部分を作っていきます。
フロー1
ということで今回はセンサー編です。

植物を買いまして

まず、ミニチュアIT農業と謳うくらいなので、植物がなきゃあかんだろうと思い、
ガジュマルを購入しました。
S__22291392
名前があったほうが愛着が沸くかな、と思って名前もつけました。

S__22274247

自分でいい名前だと思ってます。
響きだけで意味とか全くないので聞かないでください。

 

毎度電子工作

ラズパイとブレッドボード、温度・湿度センサーと土壌湿度センサーはこんな感じで回路を組んで繋ぎました。
図11
2種類のセンサーモジュールにより、温度、湿度、土壌湿度が測定できます。

センサーデータを表示する

ために、以下のソースコードを実行しました。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import glob
import time
import datetime
import re
import subprocess
import spidev
import Adafruit_DHT
from slacker import Slacker
import RPi.GPIO as GPIO
spi = spidev.SpiDev()
spi.open(0, 0)
def get_temp_and_humid(sensor=11, pin=4):
"""温度湿度センサー(DHT11)から温度と湿度を取得する
"""
# 湿度と温度を取得
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
# 湿度と温度が正常に取得できていたら、値を返す
if humidity is not None and temperature is not None:
return (temperature, humidity)
else:
print('Failed to get reading. Try again!')
sys.exit(1)
def get_moisture(channel):
"""ADCの指定したチャンネルのデータを取得する
"""
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3) << 8) + adc[2]
return data
if __name__ == '__main__':
print("温度,湿度:", get_temp_and_humid())
print("水分量:", get_moisture(0))

 
図13
このように温度、湿度、(土壌)水分量が測れました!

さて、次回のIoT女子は?

五十嵐です。橘さんが音声データを流させようとしたらものすごい大音量で「あいうえおかきくけこさしすせそ」とテスト音源が流れ、あたりがざわめきました。その後小音で流しても笑いが起きるという事故でした。
次回は、
「IoT女子、slackにデータを送る」
「IoT女子、slack上でbot化する」
「IoT女子、ラズパイを使って植物に喋らせる」
の三本です。
 
じゃんけんは始まりません。

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら