txt - みる会図書館


検索対象: ラズパイマガジン = Raspberry Pi Magazine 2017年10月号
21件見つかりました。

1. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

されていることを確認してください。 $ ] s / d e v / i 2 c ☆ロ / d e v / i 2 c - 0 / d e v / i 2 c - 1 $ s u d 0 a pt - g et i n s t a 1 1 g i t b u i ] d - e s s e n t i a ] ロ git を使ってホームディレクトリ ー内にドキュメントとツールの複製 を作成します。 /dev/i2c-0 経由でシリアル EEPR OM にアクセスできるかを確かめま $ git clone https://github . CO しよう。「 i2cdetect 」コマンドを使 m/raspberrypi/hats . git ロ って、シリアル EEPROM の 12C ア ドレスである 0X50 があることを確 図 4 シリアル EEPROM とラズバイを接 これで「 hats 」というサプディレ 認します。図 7 のように表示されれ 続した 12C チャンネル 0 を利用する。 クトリーにツールやドキュメントが ば OK です。 0X50 が確認できない場 コピーされます。「¯/hats/eepromu 合、プルアップが正常に行われてい に 12c チャンネル 0 を有効化します。 tils 」以下にシリアル EEPROM を作 ない可能性が大きいといえます。 まず、 raspi-config を起動して 12C 成するツールがあるので、ビルドし を有効化しておいてください。その ておきましよう。 HAT 作成ツールー式を入手する 上で、端末上で「 /boot/config. txt 」 続いて、英 Raspberry Pi 財団公 を開き、図 5 のように 1 行を追加し $ cd ¯/hats/eepromutils ロ 式の HAT 作成ツールー式 * 1 を入手 ます。続いて /boot/cmdline. txt を $ ma ke ロ してビルドしておきます。「 git 」コ 開き、図 6 のように起動パラメータ マンドを使って入手するので、ます ーを追加します。 git などのパッケージをインストー 以上の変更を終えたら再起動しま ルしておきましよう。 す。再起動後、「 /dev/i2c-0 」が作成 これで準備は完了です。 * 1 入手先は「 https://github.com/rasp berryp i /hats 」。 $ sudO nano /boot/config . txt ロ # Uncomment some or all Of these tO enable the optional hardware interfaces dtparam=i2c arm=on dtparam=i2c_vc=on <¯追加 #dtparam=i2s=on dtparam=spi=off 図 5 卩 C チャンネル 0 を有効化する設定 (/boot/config. txt) $ sud0 nano /boot/cmdline . txt ロ dwc—otg. 1pm—enab1e=0 console = seria10 , 115200 console=ttyl r00t=PÅRTUUlD=d58e375b-02 rootfstype=ext4 elevator=deadline fsck. repair=yes bCm2708. vc i2c—override=l rootwait quiet splash plymouth. ignore-serial-consoles 4 追加 図 6 卩 C チャンネル 0 を有効化する設定 (/boot/cmdline. txt) $ i2cdetect -y 0 ロ 0 1 2 3 4 5 6 7 8 9 a b c d e f 40 : 國 : 50 図 7 シリアル EEPROM と確認 ラバイマガジン 2011.10

2. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

