Raspberry PiにI2C液晶をつける

Raspberry Piは、GPIOピンの一部をSPIやI2Cインターフェースとして使用できます。 これを利用して、Strawberry Linuxで販売されているI2Cキャラクタ液晶をRaspberry Piに取り付けてみました。 配線 Raspberry PiのGPIOのピン配置は下記で分かります。 RPi Lo…

AdafruitのRaspberry Piケースを購入

Adafruitの通信販売でRaspberry Piケースを購入。お値段 $14.95、送料が$10.28 で合計 $25.23。Pay Palで支払って 2,035円でした。 注文して2日で発送されて、そこから7日で、日本郵便で自宅まで届きました。 開封すると、レーザー加工でアクリルの保護紙が…

モールス信号(英文)をエンコード/デコード

Pythonでモールス信号をエンコード/デコードするコード。#CodePuzzle ( Code Puzzle ) で書いてみたので。 10/24追記 記号の対応を右記に差し替えました。参考: http://www.benricho.org/symbol/morse.html#ei http://codepad.org/NEn363Da class Morse: TA…

zshで右プロンプトにgitブランチ名を表示

zsh

下記サイトを参考にしてカスタマイズ。(gitのみしかenableしていない) Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog Enterキーを押すたびに無条件で新たなプロセスを起動されるのが嫌だっ…

zshでプロンプトに現在時刻を表示&更新

zsh

zshのプロンプトにだいたいの現在時刻(30秒ごとに自動で更新される)を表示しておく方法です。 コマンドを実行した時刻が残るので、コンソールを見返す際に便利だったりします。 設定例 PROMPT="%F{green}[%m-%T]%f%# " RPROMPT="%(?..%F{red}-%?-)%F{green…

単体でも実行可能な共有ライブラリの作り方

Fedora 17に含まれる実行可能な共有ライブラリ - Okiraku Programming の続きです。 さて、前記事で説明した glibc のような実行可能なshared libraryを作るにはどうすれば良いか? が気になるところですね? 基本的にはentry pointを指定して共有ライブラリ…

Fedora 17に含まれる実行可能な共有ライブラリ

