RaspberryPiで電子工作×データベース

RaspberryPi(以下ラズパイ)でデータベース(以下DB)を使って電子工作に導入しちゃいましょう!って言う記事です。

今回使用するのは外部のDBではなく、ラズパイ内にDBを建てて使用します。

 

まず何を作るか

今回は入門っぽい内容にしたいので、一家に1個は転がってるであろうプッシュスイッチを使って、押された時刻をDBへ記録していきたいと思います。

DBはSQLite3を使用します!予備知識等はなくてもOKです!

 

必要なモノ

  • RaspberryPi×1(筆者はraspbianが入った3B+を使用)
  • プッシュスイッチ×1
  • ジャンパー×3
  • 抵抗470Ω(値は違ってもOK)×1
  • ブレッドボード

 

現在時刻のチェック

ラズパイの現在時刻がもしかすると間違っているかもしれないので、コーディング前に一度確認しておきましょう!

現在時刻は以下のコマンドで確認できます。

 

おかしかった場合は以下で設定しましょう。

1.最新の時刻を取得

 

2.日本時刻に変更

完了後にまた改めて dateコマンド で確認してみてください!

 

ソースコード

GitHubにも挙げてあるので、こっちからクローンしてもOKです。

GitHub

記事内に入れるとめちゃくちゃ長く感じますね。

スマホで見てる人はスクロール祭りですね…

 

配線

配線は3本だけ

配線図

 

実行方法

まず、実行方法はこんな感じ

ファイル名が違う方は「sqlite_sample.py」を変更してください。

すると、以下のようにコード説明が出てくると思います。

これは、実行時にコマンドライン引数として上記の値を与えることで、モードが指定できるという内容です。

 

実行例

・データの記録

実行中にボタンを押すとDBにボタンを押した時刻が格納されます。

Ctrl+Cで終了します。

 

・データの表示

データベースに格納されているデータを全て表示します。

 

・テーブルの削除

データをテーブルごと削除します。

実行すると削除するかの確認をYes/Noで聴きますので、Yesなら「y」、Noなら「n」を入力してEnterを押してください。(仕様上、「y」以外は全部Noになります。)

 

ざっくり解説

基本的にDBを作成して、テーブルを作成して、ボタンが押されたら現在時刻を挿入という感じです。

コードはコメントアウトしてあるので雰囲気でくみ取ってもらえればと思います。

尚、英語で書いてあるのは日本語設定がめんどくさく、日本語がエラーになるので英語にしてあります。英語と呼んでいい文法なのか不明ですが…

詳しいことは参考にした記事も合わせて読んでもらえればと思います。

今後はちゃんとしたセンサーを使ったりして、データを活用していきたいと思います。

 

参考にした記事

⇒【TECH ACADEMYPythonでデータベースに接続し利用する方法【初心者向け】

⇒【QiitaRaspberry Piの時刻を合わせる

⇒【note.nkmk.mePythonで現在時刻・日付・日時を取得

⇒【QiitaPython Ctrl-C をキャッチする

 

今回のブログ曲

今回投稿中に聴いていた曲はこちら


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です