「デバイス」カテゴリーアーカイブ

RaspberryPiでRAMディスク化する方法

RaspberryPiはLinuxで動いていますが、突然電源を切ってしまうと、ディスクを壊したりOSが起動しなくなる。
そんな問題が起きたりします。

回避のために行った内容をまとめていきます。

こんにちは、北神です。

RaspberryPiは組込み用途を想定された作りをしていない為、所謂「電源のブチ切り」には対応していません。

しかし、次第に組込み用途で使用される事が増え、世界中のエンジニアがアイディアを出し合い、とても良い方法が提案されました。

それは、「overlayfs」です。

この機能は、OSやアプリケーションの設定を変更せずに、起動時は、ディスクをRO(リードオンリー)に設定し、
起動後にアプリが書き込むファイルは、RAM上でRW(リードライト)にする機能です。

もう少し詳しく話しますと、

フォルダのアドレスをRAMやtmpに変更する必要がなく、書き換えや保存も”見かけ上”変更なく同等に実行されます。

しかし、見かけ上問題がないだけで、内部では書き換えや保存はRAM上で行われる為、保存ができたと思っても再起動をしますと保存前に戻ります。

さらに、試して気が付きましたが、書き込みがRAM上で行われる為、起動完了までの時間が少し速くなる事がわかりました。

ただ、ログ等の書き込みがRAMで行われてしまう為、電源を抜くと確認しに行く事ができない事を留意してください。

早速、そのoverlayfsの設定方法ですが

コマンドにて

sudo raspi-config nonint enable_overlayfs

これだけです。
これだけで、Rebootを行うと、起動時にROで立ち上がります。
書き込みや保存は全てRAMに転送されますので、保存されません。
これにより、電源ブチ切りを行っても、SDカードのディレクトリに障害は発生しません。
起動失敗による障害が減ると予想されます。

また、再びディスクに書き込みや保存を行いたい際は

sudo raspi-config nonint disable_overlayfs

を行い、再起動後に書き換えができます。

このoverlayfsに加え、systemd(systemctl)を駆使する事で、組込み用途で使用できるRaspberryPiに変化させる事できます。

ではでは。

GPSを使って山手線一周を試してみた

こんにちは、北神です。

今回は「GPS/GLONASS受信機u‐blox M8搭載」を使ってGPSの性能がどの程度かの確認を行いました。

確認を行なった方法は、ノートPCにu‐blox M8を接続しGPSのデータを記録し続けます。簡易的なロガーのような機能です。

この状態で、山手線を一周し、どの程度線路に沿ったデータが取れるかの確認を行いました。

結果はこちら。

GPSで受信したNMEAと呼ばれるメッセージを解析し、緯度と経度をGoogleMapsに反映を行いました。

ドットが細かすぎて潰れた図になっていますが、地図を拡大するとこのように綺麗に線路に沿ったデータが取得できます。

また、GoogleMapsには地図を航空写真に変える機能があり、

こういった地図を見た際に「あれ、山手線ってどこ走っていたっけ?」といった疑問を

こう、実際に乗って見て確認することができました。

今回試したかったGPSの性能としては、そこそこ実用レベルであり、他の分野でも利用することが可能かと思われます。ただ、何箇所かGPSの情報が取得できなかった箇所もあり、アンテナの設置位置や補正方法等の検討は必要そうです。

今回はノートPCをロガーの代わりに試して見ましたが、RaspberryPiやその他の機器に接続して持ち運びが出来た際は、もっと色々な使い方が出てくるんじゃないかと思った次第です。

では。

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

GPSやセンサー、通信に関わる案件お待ちしております。

まずは、お気軽にお問い合わせください。

第1回高尾山IoT 月刊I/Oとの共同企画

7月某日 月刊I/Oとの共同企画が突然実施された!そう、高尾山IoTです。
月刊I/OのFさんとアバンド代表青木が高尾山に登り、頂上でなんか開発して、下山しながら稼働されるというイベント。

ひとまず登る。

登山中、なぜか、蝶に好かれる。ずーーーーと手に腰に蝶がへばりつく。
チューチュー吸われるw

さくっと山頂と行きたかったが、やはり最後の階段がキツイ。それ以外は楽勝なのでけど。
ひとまず、お決まりの写真

涼しいところを探し、開発開始!灼熱で死ぬ~とか、水曜どうでしょ?的展開を期待したが、心地いい涼しさ。
周囲から変な視線を感じつつ・・・

今回は、ソフトバンク提供の米Electric Impの開発キット!
説明ページコピペw
———————————————————-
「impExplorer Developer Kit」は、「imp004m Breakout Board」の持つ機能に加えて、温度、湿度、気圧、3軸加速度の4つのセンサーを搭載した開発ボードです。本製品は、「imp004m Breakout Board」とは異なり、単3電池3本で稼動し、センサーの設計や組み込み作業を行わずにプログラミングを始めることが可能です。
———————————————————-

さて、さて、まず、あれ、IoTだから、通信から、あれ、WiMAXが入らん!うわーーーーー!
ということで、Fさんのキャリアを借りて、開発・・・・

そして問題発生!
impExplorer Developer Kitのネットワーク設定は、スマフォで設定して、それをimpExplorer Developer Kitにスマフォの画面をかざすと
スマフォの画面点滅により、impExplorer Developer Kitにネットワーク設定ができるという、超親切設計なのですが、
何度やっても、ネットワーク設定ができない。

これでこの企画終わったか?・・・・・・あああ・あああ・・・・
もしっや、明るい?外でやっていて、お日様の光りが明るい?
ということで、手で影を作り、再度挑戦、あ、あ、あ、設定できた。

あとは開発のサンプルを見ながら開発!プラウザー上で開発出来ると結構簡単。

ハマるところサンプルコピペでは動きません
各端末でソースコード内の「hardware.***」を合わせないと動きません。
下記がその一覧に一部です。
https://electricimp.com/docs/api/hardware/spi/
https://electricimp.com/docs/api/hardware/i2c/

温度、湿度、気圧のセンサーで暑いときは「暑い」というメッセージと温度湿度、そして気圧から計算した大まかな高度をツイッターで表示。
https://twitter.com/takaosaniot

impExplorer Developer Kitに電池を入れて、特製wの箱に入れて、IoTデバイス完成!

そして、下山。
谷間等では通信できませんでしたが、温泉までしっかりデータが取れた。


そして、温泉入って、そば食べて終了!

月刊I/Oもあわせて読むとオモロイよ!

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。