Warning: Declaration of FeedWordPie_Item::get_id($hash = false) should be compatible with SimplePie_Item::get_id($hash = false, $fn = 'md5') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpie_item.class.php on line 0

Warning: Declaration of FeedWordPress_Parser::parse(&$data, $encoding) should be compatible with SimplePie_Parser::parse(&$data, $encoding, $url = '') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpress_parser.class.php on line 0
RaspberryPi | 日々のできごと | ページ 4

「RaspberryPi」タグアーカイブ

RasPBXインストール

次は内線の設定とかふっておいて、フェイントで RasPBX の話。
RasPBX とは Raspberry Pi 用の Asterisk。

準備

raspberry-asteriskのサイトからイメージをダウンロード。
評価時の Leatest は raspbx-17-10-2015.zip (Raspbian(Debian8/Jessie)+Asterisk11.20.0+FreePBX12.0.76.2)
これを Win32DiskImager を使ってSDカード(4GB以上)に書込み、それでブートする。
初期状態だと DHCP でつながるので別途DHCPサーバが必要。
デフォルトでは SSHユーザ:root / raspberry、FreePBX管理ユーザ:admin / admin
RasPBXが正常起動したら SSHで接続して、コンソールから “raspbx-upgrade” を実行。
FreePBX管理画面から [アドミン▼]→[モジュールの確認]→[更新確認]→[全てのアップグレード]→[進む] で、モジュールを最新にしておく。

日本語化

AsteriskNow 同梱の FreePBX と同じ。

その後の顛末

一応、手持ちのガジェットにフリーのソフトフォン Zoiper を入れて、内線登録してみた。
接続はできているけれど、内線に掛けても相手が着信しない。(極まれにつながったりする。)
同一ネットワーク上に置いた仮想マシン上の AsteriskNow では問題なくつながるので
ネットワークの問題ではない気がする。初期型の Raspberry Pi なので遅すぎるのかなぁ。


OpenBlockS vs Raspberry Pi 2 異機種改造

君は OpenBlockS を知っているか?

