2018年3月24日土曜日

秋葉原 かんだ食堂閉店 (数年ぶり? の投稿)

ネットの記事で秋葉原の「かんだ食堂」が閉店するとのことだったので,営業最終日の本日行ってみた.

大雑把に言うと,「激混み」&「いつもより料理が手抜き」でした.

かんだ食堂に行くと,いつも「生姜焼き定食」を頼むのですが,生姜焼き定食はタレというか,タレ+肉汁がたっぷりで,そのタレを付け合わせのキャベツの千切りにからませて食べるのが好きだったのです.

今日は,汁がほとんどなく,生姜焼き自体も調理後の時間が経ちすぎていた感じでした.

そもそも,かんだ食堂に入るのに,1時間近くならぶっていうのが,既にかんだ食堂らしくないけど,それだけ「ラストに食っとくか」っていう人が多かったんだと思います.

秋葉原にはそれほど頻繁に行くわけではないのですが,秋葉原に行っても古くからある店でしか飯を食ってなかった私としては,かんだ食堂の閉店はちょっと痛いです.

秋葉原に向かう途中に「今度からはキッチンジローの頻度が上がりそうだなぁ」と思いながら電車に乗っていました.


2016年5月7日土曜日

Raspberry Piでowncloudを動かす試み



パッケージの問題


owncloudのパッケージがapacheとphpとapache用phpモジュールに依存しているのに,owncloudをインストールしても,自動で入れてくれない.



とりあえずインストールする


root@raspberrypi:/home/pi# apt-get install apache2 php5 libapache2-mod-php5 owncloud


心配ごと


  • 以前webdavベースのファイルシステムを運用していた人から聞いたのは,『ファイルの保存の度に新バージョンのファイルとしてアップロードされるため,バージョン管理のログが膨らみ,サーバ側のファイルシステムが圧迫されて苦しい』ということなので,そこが少し心配.

  • 今回のインストールでは,SSLを入れていない(どうせ自宅LANだし)ので,そこが外部のサーバでやるときに,どの程度インストールや設定の手間が増えるか少し心配


2016年1月17日日曜日

seeed studio grove

seeed studio groveがどの程度使えるのか(ハードだけではなく,公開されているライブラリやサンプルアプリの出来栄えまで)を検証するため,国内に在庫がある(スイッチサイエンス,秋月,千石,マルツ)分だけでも買ってみた.

groveについてはこことかここを参照してね.

簡単に言うとarduinoなんかのシールドみたいなものをもっと使いやすく,もっと多くの機種で使えるようにするもの.

Arduinoのシールドとしてベースの基板を挿すと,そこにドータを指す端子が山盛りついていてgroveのモジュールを端子に挿して使うというもの.

下は,Arduino用のベースの基板.


いくつかのモジュールについて公開されているライブラリやサンプルプログラムを使って動くかどうかやってみているがベース基板では使えない端子を利用するよう指定しているもの,そもそもバグっているものなど微妙な修正が必要なものが結構あった.

ただ,公開しているソースが「公式wikiに貼ってある」だけ,「githubで管理されている」とその両方の場合ときちんと管理されていない風なのが使いにくい.

あと追加するコメントとしては,「公開するソースはきちんと自社のボードで使えることを確認してからにしましょう」かなぁ.

groveはArduino以外にもRaspberry PiやTI launch Pad, mbedなどにも対応しており(各機種用ベース基板を販売している),各モジュールもArduino以外のモジュール用のプログラムを公式Wikiに貼ってあるが,モジュールがほとんど対応していないプラットフォームがあったり,もう少しサンプルプログラムを充実させて欲しい(モジュールのプラットフォーム対応とかソースの管理とか).

でも,なにかセンサ等を使いたい場合に,Arduino等で動くセンサをぐぐって,さらにブレッドボードで回路を組んだ上で拾ってきたソースを直して動作を確認し,さらにArduinoのシールドの形にハンダ付けするのに必要な時間を考えると,有用なものだと思う.


2016年1月11日月曜日

Arduino用SdFatとGR-kurumi


