Raspberry Piやろう?
00はじめに
※この記事は近畿大学Advent Calendar 2019の7日目の記事です。
※基本的に近大生向けに書いています。
※今回は安価で試すのに向いているRaspberryPi ZeroWを使う前提で書きますが、他のRaspberryPiでも同じ手順でできます。
※某JavaScript大好き同級生に乗せられるままつよつよ連中の中に突っ込んでしまいました。ゴメンネ
さて、みなさんはRaspberryPiって聞いたことないですか?
まあ、ありますよね。
「ワイ電子回路わからんし...」
って感じでなんだかんだでやったことない人はかなり多いと思います。
なんでまあ、どうせいつもの一人クリスマスを過ごすのなら、ちょっとやってみませんかって話です。
もちろんRaspberryPi4を待ってからもアリだと思います。
01買う
そこの君は実に運がいい。だってkinkyな大学の最寄り、長瀬駅から日本橋までなんて近鉄使えばすぐじゃないか、いますぐ日本橋に向かうんだ。
シリコンハウス、デジット、千石電商、マルツパーツあたりにほぼほぼ在庫あるので、まずはビギナー向けのケーブルなどがセットになっているものを買うと楽です。maybe...
安く済むRaspberryPi ZeroW(ハンダづけ必須)かRaspberryPi ZeroWH(ピン付けされているもの)がお試しにはおすすめです。
買いに行けない人はいんたーねっつで買えばいいと思います。
Raspberry Pi Shop by KSY
SWITCHSCIENCE
私はRaspberryPiをこれ書いている時くらいから無くしたことに気づき、慌てて探す羽目に。
1時間ゴミ部屋と格闘してました。掃除しろ。
02はじめにやること
この辺のことはいろんな記事が書かれているので簡単に書きます。
ググればどっさりヒットしますよ。
SDカードをフォーマットする
OSを焼く前の準備です。
形式がFAT16,FAT32以外のものは通常のフォーマットとは少し違う方法で、対応形式にする必要があります。
下記のサイトを参考にしてフォーマットしてください。
FabShop【step-02】raspberry-piに使用するmicroSDカードのフォーマット
買ってきたRaspberryPiにOSを焼く
今回は一般的にRaspberryPiに使われるRaspbianを焼きます。
「スターターセットについてきたインストール済みのはダメなのか?」
ダメです。
大体スターターキットなるものについてくるRaspbianはびっくりするほど古いです。
あと容量も心もとないので数百円で新しいSDを買ったほうがいいです。
こういうのとか。(アフィじゃないゾ!)
Amazon-Team microSDHCカード 16GB
RaspberryPiはSDカードとの相性が悪いと最悪認識しません。
買う前にはそのSDカードが使えるか調べましょう。(だいたいレビューがあります。)
多分大体一番新しいのを選べば問題ないです。
下記のサイトでZIPをダウンロードして解凍し、SDにぶちこみます。
RaspberryPi.org
ここまできたら焼いたSDをRaspberryPinにぶっさして起動します。
起動したらRaspbianをインスコしましょう。
ローカルIPを固定する
1.ターミナルでifconfig
してRaspberryPinのアドレスを調べる。
2.sudo nano /etc/dhcpcd.conf
で編集します。
interface wlan0
static ip_address=192.168.xxx.xxx
static routers=192.168.yyy.yyy
static domain_name_servers=192.168.zzz.zzz
ip_addressは設定したいIPアドレス
routersはルーターのIPアドレス
domain_name_serversはDNSサーバーのIPアドレスを設定する。
3.sudo service dhcpcd reload
する(しなくてもできるはず、できてなかったら試してください)
4.sudo reboot
再起動
4.ifconfig
で設定の反映を確認
ちなみにこれをsshでやると3~4番で止まっちゃう(当たり前)けどとりあえず設定したIPアドレスでsshし直してみてください。
ssh設定
1.sudo touch /boot/ssh
します
2.再起動してアラートがでますが「OK」して、画面上部メニュー→「設定」→「Raspberry Piの設定」
3.「インターフェース」でSSHを「有効」に設定する。
これで完了です。
MacBookのターミナルでssh [email protected]
すると、
パスワードを要求されるのでデフォルトのパスワードraspberry
を入力します。
デフォルトのユーザーネームpi
とパスワードraspberry
は後からでも変更できます。
変更後はssh [email protected]
してPASSWORD
を入力します。
03VScodeと連携させる
ずっとnanoとかviとか嫌なので直接Raspberry PiにVScodeで編集できるようにします。
VScodeでsshしワークスペースを編集できるSSH FSを使います。
https://marketplace.visualstudio.com/items?itemName=Kelvin.vscode-sshfs
使い方はサイトの通り、設定したIPアドレス、ssh時のパスワードを入力するだけ。
そしたらConnect as Workspace folderを選択して、
このようになります。
ファイル作成、削除などファイルに動きがあるときは逐一リロードが必要です。
04GPIOピン制御
風邪でもバイトに駆り出すスーパーのせいで書く時間がないのでGPIOピンの制御もう書いちゃいます。
PythonでGPIOピンの制御をするにはRPI.GPIOパッケージを使用します。
import RPi.GPIO as GPIO
asで好きな名前をつけてください。
GPIO番号の表現の方法は2種類あって、それはGPIOピンの番号とボードピンの番号です。
GPIO.setmode(GPIO.BCM)#GPIO番号指定
GPIO.setmode(GPIO.BOARD)# ボードピン番号指定
自分がやりやすい方を選んでください。
今回自分はGPIO番号にしました。
次にそのピンが入力なのか、出力なのかを設定します。
制御したいピンは17番ピンなので、
GPIO.setup(17, GPIO.IN)#入力
GPIO.setup(17, GPIO.OUT)#出力
出力の場合、RaspberryPiからの電圧は3.3Vで0と1で設定できます。
GPIO.output(17, 1)#出力を3.3Vにする
こうすると17番ピンに3.3V出力されます。
出力を0Vにするには、
GPIO.output(17, 0)#出力を0Vにする
プログラムが終了するときにはGPIOピンの設定をオフにします。
GPIO.cleanup()
05Lチカ
これらを踏まえて一例を紹介します。
電子工作の世界にもHello, Worldライクなものが存在します。
それがLチカです。
面白くもなく、ただLEDがチカチカしているだけなのですっ飛ばす人もいますが、一回はやってて損しないかと。
自分のプログラムがターミナルでなく、光として出力されるのは初めてやってみると案外面白いものです。
「あれっLEDが見つからない...秋月で買ったはずなんだが????」
~after 2h~
「あった!」
めっちゃ探したから褒めて欲しい。掃除しろ。
#!/usr/bin/python
# coding: utf-8
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)#GPIO番号指定
GPIO.setup(17, GPIO.OUT)#出力
for i in range(10):
GPIO.output(17, 1)#出力を3.3Vにする
time.sleep(0.5)
GPIO.output(17, 0)#出力を0Vにする
time.sleep(0.5)
GPIO.cleanup()#GPIOピンの設定をリセット
と書いて保存。
$ ./lchika.py
で実行すると10回LEDが点滅します。
(最初のでかいRaspiのAAは.bash_profileを弄りました。sshしたときにわかりやすくていいよ!)
結果は下の画像リンクでyoutubeに飛んで見てみてください。
さいごに
これじゃハンズオンじゃないか。。。
アドカレ7日目がこんな記事で許してくれ。。。許してくれ。。。
流石に自分自身が満足してないので、アドカレ関係なしに、2を設けます。
ここでGPIOピンの基本的な制御まで済ませておいたので、次回はちょっと面白いラズパイ向けのツールで遊んでみたいと思います。
Author And Source
この問題について(Raspberry Piやろう?), 我々は、より多くの情報をここで見つけました https://qiita.com/Daruo/items/863fe92c37c6428b692b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .