狛ログ

ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示
ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示

2016年12月4日日曜日

Raspberry Pi 3 でウォッチドッグタイマーを使った自動再起動。

12月 04, 2016

オフィス狛 技術部です。

IoT関連のプロジェクトでは、多く使われている Raspberry Pi 。
弊社でも、BLEソリューションや、その他実証実験などで、使っています。

Raspberry Pi 3 になって、性能も良くなっているのですが、
たまに不安定になって、フリーズしてしまう事があります。

メモリ不足になっているとか、要因は色々あるのですが、
常時稼働すべき用途の場合、フリーズしてしまうのは困ってしまいます。

と言う事で、ウォッチドッグタイマーの出番です。

ウォッチドッグタイマーとは

メインのプログラムがハングアップなどの不正な状態に陥ってしまい、規則的なウォッチドッグ操作(「犬をなでる」とも呼ばれる「サービスパルス」の書き込み)が行なわれなかった(タイムアウト)場合に、例外処理が実行される。例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合が多いが、電源切断によりシステムを強制停止させるものや電源を切断した後に再投入するものもある。
タイマーはソフトウェアではなく、ハードウェアを用いる。これは、ソフトウェアで実装してしまうと、ソフトウェア自体が故障した際にタイマーの役割を果たさなくなったり、リセット信号を発生できなくなってしまう恐れがあるためである。
障害を引き起こした問題のデバッグに役立つ情報などを媒体に保存する機能を持つ場合、ウォッチドッグタイマーはより複雑なこともある。たとえば、最初のウォッチドッグタイマーのタイムアウトによって開始された情報の保存処理がある時間内に完了しなかった場合、情報が保存されていてもいなくても、2番目のシンプルなウォッチドッグタイマーがシステムを確実にリセットさせる。ウォッチドッグタイマーが最も多く使われているのは組み込みシステムで、マイクロコントローラに内蔵されていることも多い。
「ウォッチドッグタイマー」『フリー百科事典 ウィキペディア日本語版』より。
2016年3月21日 (月) 08:29‎ UTC
URL: https://ja.wikipedia.org/wiki/ウォッチドッグタイマー

ウォッチドッグタイマーのインストールと設定

以降のコマンドは、root権限で実行してください。
(「su」でrootになるか、「sudo」をコマンドの頭に付ける)
また、OSは「Raspbian Jessie Kernel version:4.4」を想定しています。

以下のコマンドで、watchdogをインストールします。
$ apt-get install watchdog

サービスの登録を行う為に、「watchdog.service」ファイルを編集します。
$ vi /lib/systemd/system/watchdog.service
※「[Install]」の下に下記を追加して、保存後、ファイルを閉じます。
WantedBy=multi-user.target

自動起動設定を行います。
$ update-rc.d watchdog enable

カーネルモジュールをロードします。
$ modprobe bcm2708_wdog

watchdog.conf の編集を行います。
$ vi /etc/watchdog.conf
※以下の部分のコメントを外し、保存後、ファイルを閉じます。
#watchdog-device = /dev/watchdog

/etc/default/watchdog の編集を行います。
$ vi /etc/default/watchdog
※watchdog_module="none"の「none」を「bcm2708_wdog」に変え、保存後、ファイルを閉じます。

再起動します。
$ reboot

再起動後、以下のコマンドを実行し、自動で再起動すればOKです。
$ :(){ :|:& };:

今回、下記サイトを参考にしたのですが、ちょっと情報が古かったり、やり方がサイトによって微妙に異なっていたりしたので、
Raspberry Pi 3 の「Raspbian Jessie Kernel version:4.4」で、問題なく動作した方法を記載しています。

【参考】
http://ivis-mynikki.blogspot.jp/2015/03/raspberry-pi.html
http://ecoday.jp/881/raspberry-pi-2-にウォッチドッグタイマーを導入する%E3%80%82/
http://machiawasepoint.com/raspberry-pi-jessieにwatchdogをインストール/

2016年11月7日月曜日

Raspberry Pi 3 で 3G 通信をしてみる。 〜 Raspberry Pi 3 への 3GPI 取付と設定 〜

11月 07, 2016
オフィス狛 技術部です。

Raspberry Pi で 3G 通信をしてみよう! という事で、
今回は、Raspberry Pi と 3GPIの取り付けを行なっていきます。

・SIMカード準備

SIMはカードのような物に付いているので、丁寧に取り外します。


外したSIMを変換アダプタ(標準SIM)へセットします。
今回は、汎用性を考えて(この検証以外でも使いたいので)、
nano(ナノ)サイズSIMを購入しましたが、標準SIMサイズを購入していれば、上記作業は不要です。
※SORACOMでは、ナノ、マイクロ、標準SIMのサイズが用意されています。

・3GPI同梱品確認

実際の作業の前に、3GPIの同梱品を確認します。

【同梱品一覧】(取扱説明書より)
  • 3GPI本体 1枚
  • 接続設定済Raspbian入microSDカード(SD用アダプタ付) 1枚
  • 3Gアンテナ 1本
  • ACアダプタ(12V 1A) 1個
  • USB-A雄-USBmini-b雄 100mmケーブル 1本
  • Raspberry Pi ModelB+用六角スペーサ(M2.6)セット 2セット

・Raspberry Pi に 3GPI を取り付ける

では、Raspberry Pi に3GPIをセットしたいと思います。
まずは写真の赤枠の部分に、六角スペーサを取り付けます。


こんな感じです。
ナットで裏側から固定しています。


裏側はこんな感じです。


続いて、Raspberry Pi のGPIOピンに、3GPIを差し込みます。
結構強めに押し込まないとちゃんとハマりませんが、
繊細なので、壊さないように力込めましょう。
GPIOピンに差し込んだ後に、六角スペーサのネジを締めます。
写真の赤枠がネジを締めた後の状態です。

・SDカード取付

本体をひっくり返して、microSDカードを差し込みます。
※microSDカードの裏表を間違えないように。

・SIMカード取付

SIMスロットは閉じている状態の時に、奥に押す感じでずらすと開きます。
IC端子と切れている部分の位置に気を付けてセットします。


スロットを閉じた後は、先程と逆に手前に引く感じでずらすと、固定されます。

・その他取付

3Gアンテナを取り付けます。端子が二つありますので、
"RF"と記載されている方に取り付けます。
結構力を入れないとネジが回りませんので、壊さないように力込めましょう。


Raspberry Pi のUSBと、3GPIのUSBmini-Bを繋ぎます。


後は電源投入ですが、その前に、
Raspberry Pi にUSBキーボードと、HDMIケーブルを接続しています。


最後に3GPI側に電源を接続します。


起動しました。
3GPIが梱包されていた箱の内側に、UserNameとPasswordが記載されているので、
入力してログインします。

・SSH接続設定

Raspberry Pi へTeraTermなどで接続する為の設定を行います。
コンソール上で「sudo raspi-config」とコマンドを打ちます。

起動した設定画面で「9 Advanced Options」を選択します。


次に出てきた画面で「A4 SSH」を選択します。


SSH Serverを有効(Enable)にします。


セットアップはここまでとなります。
写真がセットアップ後の状態です。(LANケーブルも接続しています)
大きさの比較に、フリスクも置いてみました。

※SORACOMは(と言うより、データ通信のみのSIMはほとんど)、
グローバルIPではなくプライベートIPが割り振られます。
その為、SIMの接続を利用したリモート接続が出来ません。
(中継サーバーを設ける事で可能になるようですが、今回は記載しません)
という事で、リモート接続をする為に、LANケーブルを接続しています。


さて、3G通信の準備が完了したので、次は実際に通信速度を測ってみようと思います。

3)通信速度を測ってみる(近日公開予定)


2016年11月1日火曜日

Raspberry Pi 3 で 3G 通信をしてみる。〜 SORACOM アカウント登録から SIM 登録まで 〜

11月 01, 2016
オフィス狛 技術部です。

Raspberry Pi で 3G 通信をしてみよう! という事で、
まずは、3G通信を行う為のSIMの準備を行います。

・SIMの購入

今回購入した SIM は「SORACOM Air SIM カード(データ通信のみ) (ナノ)」となります。
SORACOM のサイトから購入する事も可能ですが、今回は、即日納品可能な Amazonで購入しました。

・SORACOMアカウント登録〜ログイン

SIMが用意出来たら、SORACOM社 のサイト(https://soracom.jp/)にてアカウント登録を行います。

アカウント登録後、ログインすると、以下のような画面が表示されます。
まだ SIM は何も登録されていない状態です。

・SIMの登録

「+SIM 登録」押すと、SIM の情報を入力するポップアップが表示されます。
IMSI・パスコードは、購入した SIM が取り付けてあるカードの後ろに記載してあります。

登録すると、先程の SIM の一覧に表示されます。

・通信料金

SORACOM社のサイト(ご利用料金 - 日本向け Air SIM)を見てもらうのが一番ですが、
注意すべき点は、「SIMを登録した時点から料金が発生する」という事です。
今回は、データ通信のみのSIMを登録したので、登録直後から、「1日5円」が発生します。 そして、実際に使い始めると、「1日10円」の基本料金+通信料が発生します。
(ま、それでもSORACOMは、かなりお安いと思います。)

さらに、使用する時間帯や、通信速度によっても料金が変わってくるので、気をつけましょう。

さて、SIMの準備が完了したので、次はRaspberry Pi 3 への 3GPI 取付と設定になります。


2)Raspberry Pi 3 への 3GPI 取付と設定
http://blog.officekoma.co.jp/2016/11/raspberry-pi-3-3g-raspberry-pi-3-3gpi.html

2016年10月31日月曜日

Raspberry Pi 3 で 3G 通信をしてみる。

10月 31, 2016
オフィス狛 技術部です。

Raspberry Pi で 3G 通信をしてみよう! という事で、
4ヶ月ほど前に色々検証したのですが、ブログに載せるのが遅れてしまいました。

検証に使用したのは、「3GPi」という通信モジュールですが、
検証内容をブログに載せるのが遅れている間に、「3GPi」の販売元の会社から、
「anyPi(エニーパイ)」というスターターキットが出てしまいました。

約3分でセットアップできる! ラズパイIoT向けスターターキット 「anyPi」

ホント、IT業界ってのは時の流れが早いです。
しかし、ブログに載せるのを遅れた自分への戒めの為、今このタイミングで敢えて、
上記スターターキットを使わない方法を載せたいと思います。

大まかな手順は以下の通りです。

1)SORACOM アカウント登録から SIM 登録まで

2)Raspberry Pi 3 への 3GPI 取付と設定

3)通信設定&通信速度を測ってみる


今回、実験するのに用意したのは、以下の機器です。

  • SORACOM Air SIM カード(データ通信のみ) (ナノ)
  • Raspberry Pi 3 Model B (Element14)
  • REMAX SIM 変換 アダプター 4 点セット ナノシム
  • 3GPI(Raspberry Pi 向け 3G 通信モジュール)

そして、またもや言い訳になってしまいますが、載せる情報は、少し古い可能性がありますので、
最新の情報は、各メーカーのホームページ等を参照して頂くようお願いします。

では早速、最初の手順を進めて行きます。

1)SORACOM アカウント登録から SIM 登録まで
http://blog.officekoma.co.jp/2016/10/raspberry-pi-3-3g-soracom-sim.html