cyberkunのデータ分析やIoT、電子工作、組み込みなどについての知識の蓄積

ラズパイ、Linux、データ分析やIoT、電子工作、組み込みなどについての知識の蓄積

ラズパイ 音声合成やってみた

こんにちは。今回はopen jtalkを使った音声合成をやる。

Open JTalkをインストール

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


スクリプトファイル作成

$sudo nano jtalk.sh

#!/bin/bash
tempfile=`tempfile`
option="-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $tempfile"
 
echo "$1" | open_jtalk $option
aplay -q $tempfile
rm $tempfile

権限設定

$sudo chmod 755 jtalk.sh


オーディオ設定

$alsamixer


しゃべらせてみる
$./jtalk.sh "こんにちは。井上キモいわ。"

 

現在時刻をしゃべらるプログラム作成

$sudo nano jtalk_time.sh

 

#!/bin/bash

HOUR=`date +%H`
MINUTE=`date +%M`

STR=現在の時刻は、${HOUR}時${MINUTE}分です。ほな。

./jtalk.sh ${STR}

 

コマンドの実行

$./jtalk_time.sh

 

現在の時刻を読みます。

f:id:cyberkun:20201014123334j:image

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな

 

 

 

ラズパイ PLCの信号をモニタリングする

こんにちは。今回は機械とラズパイを接続して信号を取得してみたさ。PLCは24vでラズパイは3.3vなのでフォトカプラを使います。

 

材料(5点取得分)

三菱電機PLC FX3s 1pcs

f:id:cyberkun:20200928093823j:image

・抵抗器10kオーム 10pcs

・フォトカプラ東芝TLP785 5pcs

・ラズパイン Zero wh 1pcs

・ラズパイゼロユニバーサル基盤(1pcs)とピンヘッダ(2pcs)(秋月)

f:id:cyberkun:20200928092328j:image

 

回路図

f:id:cyberkun:20200928092422j:image

 

実装図

f:id:cyberkun:20200928092443j:image

 

実装した様子

f:id:cyberkun:20200928090757j:image

 

プログラム

f:id:cyberkun:20200928110331j:image

 

できました。

f:id:cyberkun:20200928092535j:image

 

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな

 

 

 

 

ラズパイ google coral edge tpu accelerator 使ってみた2

こんにちは。google のおかげでリアルタイム分類ができるようになりました。

環境
ラズパイ3B+

python 3.5

numpy 1.18.5

■coral edge tpu acceleratorをラズパイに接続する

■ラズパイカメラをラズパイに接続する

■TensorFlow Lite run timeをinstallする

$git clone https://github.com/tensorflow/examples --depth 1

$cd examples/lite/examples/image_classification/raspberry_pi

$bash download.sh /tmp

■プログラムの修正(推論時間短縮のための)

classify_picamera.pyの以下のように編集する

from tflite_runtime.interpreter import load_delegate

を上部に追加

interpreter = Interpreter(rags. model,

    experimental_delegates=[load_delegate('libedgetpu.so.1.0')])

interpreter の箇所変更

■実行する

$python3 classify_picamera.py --model /tmp/mobilenet_v1_1.0_224_quant.tflite --labels /tmp/labels_mobilenet_quant_v1_224.txt

 

electric guitarと認識できました

f:id:cyberkun:20200904132451j:image

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな

 

ラズパイ google coral edge tpu accelerator 使ってみた

こんにちは。googleのおかげで機械学習できるようになりました。

環境
ラズパイ3B+

python 3.5

numpy 1.18.5

■coral edge tpu acceleratorをラズパイに接続する

f:id:cyberkun:20200904111933p:plain

■TensorFlow Liteのinstall

$echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
$curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$sudo apt-get update

Edge TPU runtimeのinstall

$sudo apt-get install libedgetpu1-std#-maxという高速版もあります

coral official page

https://coral.ai/docs/accelerator/get-started/#requirements

■TensorFlow Liteライブラリのinstall

$pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp35-cp35m-linux_armv7l.whl#python3のバージョンにあったものをinstallします。

TensorFlow pythonクイックスタートpage

https://www.tensorflow.org/lite/guide/python

■TensorFlow Lite APIを使ってデモを実行する

$mkdir coral && cd coral
$git clone https://github.com/google-coral/tflite.git

$cd tflite/python/examples/classification
$bash install_requirements.sh

$python3 classify_image.py --model models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite
--labels models/inat_bird_labels.txt
--input images/parrot.jpg 

 

f:id:cyberkun:20200904105823p:plain

この鳥はScartlet Macawと言っています。

他の鳥の画像でもトライしたけど、識別して、楽しかったわ。

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな

 

 

python csvを結合してまとめる方法

こんにちは。指定フォルダ無いにあるcsvファイルを縦方向に結合してcsv保存するまで。環境はjupyterです。

#モジ ュールのインポート

import pandas as pd

import glob

#ディレクトリの指定

inputdir = u'test/data'

outputdir = u'test/out'

#指定フォルダ内にあるcsv一覧取得

csv_file = glob.glob(inputdir+"/*.csv"

#すべてのcsvを結合する

list = []

for file in csv_file:

    list.append(pd.read_csv(file, header = None)) #headerなしの場合

    #list.append(pd.read_csv(file, names=["a", "b", "c"])) #header追加の場合

df = pd.concat(list, axis=0, sort = False) #縦方向結合axis=0、横方向結合axis=1

#csv出力する

df.to_csv("out/ketsugou.csv", index=None, header=1) #インデックスなし、ヘッダーあり

 

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな

Linux システムの環境確認関連

こんにちは。今回はシステムの環境確認関連のメモ。

$ps auwx #プロセスの状態確認をする

$df -h #ディスクの使用状態を確認する

$/sbin/ifconfig #IPアドレスを確認する

 

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな