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

2019.05.21

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

 

こんにちは、せんだです。

まだ5月だというのに最近はどんどん気温も上がってきて、自転車通勤のせんだは毎朝汗だくで出勤しています。でも思ったほど体重が落ちません。

毎日、朝晩合計12km自転車こいでるので、もう少し落ちてもいいのにと思っていますが、なかなかうまくいかない今日この頃です。

 

さて、せんだはスワローに入社して初めてRaspberry Pi(以下、ラズパイ)にさわったのですがその中でやってみた事、失敗した事などについてまとめてみたいと思います。

 

その1:LEDをチカチカする(GPIOピン連携)

巷ではエルチカと呼ばれることもあるようです。

シェルスクリプトを使ってやってみました

参考:【Raspberry Pi 3】シェルスクリプトでLチカ

 

その2:Electronアプリを動作させる

electron-packagerを使って、Linux向けにビルドする事でラズパイ上でElectronアプリを動作させました。

ラズパイ向けにビルドする時のパラメータは下記の通りです。

1
$ electron-packager . [アプリ名] --platform=linux --arch=armv7l --overwrite --icon=[アイコンのパス]

 

当初はアプリがうまく起動せず、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​.get​User​Media APIが非推奨になってました。現在はMedia​Devices​.get​User​Media APIが推奨されているようです。

ラズパイの設定で、カメラをONにするのをお忘れなく。

 

その6:音声合成を実装する

音声合成、つまりラズパイに喋らせる事です。最初はWeb Speech APIを使ってやろうと思っていたのですが、

音声ファイルのインストールがどうしてもできなかったのでOpen JTalkを使って実装しました。

 

OpenJtalkインストール

1
2
$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

 

実行用シェルスクリプト

1
2
3
4
5
6
7
8
9
#!/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

 

 

ラズパイは本当に色々な用途で使えると思いますが、今回は自分が経験したことについてさらっとまとめてみました。

 

それでは!


Top