2019.03.24ようこそお越しくださいました、中の人だよ。今回はぷっこ村からすこし逸れた、時々やるラズパイのお話です。超ありがとうなんだぜ!お礼と言ってはなんなのですが、お風呂が溢れないように警告してくれるセンサーを作ってみたいようなので、OSインストールの触りのところから、ラズパイの機能を色々使って「プチIoTお風呂警報機」の作り方を解説してみたいと思います。簡単さを前面に出しますので、セキュリティ的にアウトな部分が多々あります。今後セキュリティに関しても時々記事を書いていくつもりですが、ご自身でも調べてくださいね。LiteのダウンロードOSの書き込みに使うbalenaEtchermicroSDのフォーマットOSを書き込めWifiとSSHまでWifi接続までSSH接続までラズパイのIPを固定しとくSSHはRLogingpioってなんやねん?物理ピン15と17を使ってみるpythonでgpio制御しようぜLineNotifyの登録、トークンの発行pythonで制御テストから自動起動までまとめ的なやつやってみること、使うものY氏はラズパイ初心者とのことなので、情報提供も兼ねてOSインストールから、Wifiを使うSSHを使うgpioを使うpythonを使うLineと連携してみると言った、これぐらいできれば初心者卒業じゃね?くらいの内容を詰め込んでみたいと思います。WH100均とかのイヤホン(できるだけ長い物)ジャンパ―線2本(片方がメス)100均のバッテリーお風呂警報機でイヤホン?脳筋すぎて遂にとち狂ったかな?とお思いかな?意外と使えるんです。ジャンパー線は100均だと手に入らないので他で調達しましょう。USBコネクタ(これも100均にある)USBキーボード(ハードオフで300円くらいであるよ)前置きが長くなりましたが、それではスタートです。LiteのダウンロードラズパイのOSは専用の「Raspbian」を使いましょう。Lite」を使います。below.www.raspberrypi.org↑に行き、下の方にある。ダウンロードが開始されましたか?では次へOSの書き込みに使うbalenaEtcherOSイメージはまあまあのサイズなので、少々時間がかかります。その間に、microSDにOSを書き込むソフトの用意をしましょう。色々なソフトがありますが「balenaEtcher」が筋力極振りの脳筋亡者でも幸せに使えます。world.www.balena.io↑に行き画面下部の緑の部分をクリックして、ご自身の環境にあわせてダウンロードです。ダウウンロードしたexeファイルを実行し、任意の場所にインストールしましょう。microSDのフォーマット使用するmicroSDはフォーマットしましょう。Formatter」を使うとよいでせう。Specificationに準拠して、SDメモリカード、SDHCメモリカード、およびSDXCメモリカード(以下SD/SDHC/SDXCカードと称します)をフォーマットします。www.sdcard.org↑に行きこれまた下の方にある、青いボタンをクリック後、利用規約に同意でダウンロードです。ダウンロードしたzipを解凍するとexeファイルが入ってるので、適当なところにインストールしましょう。使い方もこれまた簡単で、カードを選びフォーマット形式を選択、後はフォーマットボタンを押すだけです。因みにエクスプローラーで右クリックでもフォーマット可能ですので、相性とかで使い分けてね。OSを書き込めこの辺りまで済ますと、OSイメージのzipもそろそろダウンロードできていますか?解凍して、balenaEtcherも起動してみましょう。見ればわかると思いますが一応説明を。左のネジっぽいマークの所でOSのイメージを選択します。真ん中のハードディスクっぽいマークの所でmicroSDの選択です。Flash!を押すと書き込みが始まります。10分くらい豆腐建築でもして待ちましょう。これでOS書き込みは終了です。お疲れ~WifiとSSHまでWifi接続まで次はWifiとSSHまでを目指しましょう。USBにキーボードを、miniHDMIポートをお手持ちのモニタと繋げて電源を入れます。raspi-configと打ち込みましょう。OptionsをSelectします。次の画面ではN2,Wi-fiをSelectSSIDを入れろと言われますので従ってOk今度はパスワードを入れろと言われるのでこちらも入力してOk。これで次回起動からWifiに繋がるはずです。CountryをJapanにしておきましょう。SSH接続までこのままSSHまで頑張りましょう。Options内の、P2,SSHをSelectして、次の画面でYesを選ぶと、SSH設定が完了です。ラズパイのIPを固定しとくSSHしやすいように、ラズパイのIPを固定しておきましょう。ラズパイのIPは「/etc/dhcpcd.conf」に設定が書かれていますので。domain_name_servers=*ルーターのIP*を追記します。この辺は少しIPの知識がいるのでグーグル先生に聞くか、質問してください。「nano」はCtrl+oで保存できます。やり直したいときはCtrl+xでキャンセルできます。reboot」と打ち込み再起動しましょう。再起動後、「ifconfig」でwlan0の項目にさっきのIPが出ていれば、固定IPになっています。最後に以下のコマンドを順に打ち込みOSを最新にしておきます。upgrade多分初めての時はかなり時間がかかりますので、豆腐じゃない建築でもしながら気長に待つか、次の項目に進んでみましょう。済んだら、もうモニタとキーボードは外してOkです。SSHはRLoginSSH接続するソフトは色々ありますがWindowsをお使いなら、おてがるなのは「RLogin」じゃないかなと思います。Githubや窓の社とかで調達しましょう。公式サイトはSSL化されてないのでリンクは貼りません。グーグル先生に「RLogin」で聞いてくだしあ。新規で接続情報を入力しましょう。エントリー/コメントの所は接続の名前とか他と区別できるような情報を入れましょう。Addressはさっき固定したIPです。Nameにラズパイのユーザー名Password/phraseにユーザーのパスワードを入れOKでとりあえず登録完了です。ServerSelect画面で接続してみましょう。これでSSHまでいけましたね~。gpioってなんやねん?ラズパイを弄るまで、gpioなんて言葉を聞いたこともなく、gpioってなんやねん?おいしいの?と思った記憶があります。ぶっちゃけ知らなくても生きていけますが、ラズパイに興味を持ってしまったからには知っときましょう。ラズパイのトゲトゲのところで、40個あり、電気を流して信号を受けたり送ったりできるやつ。認識でいいと思います。言うとレッドストーン的な感じです。Pipinout.xyz詳しくはこちらご覧の通りピンには物理番号と、役割で決められたGPIO番号の2通りでそれぞれが区別されています。pythonでのプログラムではどちらの方法でピンを操作するか決められますので、とりあえず2通りあることを知っといて、表からどれなのか識別できるようになっときましょう。物理ピン15と17を使ってみる今回は物理ピンで15と17を使ってみたいと思います。さっきの表で、物理ピン15はGPIO22、17は3.3V電源ですね。ここからは少し物理世界での準備です。ジャンパー線のメスを残した反対側とイヤホンの耳の方をちょんぎりましょう剥いたところをよってはんだ付けし、熱収縮チューブで保護しときましょう。これでお手製センサーのでき上がりです。イヤホンの構造上GND側があるのですが、今回はどちらが電源側でも大丈夫です。気になる方は、テスターでジャックの根元とつながってる方をGND側になるようにしましょう。物理番号15と17にぶっ刺しましょう。こんな感じになってますか?一応説明ですが、物理番号17で3.3vの電圧が掛かっていて、ジャックの所で止まっています。ジャックが水に浸かることで、通電して物理番号15の所まで電流が流れます。間に抵抗が入っていないので、一見するとショートしそうですが、そこがgpioの面白いところでこの場合は大丈夫なんです。つなぎ方はどんなに適当でもオッケーなわけではないので、他の場合はどうなるか調べてみると面白いですよ。これで、gpioを使ったセンサーの準備はできました。次はお待ちかねのpythonを使う、ちょっとしたプログラミングです。pythonでgpio制御しようぜ見出しの通り、pythonでgpioの制御とLineNotifyへの警告文を出してみましょう。LineNotifyの登録、トークンの発行まずはLineNotifyの登録をしましょう。NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。IDでのログイン後マイページにアクセスアクセストークンの発行(開発者向け)から「トークンを発行する」をクリックアクセストークンは後から確認できないようなので、無くさないようにね。最悪、解除して再発行でどうにかなるにはなります。pythonで制御めんどくせぇのは嫌いなあなた、トークンの所だけ書き換えて使えばいいようになってます。pythonの基本構文はご本で学んでね。自分はこの一冊で大体雰囲気が掴めました。カエレバ楽天市場で探すAmazonで探すYahooショッピングで探すpythonからgpioを制御するには、RPiと言うライブラリを利用します。OSのupgradeができていれば入っています。「requests」はHTTPの機能でAPIに色々させることができます。LineNotifyにメッセージを送るのに使うやつでいいです。17行目で物理番号でgpioにアクセスすると宣言し、18行目で15番を入力にしプルアップ抵抗を0vに固定しています。20行目からが処理に関してです。wait_for_edge()メソッドは第一引数で指定したピンにかかる電圧が、第二引数で指定した挙動になるまで待機してくれます。第二引数にGPIO.RISING(立ち上がりエッジ)GPIO.FALLING(立ち下がりエッジ)GPIO.BOTH(立ち上がりか立ち下がり)のどれかを指定します。今回は15番ピンが0v→3.3vになったら反応してほしいので、GPIO.RISINGを指定しています。21行目からですが、イヤホンジャックが浸かると警告をラインに発し、15秒後と30秒後に更に警告を発したのちに勝手に電源を落とします。画像を送ったり、条件分岐で1回ごとに警告文を変えたりできますので、好きなように弄ってみてください。8と26行目はデバッグ用なので消しても大丈夫です。わからないところは聞いてくださいな(・∀・)ノSSHでラズパイの好きな場所に入れておきましょう。テストから自動起動までじゃあ、テストしてみましょう。水を張ったコップに浸けてみます。来とる!ビンビン来とるで!問題なく動作するので、今度は電源を入れたときに勝手にpythonのプログラムが起動するようにしましょう。/etc/crontabと打ち込みます。絶対パス/waterlevel_alarm.pyと追加すれば、次回から勝手に警報機が起動するはずです。まとめ的なやつ結構駆け足でしたが、どうにかなりましたか?原理は簡単で安価ですが、あれこれとラズパイの機能を使ってますので、初心者脱却にはいい教材になってると思います。100均のバッテリーは当たりハズレがあるので、電源が取れそうならアダプターの方がいいです。これも100均にありますので試してみてね。何度も書きましたが、わかりにくいところはご質問ください。おかしいところもご指摘ください。B)でどうも中の人です。村長の中の人→(...便利なツール、プログラミング、PC修理とか富士通LIFEBOOK-AH77/SをSSDに換装する手順ようこそお越しくださいました、中の人です。今回は愛機である富士通LIFEBOOK-AH77/SのHDDを(マイクラを快適にプレイしたいがために)SSDと入れ替えたので工程の記録を残しておきます。結...便利なツール、プログラミング、PC修理とかpython3系+pygameでXboxコントローラーのJoystick対応シューティングゲームを作ってる話ようこそお越しくださいました、中の人です。今回は思いっきり脱線していきたいと思います。最近、プログラミングを始めまして、pythonでゲームを作ろうと四苦八苦してます。内容自体はあちこち参考にさせていただいた簡単...便利なツール、プログラミング、PC修理とかwordpressテーマの変更備忘録、ローカル環境構築とか当ブログへようこそお越しくださいました。いつもお越しいただいてる方は、何かブログの見た目変わってね?ダッサいブログはどこ行った?来るとこ間違えた?と思われたかと。いいえ「ぷっこ村通信」ですよ。ようこそ、ぷっこ村通信へ。今鋭意PC修理中の中の人です。前回は中の人の使...便利なツール、プログラミング、PC修理とかwiiリモコン+ヌンチャクでマイクラはプレイできるか実験その3「マイクラやってみる編」【マインクラフト】ようこそお越しくださいました。その2からの続きです。今回はマイクラを実際にプレイするところまでを一緒に進めてみましょう。このホームページを見ながらOSのインストールとpythonの勉強をしてみます。元ファームウェアのSEをやっていたので、アセンブラ(8086系)とC言語のみ、かつ20年前の知識しかないですけど。最初は適当に遊んでみます。PMぼのぼの大好き様こんなへなちょこサイトを見て挑戦してみて下さるなんて感激です。ラズパイ仲間が増えるのはホントに嬉しいです。pythonは大体のことをいい感じに処理してくれるのでとても使い易いと思います。ラズパイは遊びながらなので習得も楽しくできる思います。お互い楽しみましょう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。Minecrafterししゃものこと悪そうな顔の自称ネコ。7~8年前にぷっこ村に流れ着き、この小さな観光村がすっかり気に入り住み着く。適当な性格なので、村人によく叱られる。ししゃものことを詳しく!!本も書かせてもらいました公開サーバーもあるよマイクラサーバーの建て方ネコのクセにSNSとかやってみてる。新着でーす!!遺跡の螺旋噴水をつくる【マインクラフト】2020.02.18首里城が完成したんだぜ!!【マインクラフト】2020.02.15情熱がほとばしったんで遺跡チックな壁を作った【マインクラフト】2020.02.07首里城の御内原を本格的に作ってみる【マインクラフト】2020.01.30再建できた首里城をぷっこ村に移築してみる【マインクラフト】2020.01.21ぷっこ村の流行!!マインクラフトPC版の操作が辛い方へ。農業MCEdit-schematics配布所MCEdit用schematics配布所利用規約ぷっこ村サーバーホーム検索トップサイドバーMinecrafterししゃものこと悪そうな顔の自称ネコ。7~8年前にぷっこ村に流れ着き、この小さな観光村がすっかり気に入り住み着く。適当な性格なので、村人によく叱られる。ししゃものことを詳しく!!本も書かせてもらいました公開サーバーもあるよマイクラサーバーの建て方ネコのクセにSNSとかやってみてる。新着でーす!!遺跡の螺旋噴水をつくる【マインクラフト】2020.02.18首里城が完成したんだぜ!!【マインクラフト】2020.02.15情熱がほとばしったんで遺跡チックな壁を作った【マインクラフト】2020.02.07首里城の御内原を本格的に作ってみる【マインクラフト】2020.01.30再建できた首里城をぷっこ村に移築してみる【マインクラフト】2020.01.21ぷっこ村の流行!!マインクラフトPC版の操作が辛い方へ。カエレバ楽天市場で探すAmazonで探すYahooショッピングで探すタイトルとURLをコピーしました。