特集 3 $ ls /dev/spi* ロ /dev/spidevO . 0 /dev/spidev0.1 $ ls /sys/bus/iio/devices/iio\:device0 dev in—temp—input of_node in_humidityrelative_input name power 拡張ポド HAT を作ろう、 LED や LCD が差すたけで動ぐ 」ンっ診一、 / ーしン 11 コゾ・ . / - ノ診 uevent subsystem 図 24 /dev/spidevO. 、と /sys/bus/iio/devices/iio\:device0/ 以下を参照 # Uncomment some or a11 of these to enable the optional hardware interfaces dtparam=i2c_arm=on #dtparam=i2s=on dtparam=spi=off 図 25 /boot/config. txt を元に戻す 「 dtparam=i2c-vc=on 」を取り除く。 dwc—otg. Ipm_enabIe=0 console = seria10 , 115200 console=ttyl root=PARTUUID=d58e375b-02 rootfstype=ext4 elevator=deadline fsck. repair=yes rootwait quiet splash plymouth . ignore-serial-consoles 図 26 /boot/cmdline. txt を元に戻す 「 bCm2708. vc_i2c_override=1 」を取り除く。 ライバと SPI バスの双方を有効化す るような Device Tree Overlay を作 成して、シリアル EEPROM に書き 込まなければなりません。 そのために、図 23 のような Dev ice Tree のソースを用意しました。 一見すると呪文のように見えます が、 DHTII 用の Device Tree Over lay のソースに SPIO を有効化する「 fr agment@2 」以降を追加しただけで す。 SPI バス 0 はカーネルのマスタ ー Device Tree に設定済みで、デフ ォルトでは無効化されています。し かし、「 status 」に「 okay 」をセッ トするだけで SPIO が有効化される 仕組みになっているので、ごく単純 な変更で作成できるのです。 「 dhtl l_hat. dts 」を¯/hats/eepro mu ⅱ ls 以下に作成してください。カ レントディレクトリーを¯/hats/eep romutils に切り替え、 Device Tree Overlay のバイナリーを作成します。 $ d t c - I d t s - 0 d t b - 0 d h t 11 h a t . d t b d h t 11 h a t . d t s ロ 後は、ここまで説明してきた通 り、シリアル EEPROM のイメージ ファイルを作成し、シリアル EEPR OM に書き込みます。 . /eepmake eeprom_settings . tx t dhtll_hat . eep dhtll_hat . dtb $ s u d 0 . / ee p f 1 a s h . s h - w - t=24 c 64 -f=dhtll_hat . eep ロ 「 Done. 」という表示が現れたら書 き込み完了です。ラズバイを再起動 しましよう。 再起動後、 /dev/spidev0. * と / sys/bus/ii0/devices/ii0\:deviceO/ 以下が参照できるかを確認します。 図 24 のように表示すれば成功です。 C バス 0 を無効化しよう 以上でシリアル EEPROM は完成 しました。もうシリアル EEPROM に書き込む必要はないので、 /boot/ config. txt と /boot/cmdline. txt を元 に戻し、 12C バス 0 を無効化しまし よう ( 図 25 、図 26 ) 。 /dev/i2c-0 が なくなっても HAT の起動には関係 ありません。 スクリプトを作成する あとは、 HAT 用のスクリプトを作 成するだけです。例として「 dhtll. py 」を作成してみました ( 読者限定 サイトに用意 ) 。このスクリプトを 実行すると、ここまで作成してきた HAT で LCD に温度と湿度を表示す ることができます。 今回の例では DHTII のドライバ の読み込みと、 SPI バスの有効化を HAT の機能を使って試みました。 のように、 HAT を作成することで、 ユーザーは何も設定することなく、 HAT の機能をスクリプトから利用 できるようになります。一般的な工 作ではあまり役に立たないかもしれ ませんが、同じラズバイ用のポード をいつか作り、誰かに配るような用 途では HAT の機能が有用に使える でしよう。ぜひ読者も HAT の制作 を試みてください。 ラスパイマガジン 2017.10

3. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

144 ーファイルやフォルダーを削除する コマンドの例 7 $ rm -rf myfolder ロ もすべて再帰的に削除します。 現在のフォルダーにあるフォルダー「 myfolder 」を削除します。というオプションを付けると、サプフォルダーの中 $ rm fi 1 el ロ 現在のフォルダーにあるファイル (filel) を削除します。 コマンドの例 8 $ n a n 0 f i 1 e . txt ロ f ⅱ e. txt というテキストファイルの内容を表示します。テキスト形式ではないファイルを表示しようとすると文字が化け テキストファイルの編集には「 nano 」や「 vi 」コマンドが使えます。 nano は [Ctrl 十 O] で保存、 [Ctrl 十 X] で終了です。 コマンドの例 9 $ ca t f i 1 e . txt るので注意してください。 コマンドの例 10 ままコマンド名として指定します。コマンドそのものも、多くはこのように実行可能なファイルとなっています。 実行権限が与えられたファイル「 file 」を実行するには、同じフォルダー内から、半角の「 . / 」を付けてファイル名をその $ c hmo d 7 5 5 f i 1 e ロ れば実行できません。「 755 」は、ファイルの所有者に実行権限を与えるという意味です。 アプリやプログラムのファイルのように、実行できるファイルがあります。これらのファイルは実行権限を付与しなけ コマンドの例 12 $ ip a コマンドの例 11 LAN に接続されている場合、次のコマンドで IP アドレスなどのネットワーク情報を表示できます。 . / fi 1 e ロ できます。 filel . txt に保存するには、半角の「 > 」でファイル名を指定します。 コマンドの結果は、通常、端末の画面上に表示されます。それを端末ではなく、テキストファイルとして保存することも イマガジ - 何らかのコマンド > f i 1 e 1 . txt

4. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

講 R ョ spb 日「「 Pi で楽しむ P 〔 ' オー ーイオ。 Volumio で PiFi DAC 十を有効に Volumio での PiFi DAC + 有効化 の設定も非常に簡単です。ラズバイ と同じネットワークの PC から、 Vo lumio の Web 管理画面 (http://vol ummio. loca レ ) にアクセスし * 6 、プ レイバックオプションを開き、「 12S 図 5 Etcher でのディストリイメージ書き込み DAC 」を「 ON 」にします。「 DAC mic 「 oSD カードに Vo 旧 mio のイメージを書き込んだところ。もちろん dd コマンドやほかのイメージ書き込み ツールも利用できる。 Model 」には「 Hifiberry DAC Plus 」 を指定します ( 図 7 ) 。 設定を保存すると volumio を再起 動するよう促され、再起動の後に Pi Fi DAC + を使用できるようになり ます。 PiFi DAC + で使用している PCM5122 チップには MiniDSP が搭 載されています。このため VoIumio のプレイバックオプション画面で、 MiniDSP による補完アルゴリズムの 切り替えと、音声オプションの変更 ができます ( 図 8 、 9 ) 。 0 今 0 E に ( he 「 0 Need Heip? 0 ラベル ファイルシステム /dev/mmcblkopl ・ b00 に ねに 16 /dev/mmcbIkop2 ・ volumio ext4 volumio da /dev/mmcblkop 3 ext 翻 /dev/mmcbIkOp3 を 381.47 MiB から 115.67 G 旧へ拡大 FLASH IMAGE 0 SELECT DRIVE SELECT IMAGE 0 /dev/mmcblkO ・ 126.5 GB VO m -2...23- p ロ mg 10 % 「引 n 」 0 *TCHER 0 書 /dev/mmcblkO -GParted GParted(G) 編集 ( E ) 表示 ( v ) デバイス ( D ) パーティション ( p ) ヘルプ ( H ) 全ての操作を適用します A/dev/mmcbIkO ( 117.81 GiB) /dev/mmcbIkOp3 115.67 G 旧 使用済み 容量 28.31 MiB 61.04 M 旧 347.31 M 旧 2.08 GiB 28.17 M 旧 115.67 G 旧 フラグ 空き 32.73 M 旧 boot,lba 1.74 G 旧 115.64GiB 1 件の操作を保留中 図 6 Gpa ed を使ったデータ領域の拡張 microSD カードの容量を活用するために、容量いつばいまで vo 旧 mi0 ー data の領域を拡大する。 Raspbian で PiFi DAC 十を使う VoIumio では事実上「出力デバイ ス」の選択だけで 12SDAC を使う ことができました。組み立てや設定 が非常に簡単なことが魅力です。 方、 Raspbian やほかのラズバイ用デ イストリビューションでも図 10 の ように /boot/config. txt を編集し再 起動することで PiFiDAC + を使う ことができます * 7 。 再起動後、 aplay コマンドを使 図 7 12S DAC ポードの選 って再生デバイスの一覧を表示さ 択 せ、図 1 1 のように sndrpihifiberry S を有効にした上で、ラズバイ に接続したポードを選択する。 がリストアップされていれば PiFi どうしてもポード名が分からな い場合には Generic 12S DAC を DAC + を使うことができます。 選択しよう。 VO し IJTIIO プレイバックオプション ①オーディオ出力 出力デバイス Hifiberry DAC 円 us 12S DAC DAC ModeI ロー On / Aoide DACII Generic t2S DAC Hifibe DAC Plus Hifiberry DAC Hifiberry Amp Hifiberry DIGI 日 R interpoiation with de-ejnf*l Hifiberry DAC PIus DSP Op 目 on DSP Program ぅ鸞 0 k M issing Peri0d 15 ラスパイマガジン 2017.10 1 18

5. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