GR-kurumiでSDカードを利用するため,Arduino用のSDのライブラリを触ってみた.


標準のSDライブラリは「ファイルのmvやrename」すらないので,
SDライブラリの後継にあたるSdFatを試してみた.

使えないカードとか出るものの,ライブラリのソース(設定)を修正すれば,
とりあえず,使えるということがわかった.

SdFatの最新版置き場


https://github.com/greiman/SdFat


問題

SPIの問題

githubから落とせるソースは独自のSPIのルーチンを経由するため,ヘッダファイル「SdFatConfig.h」を編集して標準のSPIライブラリを経由してSDカードにアクセスするように
変更する必要がある.

SDカードとの組み合わせ

上記の修正をしたためか否かテストしていないが,SdFatはClass4のマイクロSDカードは
対応できるものの,Class 10やUHS表記のあるカードは処理できないようだ.

SdFatの「SdFatConfig.h」修正

要は「カードにアクセスするSPIのルーチンを標準のSPIライブラリに変更する」修正を
すること.

    /**
     * The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card.
     *
     * IF SD_SPI_CONFIGUTATION is define to be zero, only the SdFat class
     * is define and SdFat uses a fast custom SPI implementation.
     *
     * If SD_SPI_CONFIGURATION is define to be one, only the SdFat class is
     * define and SdFat uses the standard Arduino SPI.h library.
     *
     * If SD_SPI_CONFIGURATION is define to be two, only the SdFat class is
     * define and SdFat uses software SPI on the pins defined below.
     *
     * If SD_SPI_CONFIGURATION is define to be three, the three classes, SdFat,
     * SdFatLibSpi, and SdFatSoftSpi are defined.  SdFat uses the fast
     * custom SPI implementation. SdFatLibSpi uses the standard Arduino SPI
     * library.  SdFatSoftSpi is a template class that uses Software SPI. The
     * template parameters define the software SPI pins.  See the ThreeCard
     * example for simultaneous use of all three classes.
     */
    #define SD_SPI_CONFIGURATION 1


Fritzingの部品データを作ってみた


Fritzingを使って,仕事で回路図を作った際に,Fritzingには部品データが
なくて困ったので,幾つかのパーツについて,部品データを作ってみた.

GR-kurumi以外はとりあえず使えるレベルかと.GR-kurumiは
A4~A7がちゃんと定義されていない(というか,元データのpro mini
から変更していない)

秋月電子通商のDC/DCコンバータ

以下の2種類のDIP化されたDC/DCコンバータ.

3.3V出力コイル一体型昇圧DCDCコンバータ




5V出力コイル一体型昇圧DCDCコンバータ




Fritzingの部品データ






電源端子

ブレッドボード用DCジャックDIP化キット


Fritzingの部品データ



マイクロSDカードスロットDIP化キット



Fritzingの部品データ





Sparkfun DeadOn RTC module



Fritzingの部品データ




GR-kurumi



Fritzingの部品データ


DS3234SとArduino

SPI接続のRTCをArduinoで使う必要があったため,とりあえずぐぐってみたら
秋月でDS3234S(リンクは下)が見つかった.とりあえず,アキバに出撃して
買ってきたが,うまく動作せず.

「その他参考にしたページ」につけたリンクの記事も読んで試したがダメだった.

「ダメ」の症状だが,RTCから時刻を読むとデータ化けがひどくて訳の分からない時刻となる.
SPIの動作モードなど変えてみてもだめだった orz

仕方がないので,お値段5倍ほどになったが,spark funが売っている「DS3234」使用の
breakout モジュールを買ってみた.ソフトもsparkfunのモジュールで動作させたらこちらは動く.
ただし,githubのソースではSPIのモードは1でも3でも動くはずと書いてあるが,
手元の端末ではmode3でしかまともに動作しなかった.

さらに,SDカードと組み合わせると,どちらかしか使えない orz

仕方がないので,端末起動時にRTCから値を読んで,時刻は本体の時計に保存し,
以後はSPIはSDしか使わない方向で組み直して使っている.

Arduinoでは無理だが,GR-kurumiは内蔵RTCがあるので,そちらの機能で
割り込み処理なども可能.この場合,DS3234Sはバッテリバックアップのある
時刻保存装置みたいなもの.


ハード

秋月のDS3234Sのページ



spark funが売っているDS3234Sのモジュール



Arduino用ソース

spark funのソース置き場




その他参考にしたページ




2015年9月22日火曜日

Arduinoの消費電力

具体的な数字はかけないけど,幾つか機種の消費電力を測定してみた感想.

Pro miniのように,USB端子を持たないものはいいけど,USB端子がついてる機械は何もしてなくても,電気バカ食い.

CPUを低電力モードにしても,UnoやMEGAは20mA以上流れている.ARMコアの機種(M0 pro, Due)はCPUの低電力モードが無い上に,メインの処理の内容をなし(空っぽの無限ループ)にして,測定した場合に3桁のmAの消費電力.

これじゃあ,電池だけで動かすのはつらいよね~

ただし,Pro miniのCPU(MCU)をパワーダウンモードにしても,数百マイクロA流れているので,電池駆動でRTCで定期的に起こして使う場合でも,結構な電力消費量になりそう.

本当に消費電力を下げるためには,RTCと電源制御マイコンを使って,Arduinoに供給する電力をArduinoの外側でON/OFF制御しないと無理かも~

マイコンの消費電力測定用のお買い物



背景


ArduinoはVIN端子とGND端子に安定化電源を繋げば動作するが,Raspberry PiやArduino互換機の一部(ルネサスのがじぇるねSAKURAなど)はUSB給電でないといろいろ面倒なため,USB端子を改造できる部品が必要.

安定化電源から,ブレッドボード経由でUSB端子からマイコンとブレッドボードから測定器に接続することにした.

購入した部材

お買い物

とりあえず,Aメスの端子だけあればいけるはずだが,もののためしにマイクロBメスも買った.

秋月の店内が改装されており大変広くなった(入り口から奥の方の店員のスペースがすべて売り場に変わった).

ただし,どこに何が置かれているが置き場所とかも全部変わったため,わけかわめ.さらに,広くなったはずなのに,やはり大混雑で,もう大変.

昼食

あいも変わらず,かんだ食堂に行ったところ,しょうが焼き定食がサービスだったので,しょうが焼き定食をおいしく頂いた.ただし,高血圧の人間としては,少々塩辛いがたまにはいいか.

以前,息子の買い物の時にかんだ食堂に連れて行ったら比較的気に入ったようだった.(息子は唐揚げ定食ご飯大盛り)




Arduino UnoをBluetoothでPCと接続


背景


以前の日記に書いたように,メモリ容量の小さなArduino (Uno等)をBluetoothでPCと接続するためには,USBホストシールドは利用することができない.そのため,可能な手段は大きく分けて以下の2種類.

  • BLEのシールドを使って,PC側に頑張ってプログラムを作る.
  • bluetoothシリアル変換のボードを使って,bluetooth2.0とかのプロトコルでPCと接続する.

今回は2番目の手法を試してみた.


利用した機材



接続

接続方法は,両方の機器のグラウンドを共通にして,TxとRxをクロスで接続するだけ.
下の図は参考文献のところに掲載されている図を加工したもの.ピン位置は間違っていないと思うけど,元々のドキュメントを確認してね.








接続結果

上の接続方式では,ArduinoからBluetoothモジュールはシリアル端子に見えるため,通常のプログラミングとかに用いるUSB端子と同じプログラムのままで動作する.

注意点

  • bluetoothモジュールを繋いだままで,USBからプログラムを書き込もうとしてもできないため,プログラムを書き込む時には,Bluetoothモジュールの配線を一時的に外す必要がある.ただし,プログラムを変更する必要がまったくないので楽ちん.

  • Arduinoのプログラムからは,bluetoothモジュールの制御はできないため,ペアリング関係で設定を変更する場合等は,bluetoothモジュールのマニュアルを読んで,モジュールのUSBポートにPCを繋いで設定変更する必要がある.


参考文献







arduinoとRaspberry PiをbluetoothのSPPプロファイルで通信させたい



