オフィスに局所的に寒いところがあるので、温度を測定して記録を取る仕組みを考えました。局所的に寒いってことなんで、寒い所と普通の所の2カ所で測定が必要なんで、もう1つRaspberryを買い足しました。いつの間にかにRaspberry Pi Model B+なんて新機種も出てるようで。USB端子が増えてたり、メモリカードが出っ張らなくて全体的にスッキリした感じです。
ケースに入れると入出力用端子へのアクセスが不自由なので、その辺にあったIDEケーブルを挿して、ケーブルの先に各種入出力機器をつなげるようにしました。
これに温度センサーをくっつけ、無線通信ドングルくっつけて、自動温度測定が実現できます。
ただ、Arduinoと違いA/D変換ができないので、そこらへんでよく見るようなアナログセンサーではダメです。いろいろ検索したら、DS18B20というセンサーがご丁寧にデジタル信号を出してくれるもので、Raspberryと連携させている人がたくさんいるようで、あとはモノマネ+カスタマイズで完了です。
プルアップの抵抗とセンサーを小さな基盤に半田付けするだけなのですが、かなりてこづりました。中学生の時の「技術」の時間に作った半田ごてを使い(変圧器も)、半田付けをしましたが、どうやら手際が悪かったのか、熱でセンサーを痛めてしまったらしく、温度センサーがゴミデータを返すだけです。。
仕方ないので、まともな半田ごてや半田ごてをのせる台やら、センサーを基盤に直付けしないで済むように、ソケットを買ったり、そもそもセンサーが正常かどうか確かめるためにブレッドボードを買ったり、電子工作環境を整えることにしました。香港の秋葉原はシャムシュイポですが、秋葉原の秋月電子とかラジオデパートみたいなパーツ売りの店って、なかなか思いつきません。深センの華強まで行くのはおっくうなので、よ〜く探したところ、ちゃんとありました。シャムシュイポに。
Welfare Electronic Component Ltd (華輝無線電行)
http://www.weclonline.com/tchi/index.asp
華輝無線電行ってとこでいろいろ買い込んで、温度センサーのほうは、Raspberryを買った泰豪科技というお店でまた買い直しました。これで4つセンサーを買ってます。センサー好きな日本人って覚えられてしまったような。
30年前と同じようなことを香港でしてるのが、情けないですが、好きでやってるんで気にしないと。
TELL HOW TECHNOLOGY (泰豪科技)
http://tellhow-tech.com
とりあえず、1に書いてある要領でセンサーからデータを取得できることを確認し、そこから2に書いてあることを実行します。センサーのIDがRaspberryの再起動とともにコロコロ変わってしまうので、IDを自動で検知するようにしたり、データの吐き出し先を外部のデータベースではなく、ローカルのテキストファイルに切り替えて、3で書いてある要領でGoogle Driveへの同期という仕組みに切り替えます。これで、通信が安定してないとしても、確実にデータの測定だけは続け、繋がったときに最新データをGoogle Driveに同期させることができます。
1. Connecting a temperature sensor to GPIO
http://raspberrywebserver.com/gpio/connecting-a-temperature-sensor-to-gpio.html
2. Temperature monitoring with the Raspberry Pi
http://iada.nl/en/blog/article/temperature-monitoring-raspberry-pi
3. Back up your Pi to your Google drive
http://raspberrywebserver.com/serveradmin/back-up-your-pi-to-your-google-drive.html
4. Raspberry piとGoogleドライブでバックアップ環境
http://blog.gogo-games.com/?p=167
Google Code Prettify
2014年11月9日日曜日
2014年7月27日日曜日
NFCカード(payPass)を読んでみた - Octopusカードリーダー使ってみた
カードを読んで、カード番号次第で電源をオンにするような仕組みのプロトタイプを作りたかったので、ちょっとNFCの勉強しました。電源オンの仕組みは以前作ったので、今回取り組んだ案件の肝はカード読み取りです。
まずはカードリーターの確保。いろいろ買っちゃいましたが、案外これだけで十分そうです。HK$148 (2000円弱)で香港中のMTR駅構内のカスタマーサービスで買えます。
Welcome to Octopus Hong Kong - Get Your Octopus - Online Shop
http://onlineshop.octopus.com.hk/cart/?catid=3
ACSのACR122というものですが、シャムスイポだとHK$400とかぼったくられそうな品物ですが、MTRで買えばたったのHK$148です。香港の会社が製造していて、そこそこ海外でも認知されているようで。恐るべし香港。
制御に使うコンピューターですが、またしても、Raspberryで制御です。
持ち運んでどこでも見せることができるし、安いので最近はこればかりいじってます。
関係しそうな情報を片っ端から眺めて、ちょうどいいツールのめぼしをつけました。
やってることは、Linuxでlibnfcを使ってちょっとCとかシェルスクリプトを書いてるだけなんで、Raspberryだけでなくそこら中のLinuxでも同じはずです。
Hacking the NFC credit cards for fun and debit Renaud Lifchitz
http://www.ustream.tv/recorded/21805507
https://www.youtube.com/watch?v=VWIzW0rRw_s
"Hacking the NFC credit cards for fun and debit ;)" presentation slides - HES2012 - Renaud Lifchitz
https://code.google.com/p/readnfccc/downloads/detail?name=hes2012-bt-contactless-payments-insecurity.pdf&can=2&q=
Contacless payments insecurity Renaud Lifchitz - 8.8 Computer Security Conference October 24-25, 2013 – Santiago, Chile
http://www.8dot8.org/2013/deck/8dot8_2013_pres_RL.pdf
readnfccc ... English version
https://github.com/azet/readnfccc/blob/master/readnfccc.c
readnfccc 2.0 ... Spanish version
https://github.com/azet/readnfccc/blob/master/readnfccc.es.c
Complete list of EMV & NFC tags
https://www.eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags
emvlab.org - the one-stop tools site for banking techies
http://www.emvlab.org/
emvlab.org:TLV Utilities - decodes EMV records encoded in tag-length-value (TLV) format.
http://www.emvlab.org/tlvutils/
Getting information from an EMV chip card with Java
http://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/
MasterCard PayPass Vendor Testing Guide (Terminals) Version 1.0 - September 2007
https://www.paypass.com/pdf/public_documents/PayPass%20Vendor%20Testing%20Guide%20Terminals%20Sept07.pdf
この、readnfcccっていうのが、手っ取り早くカード番号を読むのに使えそうなツールなのですが、どうもすんなりとは動きません。libnfcを入れるところから始まり、"byte_t"なんて型知らないとコンパイラに怒られ新しいバージョンを探し直したり、見つかった新しいバージョンもすんなりとは動作せず、自分の環境、カードで動作させるために、電文の内容を把握することが必要そうです。。ところどころプログラムをいじくって、どうにかこうにか、payPassカード番号だけは読み込むようになりました。。
下記のような雰囲気の修正をちょこちょこしてます。
単なるPoCだったのに、だいぶ疲れたのでもうおしまいです。
まずはカードリーターの確保。いろいろ買っちゃいましたが、案外これだけで十分そうです。HK$148 (2000円弱)で香港中のMTR駅構内のカスタマーサービスで買えます。
Welcome to Octopus Hong Kong - Get Your Octopus - Online Shop
http://onlineshop.octopus.com.hk/cart/?catid=3
ACSのACR122というものですが、シャムスイポだとHK$400とかぼったくられそうな品物ですが、MTRで買えばたったのHK$148です。香港の会社が製造していて、そこそこ海外でも認知されているようで。恐るべし香港。
制御に使うコンピューターですが、またしても、Raspberryで制御です。
持ち運んでどこでも見せることができるし、安いので最近はこればかりいじってます。
関係しそうな情報を片っ端から眺めて、ちょうどいいツールのめぼしをつけました。
やってることは、Linuxでlibnfcを使ってちょっとCとかシェルスクリプトを書いてるだけなんで、Raspberryだけでなくそこら中のLinuxでも同じはずです。
Hacking the NFC credit cards for fun and debit Renaud Lifchitz
http://www.ustream.tv/recorded/21805507
https://www.youtube.com/watch?v=VWIzW0rRw_s
"Hacking the NFC credit cards for fun and debit ;)" presentation slides - HES2012 - Renaud Lifchitz
https://code.google.com/p/readnfccc/downloads/detail?name=hes2012-bt-contactless-payments-insecurity.pdf&can=2&q=
Contacless payments insecurity Renaud Lifchitz - 8.8 Computer Security Conference October 24-25, 2013 – Santiago, Chile
http://www.8dot8.org/2013/deck/8dot8_2013_pres_RL.pdf
readnfccc ... English version
https://github.com/azet/readnfccc/blob/master/readnfccc.c
readnfccc 2.0 ... Spanish version
https://github.com/azet/readnfccc/blob/master/readnfccc.es.c
libnfc - Devices compatibility matrix
http://nfc-tools.org/index.php?title=Devices_compatibility_matrix#OEM_readers
http://nfc-tools.org/index.php?title=Devices_compatibility_matrix#OEM_readers
https://www.eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags
emvlab.org - the one-stop tools site for banking techies
http://www.emvlab.org/
emvlab.org:TLV Utilities - decodes EMV records encoded in tag-length-value (TLV) format.
http://www.emvlab.org/tlvutils/
Getting information from an EMV chip card with Java
http://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/
MasterCard PayPass Vendor Testing Guide (Terminals) Version 1.0 - September 2007
https://www.paypass.com/pdf/public_documents/PayPass%20Vendor%20Testing%20Guide%20Terminals%20Sept07.pdf
この、readnfcccっていうのが、手っ取り早くカード番号を読むのに使えそうなツールなのですが、どうもすんなりとは動きません。libnfcを入れるところから始まり、"byte_t"なんて型知らないとコンパイラに怒られ新しいバージョンを探し直したり、見つかった新しいバージョンもすんなりとは動作せず、自分の環境、カードで動作させるために、電文の内容を把握することが必要そうです。。ところどころプログラムをいじくって、どうにかこうにか、payPassカード番号だけは読み込むようになりました。。
下記のような雰囲気の修正をちょこちょこしてます。
単なるPoCだったのに、だいぶ疲れたのでもうおしまいです。
52c52< uint8_t SELECT_APP[] = {0x00, 0xA4, 0x04, 0x00, 0x07, 0xA0, 0x00, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00};---> uint8_t SELECT_APP[] = {0x00, 0xA4, 0x04, 0x00, 0x07, 0xA0, 0x00, 0x00, 0x00, 0x42, 0x10, 0x10, 0x00};166,167c163< if (*res == 0x15 && *(res + 1) == 0x57) {< // if ( *(res + 1) == 0x57) {---> if (*res == 0x9c && *(res + 1) == 0x57) {
2014年7月26日土曜日
Raspberry起動時にIP通知
出先にて、iPhoneやPocket Wifiを経由してRaspberryをインターネット接続している時に、iPadやらiPhoneからRaspberryにログインしたい時があります。Raspberry起動時にIP通知されるようにしました。
これを参考にメール設定。
TNET Raspberry Pi Site/ SMTP Mail Setup
http://rpi.tnet.com/project/faqs/smtp
具体的にはこんな感じで。
これを参考にメール設定。
TNET Raspberry Pi Site/ SMTP Mail Setup
http://rpi.tnet.com/project/faqs/smtp
具体的にはこんな感じで。
sudo apt-get install ssmtp
sudo apt-get install mailutils
sudo apt-get install mpack
sudo apt-get install mailutils
sudo apt-get install mpack
メール送信pi@raspberrypi ~/wemo $ cat /etc/ssmtp/ssmtp.conf## Config file for sSMTP sendmail## The person who gets all mail for userids < 1000# Make this empty to disable rewriting.root=postmaster# The place where the mail goes. The actual machine name is required no# MX records are consulted. Commonly mailhosts are named mail.domain.com#mailhub=smtp.gmail.com:587# Where will the mail seem to come from?#rewriteDomain=# The full hostnamehostname=raspberrypi# Are users allowed to set their own From: address?# YES - Allow the user to specify their own From: address# NO - Use the system generated From: address#FromLineOverride=YESAuthUser=xxxxxx@gmail.comAuthPass=xxxxxxxxxFromLineOverride=YESmailhub=smtp.gmail.com:587UseSTARTTLS=YES
echo "sample text" | mail -s "Subject" username@domain.tld
添付ファイル送信
mpack -s "test" /home/pi/test/somefile.ext username@domain.tld
Crontabに起動時の処理を設定
これで、起動時にifconfigの内容がメールで届きます。実行内容を通知するうるさいメールはMAILTO=""で止めてます。pi@raspberrypi ~/wemo $ crontab -lMAILTO=""
@reboot /home/pi/wemo/reboot-notification
pi@raspberrypi ~/wemo $ cat reboot-notification
#!/bin/bash
echo `sudo ifconfig | mail -s "Reboot-Raspberry" xxxx@xxxxx.com`
2014年6月23日月曜日
自作ネット家電 - Wemo制御をRaspberry Piで
前回導入した「エアコン制御のWemo」のため、単なるリモコン機能を作りたいだけなので、マイコンボードとでっかいボタンを買えば何とかなると思い、ArduinoとRaspberry Piのどちらにすればいいか悩み始めました。
Raspberry Piのほうが、フル機能のLinuxとして使い回しが楽そうで、どっちも大した値段ではないので、Raspberry Piを買いました。配線を減らしたいので、Wifiトークンを買い、基盤のままの運用は危なっかしいので透明なカバーも購入しました。シャムシュイポを歩き回って見つけ出したお店でしめてHK$530なり。びた一文もまけてくれなかった。
公式サイトからRASPBIANをダウンロードして、ラズビアン(レズビアン?)をインストールします。
Downloads | Raspberry Pi
http://www.raspberrypi.org/downloads/
INSTALLING OPERATING SYSTEM IMAGES ON MAC OS
http://www.raspberrypi.org/documentation/installation/installing-images/mac.md
Raspberry Pi の初期設定
Shell Script To Control Belkin WeMo’s
Shell Script To Control Belkin WeMo’s
ボタンと基盤を買ってみたものの、ベッドの上での乱暴な操作に耐えるにはきちんとした操作パッドが必要だと後になってから気がついたので、ファミコンキーパッドを買ってきました。これまたシャムスイポでHK$80。(写真は外部からの転用)
2014年6月16日月曜日
自作ネット家電 - Wemoでエアコン電源制御
登録:
投稿 (Atom)