拡張ポード HAT を作ろう、 LED や LCD が差すたけで動ぐ This script comes with ABSOLUTELY no warranty. Continue only if you know what you are doing. This will attempt to talk to an eeprom at i2c address 0X50. Make sure there is an eeprom at this address . -r - t = 24C64 -f=image . eep ロ $ s u d 0 . / e e p f 1 a s h . s h 8192 bytes ( 8 . 2 (B) copied, 1 .22469 s, 6 . 7 kB/s 16 + 0 records out 16 + 0 records in Reading . DO you wish tO continue? (yes/no): yes Done . 図 10 シリアル EEPROM の中身を読み出す が、異なる容量を使っている場合 は、そのシリアル EEPROM に合っ たタイプを指定してください。「 -f = 」の後ろに書き込むシリアル EEPR OM イメージのファイル名を指定し ます。 シェルスクリプトを実行すると本 当に書き込んでよいのか ( このスク リプトに保証はないと ) の確認を 求めてくるので、「 yes 」と入力し て CEnter] キーを押してください。 書き込みに成功すると、最後に「 Do ne. 」と表示されます。 書き込まれた内容をチェック これだけだと本当に書き込めてい るのか、少し不安になるかもしれま せん。また、将来何らかの事情で ee prom—settings. txt を失ってしまう ことも起こり得ます。そこで、本当 に書き込まれているのかをチェック する意味も含めて、シリアル EEPR OM の中身を読み出し、 eeprom_se ttings. txt に戻す方法も紹介します。 読み出しにも eepflash. sh を使い ます。図 10 のように読み出してくだ さい。これでカレントディレクトリ ーに「 image. eep 」というイメージ ファイルが作成されます。ここで使 用しているのは 64K ビットのシリア ル EEPROM なので、 image. eep の サイズは 8K バイト ( = 64K ビット ) になります。 このイメージファイルから、設定 のテキストファイルを復元します。 次のように「 eepdump 」コマンドを 実行してください。 image. eep から「 image. txt 」カゞ 作成されます。 image. txt の中をの ぞいて、先に作成した eeprom_sett ⅲ gs. txt と同じ内容になっているこ とを確かめましよう。これで確実に HAT 用のシリアル EEPROM が作成 されていることが確認できます。 シリアル EEP 日 OM の機能を確認 では、ラズバイを再起動してくだ さい。再起動後に、 HAT 用シリア ル EEPROM の設定通りに各 GPIO ピンが動作していることを確認して いきます。 まず、 GP1014 および GP1015 が 出力モードになっていることを確認 します。確認の方法はいくつかあり ますが、簡単なのは「 sysfs 」を使 う方法です。カレントディレクトリ ーを「 /sys/class/gpio 」に切り替え ましよう。 ます、 GP1014 をェクスポートし て現在のモードがどうなっているか を調べます。図 11 のように「 gpi014 / . /eepdump image . eep image . tx t ロ $ c d / sy s / c 1 a s s / g p i 0 ロ $ echo 14 〉 export ロ $ cat gpi014/direction ロ 0 u t 図 11 G 曰 014 のモード確認 direction 」の中がデフォルトのⅲか ら out に変わっているはずです。 GP 1015 も同じように「 gpi015/direct ion 」が out になっていることを確認 します。このように、 HAT 用のシ リアル EEPROM によって起動時設 定が変わったことが確認できます。 一方、 GP105 が汎用クロック出力 になっているかどうかは、オシロス コープやロジックアナライザーがな いと確認は困難です。例として GP 105 をオシロスコープで観測した様 子を画面で示しておきます。デフォ ルトでは、図 1 2 のように 800HZ の クロックが、 GP105 から出力されて いました。 Device Tree Overlay を含める 以上のように、 GPIO 端子のモー ドや Alternative Function を、シ リアル EEPROM の設定に従って起 動時に変更できることが分かりまし た。ですが、 GPIO 端子のモードだけ であれば、スクリプトなどから簡単 に設定できるので、わざわざ HAT の * 4 「 https://www.raspberrypi.org/wp- content/uploads/2012 / 02 / BCM2835- ARM-PeripheraIs. pdf 」の 1 02 ページを参 照してくださし、。「 http://elinux.org/RPi_ BCM2835 ー G 曰 0 」にもあります。 ラスパイマガジン 2011.10

6. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

ラズバイと周辺機器の買い方から OS 導入方法まで filel . txt が元々存在し、そこに追記する形でコマンド結果を保存したい場合は、「 > > 」を用います . $ s u d 0 a p t - g e t i n s t a 1 1 ej e c t 何らかのコマンド〉 > filel . txt キー入力をそのまま表示する キー入力した文字列をそのまま表示するには「 echo 」を用います。この例では、コマンド結果が「 he Ⅱ 0 」となります。 コマンドの例 13 $ e c h 0 h e 1 1 0 例えば、 he Ⅱ 0 という文字列が 1 行だけ書かれたシンプルなテキストファイルを作るには、「コマンドの例刀の「 nano 」 をわざわざ用いなくても、単に次のように実行すればよいだけです。 $ ec ho h el 1 0 〉 fi 1 e 1 . txt OS をアッ OS をアップデートします。 Windows の「 Windows Update 」と同じと考えてよいでしよう。 2 個目のコマンドの「 - y 」 オプションは確認作業を省略するという意味です。これらのコマンドは管理者権限が必要になります。管理者権限で実行す るには、「 sudo 」をコマンドの前に付けます。 sudo とは super user do の略で、「スドウ」や「エスユードウ」と読みます。 $ sud0 apt-get update $ sud0 apt-get upgrade -y コマンドの例 15 ネットか ソフトをダウンロードしてそのままインストールすることもできます。インストールする場合も管理者権限が必要なの で sudo を頭に付けます。 apt-get でインストールできるのは、あらかじめラズバイ os 向けに作られたソフト ( バッケー ジという ) です。バッケージ名も決められています。例えば「 eject 」というバッケージをダウンロードしてインストール する場合は、次のように実行します。 ー各種ソフトのソースコードをダウンロードする あらかじめバッケージが用意されておらす、前述の apt - get でインストールできないソフトも多数あります。一般的な Linux 用のソースコードをダウンロードして、ソフトを生成 ( ビルドという ) する場合は、「 git clone 」を用いることが多 くなっています。通常は git という拡張子を持つファイルとしてネットで公開されており、それを直接指定します。 $ git clone http://xxxx . xxxx. xxxx/xxxx. git ー圧縮ファイルを展開する Windows ではファイルを圧縮アーカイプする際に、「 zip 」や rlha 」形式を用いるのが一般的ですが、 l_inux の世界では、 「 ta 「 . gz 」形式がまだ主流です。 hoge. ta 「 . gz という圧縮ファイルを展開するには、 ta 「コマンドを使います。 ーサーバーを起動する Linux には標準でさまざまなサーバーソフトが装備されています。例えば、ファイルサーバーソフトである「 vsftpd 」を 起動するには、次のようにします。 $ tar xvzf hoge . tar . gz $ sudO service vsftpd start 145

7. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

