さて、ラズパイの続き

長いようで、実現は早かった(´_ゝ`)

前回、microUSBの変換ケーブルがなく、止まっていましたが…

届きました!

事前に、microSDにラズパイのOSをインストールしラズパイを接続(‘ω’)ノ

左から、

【microUSBー電源】

【USBハブからマウス、キーボード】

【microHDMIから画面出力】

で、いざ出陣‼

立ち上がりました!、このアイコンが見えるだけで感動してしまう(/・ω・)/

で、全て英語ですがこれから設定していきます。

ネットで親切に書かれているサイトがあるので、そちらを見ながら設定を進めていきました

ありがとうございますm(__)m

まず、場所ですね。ここは、ジャパン!東京!

そして、ユーザーIDとパスワード、ですね。

と、進んでいると。

きたーーーー!起動しました!いやー嬉しい!

ラズパイで電子工作してみたかった夢が叶いました!

動作は、少し重たいですが問題なく操作できてる(‘ω’)ノ

で、さっそく買ったBMP280でデータを読み込みたいのですぐ準備しましたww

ブレッドボードにBMP280を差し込み、ラズパイのGPIOからBMP280と接続。

VCC(電源供給)・GND(グラウンド接続)・SCL(クロック)・SDA(データ)

をそれぞれ、ラズパイ側のGPIOへ繋ぎました。

前の記事でも書いてますが、BME280より安かったことと気圧を知りたかったので、BMP280にしました。

I2Cでデータを転送するので、ラズパイ側のI2Cを有効に

Pythonのインストールとi2c-toolsをインストール

必要なモジュールをインポート、I2Cを初期化し気圧を標準設定(1013.25)に設定し1秒ごとにループさせる。(このコードでは、BMP280の「P」が抜けてますね…)

が、全然読み込まれない!

センサーが正しく接続されているか確認すると、アドレスが76でした。

コードを読み込んだ時に表示されていたアドレスは77だったので、

これか…とI2Cを初期化するだけにしていましたが、アドレスを76にしていしました。

お!読み込まれました!(/・ω・)/

ここで、ふと思ったことが。BMP280って高度まで測れたっけ?

と思い、調べていると。

今回のコードはAI先生の力を借りていたので…

高度は計算で出されているみたいで確かなデータではないそうな…

とまぁ。第1段階のBMP280のデータは表示できた!

いやー、満足満足…

とは、ならず。もっともっと!!

現段階で、したこと。

ラズパイOSのインストール→ラズパイの起動→Pythonとi2Cのインストール

→I2Cの有効化→コードの記述→動作確認→アドレスの指定→表示

とまぁ、せっかく表示表示できたので

どうせならスマホに通知させて知らせたい!

と思い、日頃から使っているラインで通知させようと最初思っていたのですが…

いざ、ラインでの通知を調べると使おうと思ったAPIのサービスが終了していたりあり…

レンタルサーバーを使っていたので、どうせならメールで通知させようと
メールで送信させるコードを追加しました。

ドンッ!!

でけた(/・ω・)/

BMP280で読み込まれたデータをメールで送信できました!

この辺りで、マウス・キーボードを繋げる事が億劫になり

VNCでの接続にしました(‘ω’)ノ

ただ、メールを送る頻度がどの程度OKなのか。まだ調べてません

もしかするとスパムとして判断されないかなとサーバー側の心配が…

今は、ラズパイを付けたままにしないのでとりあえずこのままで

次に…

次にですよ!次に!

うーん、BMP280もできたし

どうせなら、他のデータも送りたいと欲が出て…(´_ゝ`)

日本の地震データを送信したいなーと

しました(/・ω・)/

ただ、海外のサイトから地震データが取得できるAPIがあったので

そのサイトからデータを取得していたのですが…

この時は、最新の地震データを取得しようとしていましたが

ずっと、日本の地震データはありません。としか表示されず

もしかして、リアルタイムで起きた地震でないと取得できない?

という疑問があったので、過去の地震データを取得することにし

はじめは、日本でフィルターをかけてましたが、次に座標指定にし

コードを書き換えて色々修正するも

表示されず(´_ゝ`)

ここで、4日間くらい悩み。うーん他のサイトにしよ(‘ω’)ノ

と思い。

日本の気象庁で公開されているAPIに切り替えました!

でけた(/・ω・)/

ふー。僕がしたかった事ができたー!

満足!満足!

と思っていたら…ん!?

気象庁のページでの時間と違うぞ?

と気づき。

修正。日本時間に修正する(‘ω’)ノ

できたー!

日本で発生した過去4件の地震データを1時間毎に送信。

なんとか、1時間毎に送信されていて問題なさそう

とまぁ、一応ここまでができたこと(/・ω・)/

さらに欲が出てきて。BMP280で取得したデータを
日ごとにグラフなどで可視化したい
なーなど

持ち歩けるようにしたいなーと、小型化・電源供給・ケースなど

考えてます!ケース作るなら3-Dプリンタで作りたいなーとか

元々、紫外線を読み取ってデータ化したかったので

そのうち、紫外線を測れるセンサーを買って次はそっちもしたいなーと思ってます(/・ω・)/

初心過ぎて、専門用語まったくわからず、Pythonコードもわからず

めちゃくちゃ調べました。

GPIOとは?BMP280のセンサーってどこに繋げるの?
VCCって?SDAって?とかI2C?

Pythonのここのコードって?このエラーコードなんだよ!とか

何度も何度も調べて、何度も何度もエラーコードを調べて…

AI先生に助けてもらいながら、もうコードもコピペすると文字化けすごくて

コメントも書き直したり、(自分が理解したいから)

と。
初心者過ぎて申し訳ないですが、こんな感じでできました。

大事だと思った事は、調べる力とAI先生への伝え方、エラーコードの内容

そのエラーからどこがダメだったか、修正したコードは他に影響しないかなど考えることとか大事だなーと思いました。

ほんと、何もかも勉強になりました(/・ω・)/