• 公開日:2019年10月21日
  • | 更新日:2022年12月01日

化学出身者がマイコンボードでしゃべる挨拶時計をつくってみた(2)~挨拶時計の仕様とBeagleBone Blackの初期準備~

挨拶時計の仕様とBeagleBone Blackの初期準備

はじめに

 

挨拶時計をつくり、マイコンボードにBeagleBone Black(BBB)を使うことが決まりました。
今回は挨拶時計の仕様を考え、BBBの初期準備を行います。

 

挨拶時計はどんな仕様?

 

挨拶する時計を実現させるにはどんな部品が必要でどんなブロック図にしなければいけないのか。これらを考えていきます!これまでの人生で電子部品を購入したこともないし、ブロック図を書いたこともなかったので部品選定はWebを参考にし、ブロック図は先輩の記事とBBBのSystem Reference Manualを参考にすることにしました。いい記事がないかなーとネットサーフィンをしましたが、「BBBの記事があまりない…」「あっても初心者には難しすぎる記事ばかり」。難しすぎる!と思いながらもなんとか仕様を完成させることができました。

まずはブロック図です。

図 挨拶時計ブロック図

BBBに入力する信号は、人感センサの“GPIO”とRTCの“I2C”です。出力信号は、7segドライバとトランジスタの”GPIO”とDACの“I2C”です。
データの流れとしては、現在の時間のデータをRTCからBBBに送信し、このデータを基に7seg LEDで時間を表示します。
そして人感センサで人を感知した時、BBBにHighの信号が送られてスピーカーから音声が出力されます。
リチウムイオン電池はRTCのバッテリーバックアップとして使用し、BBBのシステム電源をOffにしてもRTCが動作するようにします。
ブロック図を書くことで、使用するBBBのピンやデータの送受信方法が分かり挨拶時計を完成させられそうな気がしてきました!

BoMリストは以下のようになりました。

 

図 挨拶時計BoMリスト

7segドライバは7seg LEDに出力するピンの数を減らす目的で使用します。またトランジスタアレイを使うことで、すっきりした基板実装を行うことができます。
また、アンプキットには可変抵抗がついていて、可変抵抗を回すことでスピーカーの音量を調節することができます。
購入部品も決まったので、あとは買い物をして製作に取りかかれます!
どんな風に作れるのか、期待通りの動作をしてくれるのかとても楽しみです。

 

Debianのインストール

 

BBBには購入した時点で、eMMCにAngstrom Distribution(Linux)がインストールされています。そのためUSBケーブルでBBBとPCをつなぐことですぐにLinux環境のBBBを起動させることができます。ですがプリインストールされているAngstrom Distributionはバージョンが古いため、私はOSアップデートのためBBBのHPで推奨されていた最新のDebian(Linux)をインストールして動かすことにしました。そのためにはPC上でDebianをインストールし、micro SDに保存します。その後、micro SDをBBBに差し込み、micro SDからBootを行います。Boot方法は第一回の記事を参照ください。

それではDebianのインストール方法を説明していきます!
まず最新のDebianがBeagleBoardのサイトにあるので、イメージファイルをインストールします。挨拶時計ではGUI(Graphical User Interface)を使用しないので、“IoT”のイメージファイルを選択します。ダウンロードには30分~1時間程度かかりました。ダウンロード待ちは暇です(笑)

 

ダウンロードが完了したら4GB以上のmicro SDを用意し、ここに保存します。この時、ブート用としてmicro SDへOSイメージを保存するためフリーソフトのbalenaEtcherを使用します。balenaEtcherのファイルをダウンロードする際には、PC上のOSと同じものを選択します。私はWindowsでした。

 

次にダウンロードしたbalenaEtcherを開きます。Select imageには先ほどインストールした「BBB-blank-debian-9.5-iot-armhf-2018-10-07-4gb」を選択し、Select targetはmicro SDを選択して保存(Flash)します。これでDebianのインストールは完了です。

 

プログラミングのための準備をしよう!

 

挨拶時計を動かすためにIDE(統合開発環境)を準備します。BBBを起動したらすぐに使用することができるCloud 9 IDEを使用しました。また、プログラム言語は組み込み用のC言語やWebブラウザ用のJavascriptなどがありますが、その中でBonescriptを使用しました。Bonescriptとは、BeagleBone用に準備され初心者でも比較的簡単にプログラミングを行うことができると書かれていたJavascript系の言語です。
プログラミングを行うための準備はとても簡単です。まずはPCとBBBをUSBでつなぎmicro SDからBootします。しばらく待つとUSBストレージがPC上で認識され、以下のフォルダが表示されるのでSTARTプログラムをChromeで開きます。

 

 

開くと次のページが表示されるので「http://192.168.7.2」をクリックします。

 

 

クリックすると新しいページが開き、「Your board is connected!」と表示されます。下にスクロールしていくとCloud9 IDEのタブがあるのでクリックしてページを移動します。
Cloud9 IDEが開ければ準備完了です!あとはプログラミングを行うだけです!

 

おわりに

 

仕様書ができて、プログラミングを行う環境も整いました。次回からはいよいよ製作にとりかかります。
苦労あり達成感ありの製作実習です。とても楽しみです。