obs_001みなさんは OpenblockS というアプライアンスサーバを知っているか?
ぷらっとホームから発売されたちっさいサーバで、今も後継機が販売されている。
その初代の OpenBlockS(赤)をなぜか持っている(^_^;。

当時としては画期的な小型サーバで、それなりにいい値段もしたが、当然、初代は既に販売もサポートも終了していて、これ以上使い道がない。

今販売されている Raspberry Pi 2 の方が、性能も格段に良いし、値段も安い。

性能比較

OpenBlockS Raspberry Pi 2
CPU Motorola PowerPC 860T 50MHz A 900MHz quad-core ARM Cortex-A7 CPU
メモリ 16MB SDRAMオンボード 1GB RAM
Linux 専用Linux(カーネル2.2.13) Raspbian など

なので、どうせなら異機種改造をする。

obs_002obs_003方針は外側が OpenBlockS で内側がラズパイ2なので、中味をそう取っ替え。
もともと基板が、アルミ部分をつないでいたので、それの代替品が必要。

まずは、近所のホームセンターで使えそうなパーツを物色。
パンチングされたエンビシートなるものがあったので買ってきた。

穴のピッチが合うか不安だったが、横向きなら合いそう。
ちなみに、後ろは長穴にして位置調整ができるようにした。

obs_005obs_006エンビシートをハサミで現物あわせで切って左右のアルミパーツをネジ留め。
その上に Raspberry Pi 2 基板のピッチで、スペーサーをネジ留めしてマウント。
エンビシートの端材に両面テープで前面の基板を取り付けてフロントベゼルを再現。
OpenBlockS には7セグLEDが付いていて、メール通数とか表示できていたけれど、今回のラズパイ版では割愛。

できなくはないけれど、7セグの処理って結構メンドくさいんだよね。

延長!延長!

obs_008obs_009ちなみにこのままだと干渉して電源が確保できないので、L型microUSBの延長ケーブルを買ってきた。
右向きと思って買いにいったら、実際のは左向きだったので接続口を良く見て表示に惑わされずに買ったほうがいい。
これを使ってラズパイの基板から電源用の microUSB を延長する。
音楽も聴くならば、イヤホンジャックもL字ケーブルで延長すればいいが、今回はサーバ用途なので、特に使わない。
HDMIについても VNC で接続すればよいので不要だろう。
ということで、このまま外装をネジ留め。

完成

obs_012

obs_011

前から見た限りでは往年の OpenBlockS となんら変わらない出来になった。
もともとの筐体もラズパイと比較して大きいし(中味スカスカだけど(笑))、特に苦労する点もなく入れ替えは完了。
フロントベゼルもそれっぽいので OpenBlockS を知る人はよもや異機種改造されているとは思わないだろう。

その分、後ろから見るとバレバレ(笑)。
それでも比較的スッキリまとまった。
最後に延長ケーブルに給電用の microUSBケーブルを差し込んで完了。

ちょうど、もともと7セグLED があった辺りの穴からラズパイのステータスLED が見えるのでそれなりにいい感じ。

なんということでしょう。これで思い入れのある OpenBlockS の筐体も見事に生まれ変わりました。

すっごく余力があるなら7セグLED付けるけど、たぶんやらないだろうなぁ。


Windows10 IoTをRaspberry Pi 2にインストールする方法

Windows10 IoTをRaspberry Pi 2にインストールする方法
いやあ、待ってました。Raspberry Pi 2 を買って待ってたよん。

…その後の顛末

上のリンク先の方法を使って、SDカードにインストールしてみた。
IMG_1340
思てたのと違ーう (^_^;
インストールしたら、そのまま Windows10っぽく使えるのかと思ったら、起動後しばらくたってから上記画面がでた。
設定できるのはタイムゾーン、参照できるのはネットワーク設定のみ。
ここからログインしたりとかデスクトップを使ったりはできない。

基本的にはWindows10IOTがサーバとなって、別の Windowsマシン から PowerShell などを使ってリモート接続して使う感じになる。
うーん、これなら Linux で telnet か ssh で接続するほうがサクサク動くし、簡単だし、Windows10 IOT のコマンドを覚えなおすなら、なじみのある Linux コマンド の方が使いやすい。
詐欺だよマイクロソフト(T_T)

今回は、「あー動いたね!」というのを確認したので、速攻 Raspbian に戻した。

とりあえず、zipファイルも保存して、インストール方法もわかったので、もうちょっと進化したら、また触ってみよう。


Raspberry Pi プロダクト一覧

機種 Raspberry Pi 2 Model B
CPU 900 MHz/クアッドコア(ARMv7ファミリ)
メモリ(SDRAM) 1GB
USB2.0 4(統合USBハブ)
映像出力 HDMI(rev1.3&1.4)
コンポジットビデオ(3.5mm4極ジャック)
音声出力 HDMI, 3.5mm4極ジャック
ストレージ microSDメモリーカードスロット(SDIO対応)
ネットワーク 10/100Mbps イーサネット

低レベル周辺機器 27×GPIO, UART, I2C, SPIと2つのチップセレクト
+3.3V, +5V, GND
カメラコネクタ 15ピン MIPIカメラシリアルインターフェース(CSI-2)コネクタ搭載
ディスプレイコネクタ Display Serial Interface(DSI)15ピンフラットケーブルコネクタ
電源ソース 5V / USB Micro-Bコネクタ または GPIOコネクタ
大きさ 85mm × 56mm
機種 Raspberry Pi Model B+
CPU 700 MHz/ARM1176JZF-S コア
メモリ(SDRAM) 512MB
USB2.0 4(統合USBハブ)
映像出力 HDMI(rev1.3&1.4)
コンポジットビデオ(3.5mm4極ジャック)
音声出力 HDMI, 3.5mm4極ジャック
ストレージ microSDメモリーカードスロット(SDIO対応)
ネットワーク 10/100Mbps イーサネット

低レベル周辺機器 27×GPIO, UART, I2C, SPIと2つのチップセレクト
+3.3V, +5V, GND
カメラコネクタ 15ピン MIPIカメラシリアルインターフェース(CSI-2)コネクタ搭載
ディスプレイコネクタ Display Serial Interface(DSI)15ピンフラットケーブルコネクタ
電源ソース 5V / USB Micro-Bコネクタ または GPIOコネクタ
大きさ 85mm × 56mm
機種 Raspberry Pi Model A+
CPU 700 MHz / ARM1176JZF-S コア
メモリ(SDRAM) 256MB
USB2.0 1
映像出力 HDMI(ver1.3&1.4)
コンポジットビデオ(3.5mm4極ジャック)
音声出力 コンポジットビデオに統合
ストレージ microSDメモリーカードスロット(SDIO対応)
ネットワーク ×(必要ならUSB経由で)
低レベル周辺機器 27×GPIO,UART,I2C,SPIと2つのチップセレクト
+3.3V, +5V, GND
カメラコネクタ 15ピン MIPIカメラシリアルインターフェース(CSI-2)コネクタ搭載
ディスプレイコネクタ Display Serial Interface(DSI)15ピンフラットケーブルコネクタ
電源ソース 5V / USB Micro-Bコネクタ またはGPIOコネクタ
大きさ 65×56 mm
機種 Raspberry Pi Type B
CPU 700 MHz / ARM1176JZF-S コア
メモリ(SDRAM) 512MB
USB2.0 2(統合USBハブ)
映像出力 HDMI(ver1.3&1.4)
コンポジットRCA(PAL&NTSC)
音声出力 3.5mmジャック, HDMI
ストレージ SDメモリーカード/MMC/SDIO カードスロット
ネットワーク 10/100Mbps イーサネット
低レベル周辺機器 8×GPIO, UART, I2C, SPIと2つのチップセレクト
+3.3V, +5V, GND
カメラコネクタ 15ピン MIPIカメラシリアルインターフェース(CSI-2)コネクタ搭載
ディスプレイコネクタ Display Serial Interface(DSI)15ピンフラットケーブルコネクタ
電源ソース 5V / microUSBコネクタ または GPIOコネクタ
大きさ 85.60mm × 53.98mm


この他にも「Raspberry Pi Compute Module」がある。
SO-DIMM型基板に最小限のチップを実装した小型版で、産業用途などを想定。

model A+ はアルトイズのミント缶に収まるらしい


USBポートの増設や各種性能改善を行った新モデルのB+

HummingBoard が出るなど、最近熱い Linuxボード界隈だが、Raspberry Piにも隠し玉が・・・。
それが Raspberry Pi B+!
USBポートが2台から4台に増設され、過電流に対応。
GPIOは現行26ピンに追加がなされて、トータルで40ピンに。
SDカードに替えてMicro SDスロットを搭載。全体として省電力に。
オーディオの性能を向上させ、USBポートの配置も使いやすく改良。
コンポジットビデオは3.5mmジャックの上側に配置。
設置しやすいように4つのマウント孔も設けられた。
価格は据え置き。

うーん。性能を求めて HummingBoard を取るか、拡張性を求めて B+ を取るか。
選択肢が拡がるのはいいことだけど、やりたいことによって迷うところだなあ。
拡張性が高くて高性能のがあれば一人勝ちなんだろうけど。
それと、ちょこちょこ Linux ボードを買っていると、いつの間にかノーパソ一台買える値段になっていた。
なんてことになりかねないからなあ。

News resource:TechCrunch


Linuxボードで温度を測る。

CPU温度を測れる Linux の場合は

の値を 1/1000 すればいい。

ちなみに、うちの Raspberry Pi は、ヒートシンク追加、専用ケースにハウジングした条件で 57.3℃。
Intel Galileo は、むき身にヒートシンクを乗せただけ(貼ってはいない)の状態で 63℃。
Beaglebone Black はCPU温度は測れないけれど、ヒートシンクをつけてケースに入れた状態で触ったらちょっとあったかいレベルだった。

Raspberry Pi はUSBコネクタに熱が回り込んで、刺した Wifiドングルも熱くなっていた。

常時動かすなら Beaglebone Black に軍配かな?今や入手困難だけれど。(新しく Rev.C が出ました。)

こうなってくると NEST の様に室温を測って管理したくなってきたな。

アナログI/Oがあるマシン(BBBなど)

BeagleBone Blackなどの PWM I/Oがあってアナログ値を取得できる場合。
よく使われる温度センサは LM35DZ(0~100℃) とか LM61BIZ(-25~85℃) とか LM61CIZ(-30~100℃) だけど、部屋はマイナスになりえるから使うなら LM61BIZ かな?
(Raspberry Piは GOIOしか使えないので、上のは使えない。「DS18B20」などの1-Wireというのを使用する。)
ちなみに取得値から温度を取るには計算が必要。
ここら辺も参考に。実際はコンデンサも必要かな?

というわけで

秋月電子で LM61BIZ が見当たらなかったので LM61CIZ (4個入り 200円)を買ってきた。
Beaglebone Black に以下で結線

Debian なので、1行目を実行すれば2行目で値が取得できる。

863 とかの値が帰ってくるから (value – 600) /10.0 が温度っていうことで良いのかな?
データシートの表から見ると、上の計算式であっているんだよな。他のサイトを見ると計算式違うようだけど・・・。
追記:以前は12ビットの値がそのまま出力されていたが、現時点ではミリボルト単位で出力されるようになっているらしい。なので上のでOK。自分で変換する必要はない。

温度計のインターフェースも作ってみた。温度計を作る 習作1 Ajax版
取った値でグラフも書いてみた。温度計を作る 習作2 グラフ

残り3個も早くどこかに使わないと。

この前、ちょっと触ったら、温度センサーが抜けかかっていて、108℃とかの温度が出力されていた。
へー!、こんなになるんだね。グッっと挿しなおしたら元に戻りました。
ジャンパーピンに直接 温度センサーを挿すのではなく、ブレッドボードかはんだ付けしないとだめだね(^^;

Raspberry Pi とか

I2CとかSPIとかのインターフェースを使って値を取得するのが一般的。
raspberry pi で I2C を有効にするにはいくつか方法があるけれど
raspi-config → 8 Advanced Options → A7 I2C → Would you like the ARM I2C interface to be enabled? <はい> → <了解>
→ Would you like the I2C kernel module to be loaded by default? <はい> で有効にしておくのが簡単。

2017/02
raspi-config → 5 Interfacing Options → P5 I2C → Would you like the ARM I2C interface to be enabled? <はい> → <了解>

コマンドラインからの lsmod で i2c_bcm2708 が表示されればロードされている。
apt-get install i2c-tools で i2c-tools をインストール。
i2cdetect -y 1 とかで i2c デバイスが接続されていれば、情報が表示される。