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

こんにちは。家にいるのに「家に帰りたい」って言います。

五十嵐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利用料$100ドル無料

あなたにおすすめの記事