一般的な共有ライブラリ(shared library。lib*.so)は実行可能ではありませんが、その構造は実行ファイルと同じELF形式で、大きな違いはありません。( →参考: http://mkosaki.blog46.fc2.com/blog-entry-107.html ) 例外的に、glibc ( /lib64/libc-*.so ) は…

USBミサイルランチャーをArduinoでコントロール

久しぶりにUSBホストシールドで遊んでみました。 USBで制御できるミサイルランチャー(カメラ付き)を手に入れたので、これをArduinoから動かしてみます。 必要なもの Arduino (Duemilanove / Uno。 Megaでも大丈夫かな?) USBホストシールド USBミサイルラン…

ルンバをXBeeでリモコン操作

最近引っ越して少し部屋が広くなったので、ルンバを導入してみました。 部屋のケーブル類さえ巻き込まれないように対処しておけば(壁に貼付けるとか段ボール等でガードするとか)、勝手に掃除してくれるので大変楽できます。 さて、ただ自律的に掃除しても…

「Arduinoスーパーナビゲーション」でTwitterライブラリを紹介頂きました

書籍「Arduinoスーパーナビゲーション しくみと応用テクニック」で拙作のTwitterライブラリを紹介していただきました。Arduinoスーパーナビゲーション しくみと応用テクニック作者: サンハヤト株式会社 Arduino愛好会,河連庸子,山崎文徳,神原健出版社/メーカ…

hidden symbolの関数呼び出しをフックする

Linuxでは一般的なライブラリ関数の呼び出しはLD_PRELOADを使ってフックして、別の動作をさせる(オーバーライドする)ことができます。 (参考: LD_PRELOADでBrainf*ck - Okiraku Programming ) しかし、フックできる関数には条件があって、PLT(procedure…

Arduino 1.0対応Twitterライブラリを公開

Arduino 1.0が2011/11/30に正式リリースされました。 新しいArduinoに対応したり、ライブラリの強化などが図られています。(詳しい変更点はRelease Noteを。) 個人的にはEthernetライブラリが強化され、DNSやDHCP機能を標準でサポートした点が嬉しいところ…

Arduino 1.0対応Twitterライブラリを公開

AndroidのAutomateItで自動で省電力設定etc.

Androidアプリ AutomateItは、電源や無線LANの接続/切断や位置を移動したなど、様々な条件を満たした時に指定したときに指定したアクション(マナーモードにするとかWi-Fiをon/offするとか)を実行できる自動化アプリです。しかも無料。複雑な条件が指定で…

Arduino用のLSM303DLH(デジタルコンパス+加速度センサ)ライブラリ

1つのチップに3軸の地磁気センサ(デジタルコンパス)と3軸の加速度センサを内蔵した、LSM303DLHというチップを搭載したSparkfunのボードがスイッチサイエンスなどから販売されています。お値段も円高効果か3000円を切っていてお買い得。LSM303DLH搭載傾き補…

Arduino用のLSM303DLH(デジタルコンパス+加速度センサ)ライブラリ

逆作用ピンセットが便利だったので

今まで持ってなかったのだけど、ふと買ってみた逆作用ピンセットが意外にも便利なので。goot 逆作用ピンセット 小 TS-16出版社/メーカー: 太洋電機産業メディア: Tools & Hardware購入: 3人 クリック: 37回この商品を含むブログ (1件) を見るgoot 逆作用ピン…

オーディオ用スペアナ製作

スイッチサイエンスで販売されているチップを眺めていたら、スペクトラムアナライザMSGEQ7とLEDドライバが並んでいて、「あー、スペアナ作れるよってことね」と思い、オーディオ用のスペクトラムアナライザを製作。 ベース基板。MSGEQ7を2つ積んで、ステレオ…

Google+ APIをJavaScriptから呼び出してみた

Google+ APIが公開されたというので、JavaScriptから呼び出してみました。OAuth 2.0なので、比較的簡単。 ただ、今のところできるのは、指定したユーザの一般公開activityを取得するとか、ユーザの情報を取得するといった程度で、サークルの情報取得や特定公…

AFPサーバ(netatalk)のLion対応状況

Macとファイルサーバの間でnetatalkのafpdを利用してAFPでファイル共有している場合、Mac OS X 10.7 LionはSnow Leopard以前と対応状況が異り、新しいバージョンが必要になっています。netatalkを使ったNAS製品等でも、Lionだと接続に制限が出たりしています…

Pascal文字列

C

Pascal文字列をgccで使うメモ。Pascal文字列とは、 [文字列長] [A] [B] [C]というバイト列で表現される文字列。文字列長が1byteなので、長さの上限は255byte。型はunsigned char[]。普通のC文字列は [A] [B] [C] [\0]とNULL終端で表されますが、Pascal文字列…

ニキシー管時計製作

http://tubehobby.com/ のニキシー管(IN-16)を使った時計キットを製作。キットはメールで注文して2週間ほどで届きました。製作は割と簡単で、特にトラブルもなく3〜4時間ほどで完成。 青色LEDの照明つき。5がちゃんと5の形(IN-14だとふにゃっとして5らしく…

iPhoneで電波時計を合わせよう

日本国内の電波時計の基準局(JJY)からの電波を模擬した信号をiPhone/iPad/iPod touchから出力して、電波時計の時刻を合わせるiPhoneアプリをリリースしました。 起動時にNTPで正確な時刻を取得し、それに合わせます。(インターネット接続できない場合にはiP…

Arduinoで電波時計を合わせよう

現在、福島第1原子力発電所の事故の影響で、東日本で電波時計の基準となる福島の送信所からの標準電波(JJY)の運用が止まっています。このため、電波時計の自動調整が行えなくなっています。(西日本は九州からの電波があるため問題ありません。) このJJYを…

InstagramのURLからサムネールを取得する方法

何日か前に写真共有iPhoneアプリInstagramのAPIが公開されました。その中のURLからサムネールを得る方法も公式に提供されました。 他のAPIは認証(OAuthまたはクライアントID送信)が必要となりますが、サムネール画像(や通常サイズの画像)を得るだけなら認証…

電流センサ+Arduinoでコンセントの電流を測ってみた

スイッチサイエンスで売られている電流センサ ACS714 を使って、コンセントの電流を計測するモノを作りました。家電をON/OFFをモニターするとか、波形みたりもできます。±5Aまでのと±30Aまで測れるのがあるけど、使ったのは5Aの方。 写真のようにコンセント…

JSONPの動的取得+エラー処理

JavaScriptから外部ドメインにあるAPIを呼び出すために使われるJSONPですが、scriptタグを動的に追加する方法(下記の記事など)JSONPの取得時にサーバ過負荷などでエラーが出た場合、エラー処理ができないという欠点がありました。 クロスドメインJavaScrip…

LinuxのYUREXドライバ

このエントリはカーネル/VM Advent Calendarの48日目向けです。 2011/1/4にLinuxカーネル2.6.37がリリースされました。BKL(Big Kernel Lock)の除去やファイルシステムのスケーラビリティなど、多くの改善が行われています。 そんな中、カーネルをビルドしよ…

twicliの抽出タブを拡張

twicliの抽出タブ(regexp.js)を拡張し、次の2点を機能強化しました。 従来TLタブ(Homeタイムライン)だけに対して抽出を行っていましたが、@タブ(Mention)からも抽出を行うようにしました。 特定のキーワードを含む発言を非表示にする機能を強化しました。 抽…

PPTPサーバ立てた

最近カンファレンスなどに出かけてオープンな無線LANアクセスポイントが提供されている場合、よく「セキュリティに気をつけて! VPNを使って下さい」てな掲示を見かけます。 そうだよねーと思って、ARMなLinuxマシン(NAS)をPPTPサーバに仕立ててみた時のメモ…