入社してはじめてラズパイにふれてみた
2019.05.21

こんにちは、せんだです。
まだ5月だというのに最近はどんどん気温も上がってきて、自転車通勤のせんだは毎朝汗だくで出勤しています。でも思ったほど体重が落ちません。
毎日、朝晩合計12km自転車こいでるので、もう少し落ちてもいいのにと思っていますが、なかなかうまくいかない今日この頃です。
さて、せんだはスワローに入社して初めてRaspberry Pi(以下、ラズパイ)にさわったのですがその中でやってみた事、失敗した事などについてまとめてみたいと思います。
その1:LEDをチカチカする(GPIOピン連携)
巷ではエルチカと呼ばれることもあるようです。
シェルスクリプトを使ってやってみました
参考:【Raspberry Pi 3】シェルスクリプトでLチカ
その2:Electronアプリを動作させる
electron-packagerを使って、Linux向けにビルドする事でラズパイ上でElectronアプリを動作させました。
ラズパイ向けにビルドする時のパラメータは下記の通りです。
[cc_bash]
$ electron-packager . [アプリ名] –platform=linux –arch=armv7l –overwrite –icon=[アイコンのパス]
[/cc_bash]
当初はアプリがうまく起動せず、Mac上だと起動するのにラズパイ上だと起動しないということにハマりました。結果的にpackage-lock.jsonを削除すると動作したので、何らかのモジュールのバージョンによってエラーを引き起こしていたのだと思われます。
ちなみにラズパイ上で動作するElectronのバージョンは現時点では3系で、4系は動作しませんでした。
その3:Webサーバー、DBサーバーとして動作させる
Linux系のOSなのでできて当たり前っちゃ当たり前なのですが、そんなことした事がなかったので結構画期的でした。
ハイスペックが要求される場合はNGですが、用途が限定されている場合などは安価で省スペースなのでアリだと思います。
ちなみにWebサーバーはNode.jsで実装し、DBはMySQLを使おうとしたのですが、ラズパイはMariaDBが推奨されているようだったので、MariaDBをインストールしました。
Node.jsのデフォルトのportは3000ですが、3000が別のものに使われていて動かなかった時があったのですが、それに気づかずハマるという経験をしました。
その4:Raspbian OSをインストールする
最初にやりなさいよって話なのですが、せんだの場合は結構後になってからOSインストールに触れたので、
その4として書いてます。
下記のraspbianのダウンロードサイトからダウンロードして、balenaEtcherを使ってインストールしました。
その5:写真をとる
canvasとjavascriptを使って、写真をとりました。
いつの間にかNavigator.getUserMedia APIが非推奨になってました。現在はMediaDevices.getUserMedia APIが推奨されているようです。
ラズパイの設定で、カメラをONにするのをお忘れなく。
その6:音声合成を実装する
音声合成、つまりラズパイに喋らせる事です。最初はWeb Speech APIを使ってやろうと思っていたのですが、
音声ファイルのインストールがどうしてもできなかったのでOpen JTalkを使って実装しました。
OpenJtalkインストール
[cc_bash]
$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
[/cc_bash]
実行用シェルスクリプト
[cc_bash]
#!/bin/sh
TMP=/tmp/jsay.wav
# 音声ファイル生成と実行
echo Hello | open_jtalk \
-m /usr/share/hts-voice/mei/mei_normal.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay $TMP
[/cc_bash]
ラズパイは本当に色々な用途で使えると思いますが、今回は自分が経験したことについてさらっとまとめてみました。
それでは!
↓↓↓ぜひチェックしてください
~提供中のヒューマンセンシング技術~
◆なりすまし判定技術
eKYC・顔認証のなりすまし対策を!
https://bio-check.pas-ta.io
◆まばたき検出技術
PCやスマホアプリに組み込めて高精度にまばたきを検出
https://blink.pas-ta.io
◆視距離推定技術
単一RGBカメラで、目からカメラまでの距離を推定
https://vd.pas-ta.io
◆虹彩認証技術
目の虹彩を利用した生体認証技術
https://iris.pas-ta.io
◆視線検出技術
アイトラッキングや次世代UIに
https://eyetrack.pas-ta.io
◆目検出技術
あらゆる目周りデータを高精度に取得
https://pupil.pas-ta.io