overlay dht11@0 { compatible "dhtll" "default" pinctrl-names く 0X1 〉 : pinctrI-0 く 0xdeadbeef 0X4 0X0 > : gP10S "okay" status phandle = く 0X2 〉 : overlay dhtll—pins { = く 0X4 > : brcm,pins = く 0X0 〉 : brcm,function brcm,pull = く 0X0 〉 : phandle = く 0X1 〉 : ロ 図 17 DHTII に関連する部分 ( d 11. dts ) (g) が多数出ると思いますが気にす る必要はありません。 作成された dhtl 1. dts をのぞい てみることにしましよう。 Device Tree のソースコードの記述方法は かなりややこしいものですが、少し 手を加えてカスタマイズする程度な らさほど難しくはありません。 例えば、今回の回路では GP104 に DHTII や AM2302 を接続しました が、別の GPIO を使いたいこともあ るはずです。作成された dhtll. dts を見てみると、図 17 のような箇所 があります。 「 dhtll@0 」セクションの「 gpios 」 の右辺で使用する GPIO を設定して います。「 0xdeadbeef 」は下のター ゲットを識別する文字列で、「 0X4 0X0 」が GPIO の指定です。「 0X4 」を、 例えば「 0X5 」に変えれば、 DHTII や AM2302 を GP105 番に接続でき るようになります。 ただし、さらに「 dhtll_pins 」セ クションの「 brcm,pins 」の右辺に ラバイマガジン 2011.10 uuid 00000000 ー 0000 ー 0000 - 0000 - 000000000000 id 0X0002 product_ver 0X0002 "GADGET LTD.' "Raspi Magazine DHTII board" product vendor product product gpio—drive 0 gpio—slew 0 gpio_hysteresis 0 back—power 0 図 18 eeprom—settings. txt の内容 ある数値も「 0X05 」に換える必要が あります。 以上のように、カスタマイズした い該当箇所を変更すれば自前の Dev ice Tree Overlay を作成できます。 ソースコードから、 Device Tree Overlay のバイナリーを作成するの にも Device Tree CompiIer を使い ます。 $ d t c - I d t s - 0 d t b - 0 d h t 11 . d t b d h t 11 . d t s ロ これで DHTII 用の Device Tree (dhtll. dtb) OverIay のバイナリー が作成されます。 EEPROM に HAT 用イメージを書く では、 dhtll. dtb とそのほかの情 報をまとめてシリアル EEPROM に HAT 用のたたき台となるデータを 書き込んでみましよう。まず、 ee prom-settings. txt を作成します。 GPIO は特に eeprom_settings. txt の 中で設定する必要はないので、図 18 のような eeprom_settings. txt を用 意します。もちろん、読者が自由に 変更して構いません。 eepmake コマンドを使って、たた き台となるシリアル EEPROM のイ d h t 11 . e e p d h t 11 . d t b ロ . /eepmake eeprom_settings . tx メージを作成します。 t 作成されたイメージファイル (dhtll. eep) をシリアル EEPROM に書き込みましよう。 $ s ud 0 . / e e p f 1 a s h . s h 64 -f=dhtll . eep ロ - W -t=24c 「 Done. 」と表示されれば書き込み 成功です。ラズバイを再起動させて ください。 DHTI 1 用ドライバの使い方 再起動後、 DHTII のドライバが 正常に読み込まれたことを確認しま す。次のようにコマンドを実行して 読み込まれていないようなら、シリ アル EEPROM が正常に作成されて いません。 $ lsmod ー grep dhtll dhtll 0 i n d u S t r i a 1 i 0 1 d h t 11 4 210 62929 DHTII のドライバは「 Linux ln dustrial I/O Subsystem 」 ( 略称は 「 Linux IIO 」 ) として作成されてい ます。 Linux IIO のデバイスは「 / sys/bus/iio/device 」以下からアク セスできます。 今回の設定では DHTII が唯一の Linux Ⅱ O デバイスなので、 DHTII には「 /sys/bus/iio/devices/iio:de ⅵ ce0 」以下のファイルを通じてアク

8. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

ー DAC ポドで高音質に Part 1 VO し IJ(T)IO = Hifiberry DAC Plus DSP Options DSP Program Clock Missing Period 4 実際に聴いてみよう 12S DAC 搭載のラズバイプレー ャーが完成したら、手持ちの音楽デ ータを聴いてみましよう ( p. 120 の 別掲記事「 Volumio にはウエプラジ オ機能もある」も参照 ) 。おそらく 内蔵オーディオデバイスや前回取り 図 8 補完アルゴリズムの選択 DAC チップが持つ MiniDSP 機能を使った補完アルゴリズムも選択できる。聴感にはあまり影響しないところ 上げた USB DAC と比べても違った ではあるが、好みのものを選択しよう。 印象を持っと思います。 筆者が試聴したところでは、前 回紹介した S. M. S. L iDOL + USB DAC に比べて左右チャンネルの分 離が良く、音響用のコンデンサーを 使っているのも関係するのか、より 「解像感」のある音に聴こえました ( さらなる効果を求めて筆者は改造 してしまいましたが ) 。「暖かみがあ る」とされている真空管アンプでの 音とは真逆の「冷徹なまでに」原音 重視の出音という印象です。 ハイレゾオーディオではこの「解 像感」という表現がよく使われま す。これは従来の音源に比べて高い サンプリングレート ( 高い音の再生 に有利 ) と高いビットレート ( 細か いディティールの再現に有利 ) を持 FIR interpolation with de-emp LOW latency IIR with de-emph High attenuation with de-emp Fixed proce 55 fl ow Ringing-lessIow latency 日 R VO し lJmlO ①音量オプション Mixer Type Mixer Control Name DigitaI 起動時に既定の音量 無効化 最大音量レベル 100 ワンクリック音量ステップ 10 音量カープモード Hardware 図 9 音声オプショ ンの選択 MiniDSP を使ったテジ タルポリューム、アナロ グボリュームの選択や 最大音量・音量カーブを 変更できる。 チュラル # 内蔵オーディオデバイスを無効にする dtparam=audio=off # Pifi DAC + (HifiBerry DAC + 互換 ) を有効にする dtoverlay=hifiberry-dacplus 図 10 Pifi DAC + を使うための /boot/config. txt 設定 最新のラズバイディストリでは / boot / config. txt だけで設定ができる。同時に複数のテパイスで再生する必要 はないので、必要に応じて内蔵オーディオデバイスを無効化してもよい。 * 6 vo 旧 mio 」 oca にいうホスト名は「 Zeroc onf 」技術で自動的に割り当てられたアドレス です。 Windows では iTunes をインストール、 Linux では Avahi サービスを有効にすることで 利用できます。 * 7 Linux3.18. x 以降のカーネルからデフ ォルトで Device Tree という仕組みが導入さ れ、 /etc/modules ではなく /boot/config. txt で設定する方法に変わりました。以前のバー ジョンのカーネルからアップテートした場合に は、今まで使っていたデバイスが利用できない ことがあるので注意が必要です。 $ a pl ay - 1 ロ ☆☆☆☆ List of PLAYBACK Hardware Devices 夫☆☆夫 card 1 : sndrpihifiberry [snd—rpi_hifiberry_dacplus], d e v i c e 0 : H i F i B e r ry DAC + H i F i pcm512x - h i f i - 0 [ ] Subdevices: Subdevice # 0 : subdevice # 0 図 11 a が ay コマンドでのサウンドテパイス確認 ap y コマンドを使って利用可能なサウンドデバイスを確認する。 ラスパイマガジン 2011.10 1 19

9. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

表 3 setgpio で指定できるモード G 日 0 入力モード INPUT G 曰 0 出力モード OUTPUT ALTO ~ ALT5 AIternative Function0 ~ 5 表 4 setgpio で指定できるオプション 変更なし DEFAULT プルアップ UP カレダウン DOWN カレアップダウン無し NONE $ cd ¯/hats/eepromutils ロ . /eepmake eeprom—settings . txt test . eep ロ Opening file eeprom—settings . txt for read UUID = 81815C9d ー 6dca ー 4e47 - ae03 ー a28f54f2b89f Done reading W r i t i n g 0 u t . Done . 図 8 シリアル EEPROM のイメージファイルの作成 容 . 4 容 オプション $ sudO . /eepflash . sh -w ー t = 24C64 -f=test. eep ロ This will attempt tO talk tO an eeprom at i2c address 0X50. Make sure there is an eeprom at this address. This script comes with ABSOLUTELY no warranty. continue only if you know what you are d0ing. DO you wish t0 continue? (yes/no): yes ロ Writing . 0 十 1 records in 0 十 1 records out 0 . 694072 s, 0 . 2 kB/s 120 bytes ( 120 B) copied, Done . 図 9 シリアル EEPROM へのイメージの書き込み ALTO ~ ALT5 を設定すること 利用したい Alternative Function に 2 を設定すると、ラズバイの USB 端 切り替わるので楽です。 で、 GPIO 端子を入出力モードでは 子から 500mA の外部電力供給が可 なく「 AIternative Function 」に設 また、 GP1014 と 15 はデフォルト 能になります。 の入力モードではなく出力モードに 定されている機能を割り当てること も可能です。これについては後で実 切り替えています。 際に試してみることにしましよう。 シリアル EEPROM に書き込もう 第 3 パラメーターのオプションで 以上の内容に従って設定したら は表 4 の設定が可能です。 ここではテストとして次のように ¯/hats/eepromutils/eeprom—setti ngs. txt を保存してください。カレン 設定します。 トディレクトリーを切り替え、図 8 のようにシリアル EEPROM のイメ setgpio 5 ージファイルを作成します。 setgpio 14 最後に「 Done. 」と表示されれば ULT setgpio 1 5 カレントディレクトリーにシリアル ULT EEPROM のイメージファイル (test. eep) が作成されます。このファイ GP105 を ALTO に設定していま ルをシリアル EEPROM に書き込み す。 Raspberry Pi 財団が公開して 「 setgpio 」には GPIO 端子の設定 いる SoC のマニュアル * 4 を参照す ましよう ( 図 9 ) 。 eepflash. sh は root を記述します。設定するときには行 権限でしか実行できません。「 - w 」 頭のコメントマーク ( # ) を取り、 ると分かりますが、 GP105 を ALTO が書き込み指定、「 - t = 」で使用して に設定すると汎用クロック出力に切 その後に続くパラメーターを書き換 り替わります。スクリプト言語など いるシリアル EEPROM のタイプを えます。 setgpio のパラメーターは、 指定します。 設定する GPIO 番号、モード、オプ から AIternative Function を切り替 えるのは結構面倒ですが、 HAT の ここでは例として 24LC64 を使っ ションの順です。モードは表 3 に示 仕組みを使えば起動時に自動的に ているので「 24C64 」を指定します したものが選択できます。 D E FA #setgpio 2 ULT #setgpio 3 ULT #setgpio 4 #setgpio 5 #setgpio 6 ULT #setgpio 7 ULT #setgpio 8 ULT #setgpio 2 5 ULT I N P U T D E FA INPUT D E FÅ I N P U T D E FA INPUT D E FA INPUT D E FA INPUT DEFAU ALTO D E FA INPUT D E FA OUTPUT ロ D E FA OUTPUT D E FA INPUT フ ( イマカジン 2011.10

10. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

拡張ポド HA を作ろう、 LED や LCD が差すたけで動ぐ シリアル EEPROM が認識され、 HAT の試作を試みる準備ができま した。そこで、まずは手順を把握す る意味も含めて、最も単純な HAT を作成してみることにしましよう。 なお、 HAT といってもここでは試 作なので、プレッドボードを使って 擬似的に HAT を製作します。本物 の HAT は、 40 ピンの I / O 端子に直 接差さる基板になります。 HAT として機能させるためのシ リアル EEPROM を作成するには、 まず必要な設定やファイルを用意し 「 eepmake 」コマンドを使って ROM のバイナリーイメージ ( 拡張子は 「 . eep 」 ) を作成します。そのバイナ リーを「 eepfhash. sh 」というシェル スクリプトを使ってシリアル EEPR OM に書き込みます。 eepmake コマンドや eepflash. sh スクリプトは、先にコピーを作成し た¯/hats/eepromutils ディレクト リー以下にあります。 eepmake コマ ンドで作成するバイナリーイメージ のたたき台となる設定が、「 -/hats/ eepromutils/eeprom—settings. txt 」 というテキストファイルです。どん な HAT であっても、このテキスト ファイルだけは作成しなければなり ません。 eeprom_settings. txt の作成 工デイタで¯/hats/eepromutils/ eeprom—settings. txt を開いてくだ さい。変更する必要がある箇所を説 明していきます。 product—uuid 00000000 - 0000 - 000 0 - 0000 - 000000000000 「 product-uuid 」は HAT を識別す る固有の ID 文字列 (UUID) です。 eepmake コマンドで自動で作成さ れるので、設定は上のようにデフォ ルトのまま、 0 並びにしておいてく ださい。作成者が UUID を付ける必 要はありません。 product_id 0X0001 「 product-id 」には製品を識別す る固有の ID 番号を 16 進数 4 桁で設 定します。自分が作る HAT に与え る適当な ID を決めて設定しておけ ばよいでしよう。ここでは、上のよ うに 0X0001 を設定しておきます。 「 product—ver 」には、その製品の バージョン番号を 16 進数 4 桁で設定 します。改善改良のたびに一つ増や していく、という一般的なバージョ ンの与え方でよいでしよう。 v e n d 0 r " GA D G E T LT D 「 vendor 」には、作成者 ( 個人 名、組織名など ) を文字列で設定し ます。 product "Raspi Magazine test bO 「 product 」に製品名を文字列で設 定します。適当な名前を与えておく とよいでしよう。 gpio—drive 0 product_ver 0X0001 「 gpio—drive 」は、 GPIO ドライプ 電流上限値の設定です。 0 はデフォ ルト ( 16mA ) 、 1 ~ 8 の値を設定す ることで 2 、 4 、 6 、 8 、 10 、 12 、 14 、 16mA を明示的に設定することもで きます。 gpio—hysteresis 0 「 gpio-hysteresis 」には、 GPIO のヒステリシス特性 * 3 を設定しま す。 0 はデフォルト ( ヒステリシス あり ) 、 1 はヒステリシス無し、 2 で ヒステリシスありです。 「 back-power 」は、 I/O 端子の + 5V ピンに対して HAT 側からラズ パイ本体に電源を供給するタイプの ボードで設定が必要な項目です。 + 5V ピンに給電するために設けるべ き保護回路などの仕様については、 git でコピーしたドキュメントの中 にあるので必要に応じて参照し、仕 様に従った電源を作ってください。 back—power が 0 のとき、 HAT 側からは電源を供給しません。 1 は HAT 側の給電能力が最大 1.3A 、 2 は HAT 側の給電能力が最大 2A です。 * 2 G 曰 O の立ち上がり、立ち下がりの時間 です。 * 3 G 曰 0 入力時、信号の立ち上がり時と 立ち下がり時にオン / オフを識別するしきい値 が変わる特性をヒステリシス特性といいます。 ヒステリシス特性を与えておくと G 曰 0 の耐ノ イズ性が向上します。 gpio—slew 0 「 gpio-slew 」には、 GPIO のスリ ューレート * 2 制限を設定します。 0 はデフォルト ( 制限無し ) 、 1 で制限 付き、 2 で制限無しです。 back—power 0 ラスパイマガジン 2011.10