ラズパイとArduinoでモノづくりしてみる
おはようございます!
ケイコバです。
今日は、「ラズパイ(RaspberryPi)とAuduino(マイコン)を使って、勉強用として簡単なIoTデバイスを作ってみることにした」というお話です。
イントロ
最近、自分のスキルとして何があると言えるのか、それを確認するためにも何か作ってみるのが手っ取り早いかな?と思うようになりました。
もちろん、仕事で使用するスキルがそこに全て現れる訳でもありませんが、少なくとも良く知るきっかけになると思っています。
また、いわゆるIoTデバイスを作ってみることで、新たに勉強できるスキルも豊富というのも理由の一つです。
どんなものを作るか
今回は、去年の年末に購入して放置されていたラズパイ(Raspberry Pi 3 model B+)と、新たに購入するArduino(マイコン)+温度センサを使用して、外気温度を取得するシステムを構築します。
詳細はまだ検討中ですが、大雑把にはこんなイメージです。
○ラズパイ側:
- 各マイコン(とりあえずは1つ)とBLEで通信してデータを取得
- webページ上にデータをアップ
○マイコン側:
- I2Cで接続されたセンサのデータを読み取る
- データを整形してBLEでラズパイに送信する
得られるスキル
あまり大したことなさそうなシステムですが、それでも概ね以下のスキルが得られるかなと思います。
- マイコン(Arduino)制御
- BLE通信(C言語、Python)
- Linux上でのソフト開発
- 簡単な電子工作
今の所ラズパイ側のソフトはPython、マイコン側はC言語で記述しようかと思っています。
ただもしかしたらBLEの通信部分は勉強も兼ねて全部Cで作るかも?
とりあえず色々試してみようかと思います。
これまでの作業など
昨日作業を開始しました。
まだマイコンは届いていないので、手元にあるラズパイから作業を開始です。
○ラズパイのセッティング
昨年買ってセッティングは済ませていたものの、1年ほど放置してしまったのでもはや何やったか覚えていない。。。
復習も兼ねて、SDカードのフォーマットからスタートしました。
余談ですが、RaspbianがRaspberryPi OSに名称が変わり、イメージファイルをツールで書き込むように変わったんですね。
SDカードにOSを書き込む手順が圧倒的に楽になっていました。
セッティングと言っても、とりあえずwifiで接続できることを確認後、ユーザ設定とSSHの設定だけ変更するぐらいなので、それほど時間はかかりませんね。
○Python環境の構築
ラズパイ側はPythonの勉強も兼ねてPythonで実装を考えています。
なので必要なパッケージ等を導入。
BLE向けのパッケージは色々あるようですが、今回はbluepyを導入しました。
pyenvの環境だとなぜかimport先が見つからないと言われ悩んだのですが、pathを直接設定するか、python3コマンドで実行すると正しくpathが読めるようでした。
○BLEでのスキャン実行
上に書いたbluepyの動作確認を兼ねて、BLEデバイスをスキャンする処理を実装しました。
と言ってもウェブ上で公開されているコードなどを参考に書いているので、ほとんど自分で書く部分はありませんが。。。
とりあえず他のbluetooth端末をスキャンするところまではできるのを確認済みです。
これからの作業
ちょうど年末年始もありますし、試行錯誤しながら進めていきたいと思います。
ラズパイ側の設計もちゃんとやりたいので、今週は時間のあるところで設計を進めて、来週休みになってからゴリゴリ実装かなと考えています。
マイコン側としてはArduinoを使うのが初めてなので、環境の導入からになります。
ほぼC言語的に書けると言う話なのであまり不安はないですが、自分でマイコンを購入して使用するのは初めてなのでちょっとドキドキしています(笑)
どちらにせよそれほど大きなシステムではないので、連休明けまでになんとか作れればなと思います。
取ったデータをどのように見せるのかは、ちょっと領域からずれるので時間かかるかもしれませんが。
終わりに
今日は、「ラズパイ(RaspberryPi)とAuduino(マイコン)を使って、勉強用として簡単なIoTデバイスを作ってみることにした」という内容について書きました。
スキルの確認や、勉強を兼ねてのこの取り組みなんですが、そういうのを抜きにしても楽しいですね。
やっぱりこう言った開発が好きなんだなーと改めて思いました。
まずは温度の取得だけですが、赤外線モジュールでリモコン作ったり、ちょっとした防犯アラームを作ってみたり、やってみたいことは色々出てきます。
家で使えるちょっとしたIoTデバイス、みたいなものをチマチマ作っていければ、ゆくゆくはそんな構想もあったり。
とは言え、まずは小さなところからゆっくり作っていこうと思います。
最後まで読んでいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?