きっかけ

転がっていた古いUSB用のbluetoothドングル(EDR2系)を
USBホストシールドにつないで使おうとしたら,arduinoのusbホストシールドのライブラリがでかすぎて,作ったプログラムがUNOに入れられなかったので,別の手段を使おうとした.


USBホストシールドを使わない場合の手段は以下の2つ

  • BLEのシールドを使う
  • bluetoothシリアル変換のボードを使う


BLEの場合


RaspbianをインストールしたRaspberry PiのUSBポートにBLEドングルを指して,BLEシールドを載せたArduinoと通信させようとしていろいろハマった.とりあえず,低レイヤでの接続はできたが,アプリレベルでの通信には成功していない.

なお,これ以上の対応は面倒なので当面は放置することにした.

Bluezのバージョン


現在のバージョン(2015-05-05版のDebian Wheezy相当)のRaspbian付属のBluezはBLEがまともに動作しないため,なるべく新しい版を自分でコンパイルしないといけない.


LinuxのBLE対応のレベル

とりあえず,接続はできるが,低レベルの機能しか提供されていないため,プロトコルスタックをアプリが実装しないといけない.

スクリプト言語からgatttoolを叩いて,その出力をスクリプト言語で加工すればできなくもないが,非常に面倒.

結論


あまりに面倒なのでとりあえず,ここまでで中断して他の手段を試すことにした.iOSやandroidだとプロトコルスタックが提供されているのに,非常に残念.


bluetoothシリアル変換を使う

レガシーのbluetoothのプロトコルを使うと,linux側ではrfcommでシリアルポートから送受信できる.BLEじゃないので,消費電力が大きくなるが,Linux側の実装が楽になるので,とりあえず,これを試す(予定).

2015年7月5日日曜日

arduinoのbluetoothのシールド



もともと

以前,RTCで寝ているArduinoを起こし,センサの値を読んで,BLEで他のホストに投げる端末を作ってみたが,プログラムサイズが大きすぎてUnoでは利用できなかった.

その原因は,USBホストシールドにBLEのアダプタを挿す形式のハードウェアを利用していたため,USBホストシールド+BLE用のライブラリが巨大だったこと.

そのため,USBホストシールド無しでBLEを利用すれば,Unoでも行けるんじゃないかということで手配してみた.(まだ未入荷)


以前のプロジェクト


ソース : https://github.com/houtbrion/Dht22RtcSpp
製作記事 : http://houtbrion.wiki.fc2.com/wiki/Dht22RtcSpp%E5%88%B6%E4%BD%9C

手配したシールド



予習


Seeed Studio BLE Shield

メーカのサイトを見ると,以下のwikiを見よと書いてある.




写真を見ると,シリアル通信に使うポートは選べる(シールド側にどのポートを使うか切り替えるショートピンが付いている)ように見える.


RedBearLab BLEShield


とりあえず,ライブラリや開発者ドキュメントはgithubにまとめられているらしい.




arduinoのEthernetシールド

会社でArduinoのEthernetシールドR3を発注していたが,Ethernetシールド2への切り替え時期にハマってしまい,お馬鹿な購買部門が手続きに時間を掛けている隙に売り切れとなり,購入不可となった.

他の部品とセットで発注していたので,発注取り消しだと.

品切れの部品以外だけを買うことはできんもんか.

馬鹿すぎる.

2015年7月4日土曜日

Arduino M0 pro購入

会社で発注していたArduino M0 Proが入荷したので触ってみた.

結論:
「arduinoのピン配置の基本などが同じなだけでまったく違うと思ったほうが良い.」

主な違い

気がついた主な違いは以下の点

  • 本体が3.3V駆動のため,いろいろな周辺機器の回路が動かない.
  • I2Cのピン配置が変わっている.
  • CPUの低電力モード
  • ライブラリの非互換
  • 開発ソフト

I2C

I2Cのピンは古いUNOでは,A4,A5(アナログピン4,5)だったのが,R3からデジタル側のピン数が増えて,そちらにもI2Cのピンが作られた.(参照 : "なんでも作っちゃう、かも。"さん)

