小さく作って組み合わせる

ハウツー

以前ラズベリーパイでボタン(タクトスイッチ)を押したら天気予報サイトをスクレイピング(ホームページにアクセスして情報を取って来る処理)してテキスト化して、それを音声合成エンジン(テキストから音声を合成して話すアプリ)に渡して今日の天気をスピーカーからしゃべらせる、というプログラムを作った。

ラズベリーパイは一般のパソコンに比べ処理速度が遅いので、ボタンを押してから天気予報をしゃべるまで時間が掛かった。

1つのプログラムに多くのことをやらせずに、処理を分けて1つのプログラムを小さくするとすんなりといく。

  • 事前に天気予報サイトにアクセスしてテキスト化したファイルを保存しておく
  • ボタンを押したら、事前に保存してあるファイルを読み込んで音声合成エンジンにしゃべらせる

①の天気情報ファイルの作成だが、天気予報の更新は気象庁だと1日に3回ほどなので毎日5時、11時、17時の3回アクセスして天気情報ファイルを作っておく。

①のプログラムはcrontabを使って1日3回定時実行させる。

②のプログラムは、ボタンを押した時だけ実行する。

今回は当初作成したプログラムを①と②の2つに分けただけだったが、ボタンを押したらすぐに天気予報をしゃべる仕様に生まれ変わった。

こうした小さく作って組み合わせるという考え方は、すべてUnixの考え方だ。

コメント

タイトルとURLをコピーしました