栽培環境構築関連

BeagleBoneBlackによる温度測定&ファンコントロール

栽培環境構築関連
スポンサーリンク

BeagleBoneBlackを買った

 

写真

 本体

 

温度センサ

 

Ubuntuをインストール

よく使うWindows7にて

  1. http://beagleboard.org/Getting%20Started からBeagleBoneBlackとPCとをUSBで繋ぐ際のドライバをダウンロードし、インストールする。

よく使わないUbuntu(13.10)にて

  1. 必要そうなアプリをインストールしておく
    $sudo aptitude install dosfstools git-core kpartx u-boot-tools wget
  2. ubuntuのイメージをダウンロード
    $wget http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-09-26.tar.xz
  3. 解凍
    $tar xJf ubuntu-13.04-console-armhf-2013-09-26.tar.xz
  4. 移動
    $cd ubuntu-13.04-console-armhf-2013-09-26
  5. microSDカードのデバイス名を確認
    $sudo ./setup_sdcard.sh –probe-mmc
  6. セットアップ
    $sudo ./setup_sdcard.sh –mmc /dev/????? –uboot board –swap_file 512

BeagleBoneBlackにて

  1. イーサネットケーブルをつなぐ
  2. microSD入れる
  3. WindowsとUSBでつなぐ

Windowsにて

  1. SSHで192.168.7.2につなぐ
  2. ID:ubuntu PASS:temppwd
  3. apt-getをupdate
    $sudo apt-get update
  4. apt-getをupgrade
    $sudo apt-get upgrade
  5. 地域を東京に
    $sudo dpkg-reconfigure tzdata
  6. IO用のpythonライブラリを入れる。詳細は以下
    Setting up IO Python Library on BeagleBone Black
    The BeagleBone Black has many pins you can use for your projects. There are 2 x 46 pin headers available. Use the Adafru...

プログラム(わかりやすさのため配列を使っていません)

#! /usr/bin/python
# -*- coding: utf-8 -*-

import Adafruit_BBIO.ADC as ADC
import time
import urllib
import urllib2


sensor_pin_1 = 'P9_35'
sensor_pin_2 = 'P9_36'
sensor_pin_3 = 'P9_37'
sensor_pin_4 = 'P9_38'
ADC.setup()

while True:
        reading_1 = ADC.read(sensor_pin_1)
        reading_2 = ADC.read(sensor_pin_2)
        reading_3 = ADC.read(sensor_pin_3)
        reading_4 = ADC.read(sensor_pin_4)
        millivolts_1 = reading_1 * 1800.
        millivolts_2 = reading_2 * 1800.
        millivolts_3 = reading_3 * 1800.
        millivolts_4 = reading_4 * 1800.
        temp_c_1 =  (millivolts_1 - 424) / 6.25
        temp_c_2 =  (millivolts_2 - 424) / 6.25
        temp_c_3 =  (millivolts_3 - 424) / 6.25
        temp_c_4 =  (millivolts_4 - 424) / 6.25
        print('sensor1=%f sensor2=%f sensor3=%f sensor4=%f' % (temp_c_1,temp_c_2
,temp_c_3,temp_c_4))
        url=GETするURLを書く + ?
        value1 = temp_c_1
        value2 = temp_c_2
        value3 = temp_c_3
        value4 = temp_c_4
        query = {'temp1':value1, 'temp2':value2, 'temp3':value3, 'temp4':value4}
        urllib.urlopen(url + urllib.urlencode(query))
        time.sleep(300)



あとは下記と同じ。

コメント

タイトルとURLをコピーしました