M0 Proは,"きむ茶"さんの情報によると,アナログピンのI2C機能はない模様.


以前の工作ではA4,A5のI2C使っていただけに,今後はいろいろ考えないといけない.


CPUの低電力モード

今回から,コアがARMになったので,その点でもいろいろ違う.特に,気になったのがCPUのsleep機能がない.ATmegaの頃は,CPUに低電力モードがあって,それが使えたが,M0 proの開発環境を見ると,低電力モード関係の定義(sleep.h)がヘッダのディレクトリに見当たらない.


ライブラリの非互換

CPUアーキが変わったのだから,当然発生しうる問題なんだが,以前のプロジェクトで使っていたライブラリが開発環境組み込みのなにかのモジュールと喧嘩している.

具体的には,"きむ茶"さんのRTCのライブラリで使っている変数型が開発環境のどこかのインクルードファイル内の定義と喧嘩している.

開発ソフト

Arduinoの仲間割れのせいで,IDEも2分割されていることだけでなく,コンパイル,書き込み後の動作にも変化が.

IDEを使っていて,アプリをコンパイルして書き込んだ際,「書き込みが終了しました」まで待ってから,シリアルのウィンドウを開けた際,UNOやMEGAだと,IDEのシリアルのウィンドウを開くと,最初から実行されるが,M0 proはそのようなリセットっぽい機能はなく,人間が手でリセットボタンを押さないといけないのがめんどくさい.


参考文献


DELLのPC購入


会社でシステムの運用方針が代わり,ノートPCの持ち出しが一弾と厳しくなる予告があったため,windows10が出る直前だというのに,ノートPCを買うことにした. 
(せめてwindows10モデルが出るまでは現状維持したかったな~)

現状,毎日持ちだしているのに(ぶつぶつ).

持ち出せないと学会関係(宗教ではない)の仕事で困る.

自宅にもPCはあるが,家族と共用なので,持ち歩けない.

会社では,事情が許すかぎりthinkpadのxシリーズを使ってきたが,最近の品質低下(といっても,IBMだった時代の終わり頃からだからだいぶ昔からか.)などが酷いことと,そのわりに値段が高いことから,パス.

レッツノートもチェックはしたが,おじさんのお小遣いの残りを溜めたへそくりで買うには高すぎる.

macbookは一見安いように見えたが,よくスペックを見ると高い.特に,メモリが少ないわ.良い点はSSDを使ったラインナップが充実しているぐらいか.

安いこと,延長保証などの観点から今回はやむを得ず(本気でやむを得ず) Dellの Inspiron 13 7000 Series 2-in-1 (7348)にした.

BTOとはいえ,週末はライン動いてるのか?
今日(土曜日)一日,発注品の生産状況が変化していないところを見ると,お休みのように見える.(多分工場は中国だよね~)

3交代24時間体制にしろとは言わんが,もう少し,なんとかしろと思う.カスタマイズするところがなくても,在庫するモデル数が少なすぎ,BTOで時間がかかるのはイライラする.



arduinoの各種プロジェクト



wikiとgithubに以下のarduinoとraspberry pi関係の制作記事を公開


  • DHT22RTC : 温度・湿度計を測定してシリアルポートに出力するセンサ
  • Dht22RtcSpp : 一定時間間隔で温度・湿度を測定してbluetoothで送信するセンサ
  • DHTWebServer : HTTPのリクエストを受けると,温度や湿度を測定し,温度・湿度・ヒートインデックスをHTMLで返すwebサーバ
  • Pi-CoolingFan : Raspberry Piの本体の温度が高い時だけ冷却ファンを回す回路と制御プログラム

上記のプロジェクトはこのblogに書いたことがあるものばかりだけど,ソースや制作内容も最新のものに変更されている.


DHT22RTC


Dht22RtcSpp



DHTWebServer


CoolingFan

wikiとgitリポジトリ


blogだと,書いた記事が流れてしまって,あとからの参照が面倒なのと,ソースのリビジョン管理をやりたかったので,無料のwikiサービスとgithubのアカウントを作った.

githubにもwiki機能はあるが,そちらを使わなかった理由は,githubのwikiはユーザアカウントではなく個々のリポジトリにしか付けられないので,全体のまとめやメモの蓄積には向かないため.





2015年5月17日日曜日

arduinoとraspberry pi間のbluetooth接続



参考文献

Raspberry Pi関係



Arduino関係

参考文献というか,ソースそのもの.

Arduino

Bluetoothアダプタ

むか~し買った,planexのbluetoothアダプタ(古すぎて機種名など不明)

実験用本体

  • Arduino ADK (古いから3.0じゃないよ)
最終的には,実験などで使わないようなものを実用系システムに回したいので,ADKではなく,一番使われていないものと後で変更(予定)

最終予定本体

  • Arduino Mega 2560 (こちらも結構古い機体)

USBホストシールド


本当に使えるか否か,未だ未確認.


Raspberry pi

本体

piは自宅で遊び用にしていたが,pi2が出たためそちらも購入.piをセンサ用に流用しようと仕込み中.先日(2015年5月)に秋月の店頭ではmodel B+とPi2の両方が売っていた.

Bluetoothアダプタ

家のごく近所(徒歩3分ぐらい?)のところのヤマダ電機でバッファローのBLEアダプタを購入.箱とか捨てたので,こちらも機種名などは不明.今のところ問題なく動作している.

準備

Raspberry Pi

ソフトのインストール

使っているのはraspbianなんで,普通に「apt-get」する.GUI不要なのでインストールするのは最小限にする.


# apt-get install bluetooth bluez-utils


不具合修正


参考文献「http://d.hatena.ne.jp/yunoya/20140330/1396114048」と同じ問題が出たので以下の修正を実施.bluez-simple-agentの


capability = "KeyboardDisplay"



capability = "DisplayYesNo"

に変更.

Arduino

USBシールド用ライブラリをダウンロードして,添付されているBluetooth用のsppプロファイル向けのサンプルプログラムを入れれば,動作の確認まで可能.

