SolidRun AMD HAILO Marvell NXP
Renesas TexasInstruments
  • ホーム
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
  • ダイレクトショップ
  • DL
  • 英徳社について
  • 問い合わせ
22日 4月 2015

HummingBoardでGPIO,I2C,SPIを使う(4) HummingBoardのI2Cに温度センサーをつなぎ、データをグラフ表示する

前回は、HummingBoardにWiringXを載せて、WiringXのAPIコマンドでGPIOの制御の検証をしました。”LEDチカ”まではこれでできるようになりました。併せてPythonでの制御もまもなくできそうです。今回は、GPIOと同じコネクタ上にあるSPIを使って、LCDモジュールを接続して表示をさせてみる検証を行ってみます。HummingBoardを装置に組み込んで、その装置の設定や状態の表示に使うというような用途が一番もっともらしいでしょう。小ぶりなもののほうが実際の用途に合っていそうです。 

ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュール
ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュール

[温度センサーモジュール]

 

 今回使用した温度センサーは「ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュール」です。株式会社秋月電子通商から購入することができます。

◆主な仕様

・温度精度:±0.5℃@-40℃~+105℃(2.7V~3.6V)

      ±0.4℃@-40℃~+105℃(3.0V)

・温度分解能:0.0078℃(16ビット設定時)/0.0625℃(13ビット設定時)

・温度校正および温度補正、直線性補正等は不要

・動作/測定温度範囲: -55℃~+150℃

・電圧範囲:DC+2.7V~+5.5V

・I2C互換インターフェース

・消費電流(@VDD=3.3V、TA=+25℃)

   ノーマル・モード:210μA(typ)

   パワーセービング・モード(1サンプル/1秒):46μA(typ)

   シャットダウン・モード:2μA(typ)

・基板サイズ:15×11ミリ

・基板上の入出力端子:4個(VDD,GND,SCL,SDA)

[配線]

 

 HumminBoardとの接続表です。今回の実験では、前回までと同じGPIO 拡張ボードとブレッドボードを用いています。 

GPIO拡張ボードコネクタ ボードに挿したところに信号名が読めて使い勝手が良い

I2C Signal 対応表 

GPIO Signal Comparison                    
GPIO Signal pin# HB Signal Sensor-PIN   GPIO Signal pin# HB Signal Sensor-PIN
7 CE1 26 ECSPI2_SS1     17 P0 11 GPIO 73  
8 CE0 24 ECSPI2_SS0     18 P1 12 GPIO 72  
11 SCLK 23 SPI_SCLK     27(21) P2 13 GPIO 71  
9 MISO 21 SPI_MISO     22 P3 15 GPIO 10  
10 MOSI 19 SPI_MOSI     23 P4 16 GPIO 194*  
15 RXD 10 UART RX     24 P5 18 GPIO 195*  
14 TXD 8 UART TX     25 P6 22 GPIO 67  
3(1) SCL 5 I2C_SCL CLOCK   4 P7 7 GPIO 1  
2(0) SDA 3 I2C_SDA DATA     GND      
                     
  GND 1   GND            
  3.3V 25   VCC                             
配線を済ませたボード
配線を済ませたボード

[OS]

 

 HummingBoardのGPIOの検証に使っているDebianを用います。v2.6(2015年2月時点で最新)以降のものを使ってください。(SPIのバグフィックスが入っているので重要)

http://www.igorpecovnik.com/2014/08/19/cubox-i-hummingboard-debian-sd-image/

http://mirror.igorpecovnik.com/Cubox-i_Debian_2.6_wheezy_3.14.14.zip

 Debian v2.6 / 5.2.2015 

 Kernel 3.14.14

 Fixed bug in SPI. Display works now

 XBMC upgrade ready / tested.

 

 

温度センサーが認識できるかチェックします

 

# i2cdetect -y 2

 

 

 

下のように、ADT7410のアドレスが 0x48 し表示されればOKです。

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00: -- -- -- -- -- -- -- -- -- -- -- -- --

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

 

70: -- -- -- -- -- -- -- --

 

 

 

 

 

 

 

 

 

 

 

 

 

温度を計測するために、下のようなPythonのファイルを作成します

 

/root/adt7410ディレクトリを生成して、ファイル名はadt7410.pyでセーブしてください。

(母艦のPCでadt7410.pyファイルを作成して、SDをマウントしてコピーする方が簡単でよいでしょう。以下、様々なテキスト・ファイルの作成・設置については同様に考えてください。)

 

#!/usr/bin/python

# -*- coding: utf-8 -*-

import smbus

import time

i2c = smbus.SMBus(2)

address = 0x48

while True:

    block = i2c.read_i2c_block_data(address, 0x00, 12)

    temp = (block[0] << 8 | block[1]) >> 3

    if(temp >= 4096):

        temp -= 8192

    print("Temperature:%6.2f" % (temp / 16.0))

    time.sleep(10)

 

 

 

 

 

 

 

温度測定をしてみます

 

次のようにPythonスクリプトを実行してください。

# python /root/adt7410/adt7410.py

 

 

 

10秒ごとに温度が表示されます。

 

 

[Webサーバのインストール]

 

測定した温度をPC、タブレット端末、スマートフォン等のブラウザからグラフとしてみられるように

Apache WebサーバとPHPをインストールしましょう。

(1) Apache2のインストール

# apt-get -y install apache2

 

 

 

(2) PHPのインストール

# apt-get -y install php5

 

 

 

これで、HummingBoardがWebサーバになりました。

 

 

[ グラフ表示の準備]

 

次に、Webサーバ上で動くグラフ表示コンテンツを作成します。

その前に、温度を計測して、その結果をCSVファイルに追記していくPythonスクリプトadt7410-2.pyを作成します。

グラフ表示コンテンツは、そのCSV1ファイルを取り込んで折れ線グラフを生成します。

 

(1) 測定した温度をCSVファイルに追記していくPythonスクリプトadt7410-2.pyを/root/adt7410の下に作成します

 

adt7410-2.pyの中身は下のように記述します。この例では10分ごとに”時刻”,”温度”を/var/www/adt7410/temp.csvファイルに追記していきます。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import smbus

import time

import datetime

i2c = smbus.SMBus(2)

address = 0x48

filepath = '/var/www/adt7410/temp.csv'

 

while True:

    block = i2c.read_i2c_block_data(address, 0x00, 12)

    temp = (block[0] << 8 | block[1]) >> 3

    if(temp >= 4096):

        temp -= 8192

 

    tnow = datetime.datetime.now()

    tstr = tnow.strftime("%Y/%m/%d %H:%M")

     

    f = open(filepath, 'a')

    f.write(tstr)

    f.write(',')

    f.write(str(temp / 16.0))

    f.write('\n')

    f.close()

 

    time.sleep(600)

 

      

tagPlaceholderカテゴリ: HummingBoard, MikroBus, GPIO, SPI, 外付け, 温度センサー

コメントをお書きください

コメント: 0

お問合わせフォームはこちら

メールはpetapicoshop@petapico.bizまで

適格請求書発行事業者登録番号のお知らせ


英徳社ホームページはこちら


1 日本国内への配送に適用されます。その他の国についてはこちらをご参照ください
概要 | 利用規約 | 返金条件と返品取消申請書 | 配送/支払い条件 | プライバシーポリシー | サイトマップ
ログイン ログアウト | 編集
  • ホーム
    • ショップからのお得情報
    • CuBox-i Seriesの情報
    • MicroSDの作り方
    • HummingBoard Seriesの情報
    • HummingBoard Edge/Gateの情報
    • IntelSoliPCの情報
    • windows10 IOTの情報
    • ClearFogの情報
    • MacchiatoBinの情報
    • fromSolidRunWebsite
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
    • KODI
    • Cobox-i
    • HummingBoard
    • ソフトウェアTips
    • 外付け
    • カメラ
  • ダイレクトショップ
    • ダイレクトショップ iMX SoC
      • CuBox-Mセット
      • iMX8M Plus
      • iMX8M Plus Mate
      • CuBox-i1 OpenELECWiFi model
      • HummingBoard Pulseセット
      • CuBox-i1 OpenELEC セット
    • WAI WAIセール
      • Sheeva
      • D3
      • SMILE Plug
      • 第1世代CuBox|CuBox-PRO
      • CuBox-i1 セット
    • ダイレクトショップ LX2K
      • LX2160Aファミリー
    • ダイレクトショップ Marvell SoC
      • CEx7 CN9132
      • ClearFog
      • ClearFog Base
      • ClearFog Pro
      • MacchiatoBin Double|Single Shot
      • ClearFog GT 8K
      • MACCHIATObin ClearCloud 8K
      • SolidSense スターターセット
    • ダイレクトショップ intel SoC
    • ダイレクトショップ eRemote
      • eRemote
      • eSensor
    • 12V AC アダプター(PSE対応)
    • CuBox-i1 GeeXboXセット
    • CuBox-i1 OpenELEC+plugin
    • HummingBoard-Gate i1セット
    • HummingBoard-i2eX セット
    • HummingBoard-i4pro セット
    • CuBox-i2 セット
    • CuBox-i2 WiFiセット
    • CuBox-i2eX セット
    • CuBox-i2eX WiFiセット
    • CuBox-i4 Pro セット
    • HummingBoard-i2 セット
    • HummingBoard-i1セット
    • Application microSD Card for CuBox-i
    • Android microSD Card for CuBox-i
    • SolidPC
    • SolidPC SSD 32G
  • DL
    • Media Exposure
  • 英徳社について
  • 問い合わせ
閉じる