USBシールドのライブラリ(https://github.com/felis/USB_Host_Shield_2.0)をarduinoのIDEに登録すると,サンプルプログラムが利用できる.

USB_Host_Shield_2.0/examples/Bluetooth/SPPが今回使うサンプルプログラム.

このプログラムでは接続確立後に,PCとarduinoからデータを送り合って,相手から届いたデータを画面に出すことができる.arduinoの場合,シリアルモニタ画面を開いて,入力窓からテキストを入れると,Raspberry Piのアプリからそのデータを拾うことができる.

接続

まずは,Bluetoothのデバイスの接続


# bluez-simple-agent hci0 <MACアドレス>
DisplayPasskey (/org/bluez/XXXX/hci0/dev_<MACアドレス>, YYYY)
Release
New device (/org/bluez/XXXX/hci0/dev_<MACアドレス>)
# 

次はBluetoothのシリアルプロファイルを使えるようにする


# rfcomm bind 1 <<MACアドレス>>
 

動作の確認

次のコマンドでarduinoから送られるデータが表示される.

# cat /dev/rfcomm1


Arduinoで使える温度・湿度センサについての情報整理



以前の記事では,温度センサにLM35DZ,湿度センサはDHT11を使いました.そこでわかったこと.DHT11の温度出力は常に2度かそれ以上高くて測定値として使うのは問題あるレベルだった.

そのため,前回の記事ではLM35DZの温度とDHT11の湿度から体感温度を計算してます.

ただし,この記事で書いたようなシステムでセンサを積んだエンドノードはあまり大きいと置き場所に困る.ちなみに,前回の試作の記事のうち暫定版の記事には本体の写真が入れてありますが,センサ関係の回路を収める関係上,箱はこちらの製品になってます.


この箱のサイズはL126.8×W89.2×H30.0mmなんでかなり大きいのはわかってもらえると思います.

今回は,センサを積んだエンドノードをばらまくことができるようにしたいため,部品点数を減らしたいというのが意図です.

そのため,LM35DZを使わず,DHT11の代わりにもう少し精度がマシなセンサ1台でなんとかしようということで,他のセンサの情報のまとめです.

とりあえず,いろいろ以下の参考文献を見た結果,価格面もあり,DHT-22 (温湿度センサ モジュール AM2302)を購入しました.まだ実装とかはしていないので,後ほど報告しまふ.

参考文献



精度が重要な場合





オペアンプとかを使って,精度を上げるやりかた.今回は部品点数を減らすため採用しない.

この記事で使っているセンサは「HIS-02」と「HS15P」


ちょっとお金持ちさま向け(SHT11)





精度が「温度±0.4°、相対湿度±3%」と非常に良い.ただし,秋月のSHT11の販売ページを見ると,現時点(2015年5月)で『4,300円』と非常に高いのでこちらもパス.お金持ちさまにはおすすめかも.


いろんなセンサの比較記事

5種類のセンサの比較記事になってます.




SHT11とDHT22の利用事例




SHT11とDHT22の利用方法を紹介してます.


DHT22の利用事例





2015年5月時点のセンサの秋月での価格



参考情報

秋月のwebからのコピペですが,両方のセンサの仕様を入れておきます.具体的に検討したい方は,秋月のwebにデータシートがありますんで,そちらを参考にしてください.

LM35DZの仕様


  • 測定温度範囲:0~100℃
  • 精度:±1℃
  • 温度係数:10.0mV/℃
  • 電源電圧:DC4V~20V
  • 低消費電流:60μA
  • 低出力インピーダンス:0.1Ω
  • パッケージ:TO-92


DHT11の仕様


◆主な仕様


  • 電源電圧:3.5V~5.5V
  • 消費電流:0.3mA(測定時)、60μA(スタンバイ時)
  • サンプリング間隔:2秒以上
  • 内部ADコンバータ:各16bit
  • サイズ:12×15.5×5.5mm(ピン含まず)


◆湿度センサ部


  • センサ:有機ポリマー
  • 精度:±5% RH(@25℃)
  • 繰り返し精度:±1% RH
  • レスポンス:6秒以内(1/e (63%)、@25℃、風速1m/s)


◆温度センサ部


  • センサ:NTCサーミスタ
  • 精度:±2℃(@25℃)
  • 繰り返し精度:±0.2℃
  • レスポンス:10秒以内(1/e (63%))


◆シリアル通信部


  • 形式:単線バス(双方向)、シリアル40bit構成
  • 出力データ:湿度8bit(分解能:1%RH)、温度8bit(分解能:1℃)
  • 出力:オープンドレイン
  • 通信距離:20m max(@5.1kΩプルアップ)




arduinoの温度・湿度センサとraspberry pi を Bluetoothでつなぐ時に役立つ情報源

今回は,前回の記事に書いたようなシステムを作るため,いろいろ調べたことのメモ.特に,参考文献のリストになってます.

Raspberry Piとbluetooth



参考文献


読んだ感想では3番目のリンクの記事が単純にやろうとしていることに近い.特に,raspberry piのbluetoothのプログラムの不具合修正まで書いてくれてあるのがありがたい.

4番目の記事はsppプロファイルで周辺機器とつなぐ際は参考になる.


Arduinoとbluetooth


参考文献



Arduino上のRTC


参考文献



上記のRTCの回路では,I2C通信のために抵抗をつけている例が多いですが,そのプルアップ抵抗が本当にいるかいらないかについては以下の記事が参考になるはず.


Arduinoの低電力状態

参考文献


無線を使った温度・湿度センサネットワーク

今日の記事は新しい試作の決意表明というか,イントロだけをカキコ.


以前の記事では,Ethernet付きのArduinoを使って,温度や湿度を取得できるようにした.部屋に1台だけ設置するなら,これでも十分なんだが,大きな部屋(会社の事務所等)でセンサをばら撒きたい場合,ネットワークの配線やIPアドレス大量消費の問題が出てくる.


そのため,下の図のようにarduinoが測定したデータをBLEやzigbeeで中継サーバ(今回はRaspberry piを予定)に集めて,有線イーサネットでどこかのサーバに投げ込む形式のシステムを作ろうとしてます.