Slide 1

Slide 1 text

Raspberry pi 講習会 Part1 : Hello! Raspberry pi 2017年冬 B2 ⼩野輝也

Slide 2

Slide 2 text

ラズパイ講習会について ⽬的︓Linuxシステムとラズパイに慣れる。 ⽬標︓ラズパイを使って何かしら作品を作れるようになる。 ラズパイで遊びましょう︕質問があれば話の途中でも構わな いのでなんでも聞いてください。

Slide 3

Slide 3 text

何ができるようになるか ・今最もアツいOSであるLinuxの基礎を知ることができます。 ・今最もアツい⾔語であるPythonでプログラムが書けるようになります。 ・ラズパイをIoT機器として利⽤することができるようになります。 ・ネットワークの基礎を知ることができます。 結論 この講習会に毎回出れば年収5000兆円も夢じゃない︕︕︕

Slide 4

Slide 4 text

シラバス() 1. ラズパイに⼊⾨する u ラズパイってなんだろうか u OSインストール u ネットワーク設定 u 初めてのCUI(コマンド操作) u Lチカ 2.Pythonに⼊⾨する u SSHを理解する u Pythonでhello world! u ラズパイを⽤いたプログラミング 3.ラズパイで電⼦⼯作 u IOピンをプログラムから制御 u Arduinoと連携させよう 4.サーバーで遊ぼう u Webサーバー u ファイルサーバー 5.Bluetoothで通信しよう u BLEとは︖ u パソコンと通信させる u モバイルアプリ作れたら・・・素敵 やん︖ 6.カメラを使う u 隣の⼈を盗撮しよう u 動画を撮ってみよう u openCVで画像認識 u Webサーバーで公開しよう

Slide 5

Slide 5 text

お願い事 • あまりにも⼈がいないと開催しないので来られない⽇はlineで呟いてください。 • 分からないことがあればすぐ聞きましょう。(答えられるとは(ry) • 来年も同じような講習会しましょう(現1年⽣が)

Slide 6

Slide 6 text

いきなりですが質問︕ラズパイをどれく らい知っていますか︖ 1.ラズパイ︖何それ何それ〜︕︖ 2.ああ、あれね。以前やったが返り討ちにされたぜ・・・。 3.あたりめえだろ︕毎⽇使っとるわ︕ 4.うん。だってそれ作ったの、俺だもん。

Slide 7

Slide 7 text

ラズパイとは︖ 英国にある財団が提供している、教育⽤シングルボードコンピュータ ハイスペックなCPU、ネットワークインタフェース、豊富なI/Oを備える。 教育⽤という名⽬だが、ちゃんとした製品にも使われている。 種類が豊富にある。 u Pi1,2,3 現在は3が最新 u pi zero, zero W Input,Outputのこと Input:キーボード、マウス Output:ディスプレイ、ス ピーカーなど

Slide 8

Slide 8 text

ラズパイのスゴイところ • 汎⽤OSを⽐較的簡単に乗せることができる︕ • ⼩さいのにパワフル︕(1.2GHz クアッドコア(rpi3) Arduinoは16MHzとか) • インターネットに繋がる︕ • Bluetoothで通信できる!(RPI3以降) • というか⼿持ちのPCでできることは⼤抵できる︕なのに⼩さい︕

Slide 9

Slide 9 text

ラズパイのちょっとしたデメリット (考えようによってはメリット) • Arduinoよりはるかにとっつきにくい。 • お値段がやや⾼い。 • OS、ネットワーク、ソフトウェアに関する知識が(そこそこ)必要。

Slide 10

Slide 10 text

と⾔ってもまだピンと来てないだろう・・・。 • OSが乗るからなんだよ • Arduinoと何が違うの︖ • ってか何のOS⼊れるの︖Windowsとか︖ • こんなもんネットに繋げてどうすんのさ • ⼿持ちのPCと同じとかwwww嘘⼄wwwwwwwwwww

Slide 11

Slide 11 text

OSが乗ると何が嬉しいのか OS(オペレーティング・システム)は僕たちユーザが普段意識しない多くの仕事 をこなしている。 u メモリ管理(どのプログラムにどれだけ割り当てよう・・・︖) u プロセス管理(⾛っているプログラムの管理) u デバイス管理(USBポートになんか刺さってる・・・。) u インターネットへの接続(TCP/IPでggってみてね) u そのほかにもいっぱい ラズパイ上でOSを動かすためにSDカードにOSを焼く。

Slide 12

Slide 12 text

OSが乗ると何が嬉しいのか その2 OS*により複数のプログラム管理、 実⾏が容易になる。 O S パワポ chrome マイ クラ パワポ⽤にメモリを100MB 確保して、はいはい chromeさんちょっと待っ てね今サーバからデータ 送られてきたから渡す わ・・ CPU メモリ など *OSの中でもマルチタスクOSという。マルチタス クじゃないOSもあります。

Slide 13

Slide 13 text

Arduinoと何が違うの︖ 創造理念 u Rpi・・・学校でコンピュータ教育を促進するため。 u Arduino・・・安価なロボット制御システムが欲しかったから。 (⼀般的な)使い⽅ u Rpi・・・OSをSDカードに焼いて、OS上でプログラムを動かす。 u Arduino*・・・Arduino IDEからプログラムを書き込む。書き込むと勝⼿に⾛る。 操作⽅法 u Rpi・・・ログインして操作。本講習会ではコマンドで⾏う。 u Arduino・・・PCとUSBケーブルでつなぐ。IDEからポチポチやるとプログラムが⾛る。 *Arduino⽤(AVR⽤)のOSを⾃作してる⼈もネット上にいる。ほんまもんの漢や・・・。

Slide 14

Slide 14 text

何のOS⼊れんの︖ OSはRaspbian Jessieを使います︕ Raspbianとは u Linuxディストリビューションの1つであるDebianをRpi⽤に最適化したOS u Raspbian の中にもバージョンがある。Wheezy, Jessie, Stretch(最新)など。

Slide 15

Slide 15 text

OSについて Linux u OSの1つ。つまりWindowsやMacOSの仲間。特にMacOSとは祖先を共にする(UNIX) u 実は世界で最も多く利⽤されている。 u 無料(︕)(ちなみにwin10 HOMEは¥16590する。 2017年11⽉現在) u 誰でもソースコードが⾒られる。魔改造するのも⾃由 u サーバーマシン、組み込みOSとしての利⽤が多い。 u 情報系に⾏くなら知っておくととってもお得 Linuxディストリビューション u 上記のLinuxは本当に基本的な機能しか提供しておらず、使うには不便 u 使いやすいように⾊々な機能をまとめたのがLinuxディストリビューション u Red Hat Enterprise Linux, CentOS, Ubuntu, Debian, Fedora, Android などがあり ⽇々宗教戦争が世界各地で勃発している。

Slide 16

Slide 16 text

⻑ったるい説明は終わり︕さあ起動しよう︕ HDMIケーブル、キーボードを繋いで電源ケーブルを挿すべし︕ ブワーッと何か表⽰される。OSが⽴ち上がり、様々なアプリケーションが起動し ている様⼦がわかる。 User: pi Password: raspberryでログイン。 *パスワードは表⽰されない。 $ echo hello,raspi!

Slide 17

Slide 17 text

初期設定 画像貼るのがめんどくさい親切に解説してくれてるのでサイトを⾒ましょう。 http://techblog.clara.jp/2016/04/raspberry-pi-3-model- b_install_and_ssh_connect/ *キーボード設定後は再起動をかけること︕︕ • キーボードレイアウトの設定 • localization options • パスワードの変更 • 記憶領域の拡張 u Advanced options->expand filesystem • SSHの有効化 • remote GPIOの有効化 • serialの有効化

Slide 18

Slide 18 text

これからやること 1. ロボアキのwifiにつなげる 2. ipアドレスの取得 3. ipアドレスの固定 4. PCからSSHログイン 5. NICの省電⼒モード解除 network interface controller(card) ネットワーク通信をするために必要な ハードウェア。通常、NIC⼀つにつきMAC アドレスが1つ割り当てられる。

Slide 19

Slide 19 text

ネットワーク設定しよう $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf + network={ + ssid=“roboaki_ssid” + psk=“roboaki_password” + } ⽩板に書きます。 今回は初⼼者講座なのでnanoを使って います。宗教上の理由でnanoが使えな いという⽅はご⾃⾝の好きなエディタ を使ってください。 + robot-architect はrobot-architectという⽂字 列を追加するという意味です。

Slide 20

Slide 20 text

ネットワーク設定 $ sudo nano /etc/network/interfaces allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf となっているか確認

Slide 21

Slide 21 text

続・ネットワーク設定 $ sudo nano /etc/dhcpcd.conf + interface wlan0 + static ip_address=192.168.YY.XXX/24 + static routers=192.168.YY.1 + static domain_name_servers=192.168.YY.1 /24はサブネットマスクといい、 ネットワークアドレスとホストア ドレスを区切る。/24の場合、上位 24bitがネットワークアドレス(マ ンション名的な)で、下位8bitが ホストアドレス(部屋番号的な) ルーターのアドレス DNS:domain name service のサーバー。DNSはホスト名(www.google.com など)とIPアドレス(216.58.197.4)を結びつける。

Slide 22

Slide 22 text

NICの省電⼒モード解除 $ sudo nano /etc/rc.local … fi + sudo iwconfig wlan0 power off exit 0 $ sudo reboot 再起動する。 $ iwconfig wlan0 IEEE 802.11 … … Power Management: off となっているか確認

Slide 23

Slide 23 text

とりあえず⼀息 ラズパイ側の設定はひとまず完了です。次に、パソコンからラズパイにwifi経由で 接続します。

Slide 24

Slide 24 text

SSHログイン ssh接続の前に、接続元のPCをラズパイと同じネットワークに接続します。 Windowsの⼈ Tera Termというソフトウェアが必要です。 https://ja.osdn.net/projects/ttssh2/ 「Tera Term 公式サイト」 起動して、「ホスト」に先ほど設定したラズパイのIPアドレスを⼊⼒します。 「サービス」がSSH(バージョンSSH2)、「TCPポート」が22になってることを確認してOK 認証を求められるのでユーザー名(デフォルトでpi)とパスワードを⼊⼒する。 さっきモニタで⾒たような画⾯が出てきたら成功 Macの⼈ 「ターミナル」を起動 $ ssh pi@192.168.YY.XXX 接続していいか聞かれるのでyを⼊⼒ pi:~$ これが表⽰されたら成功

Slide 25

Slide 25 text

お疲れ様でした これでディスプレイとキーボードを接続せずともPCからラズパイを使えるようになります。

Slide 26

Slide 26 text

Lピカしよう コマンドに関して不安が残る と思うけど、とりあえずLピカ しよう SDカードが刺さってる側

Slide 27

Slide 27 text

⽂明の灯⽕ GPIOの番号 GPIO2にジャンパワイヤを挿して、適当な抵抗、LEDを繋ぎ、GNDに接続する $ echo 2 > /sys/class/gpio/export $ echo out > /sys/class/gpio/gpio2/direction $ echo 1 > /sys/class/gpio/gpio2/value 光りましたか︖︖︖ $ echo 0 > /sys/class/gpio/gpio2/value 消えましたか︖︖︖ Lピカを終了するには以下のコマンドを打ちます。 $ echo 2 > /sys/class/gpio/unexport

Slide 28

Slide 28 text

コマンドの説明 pi:~$ echo hello,rpi! ユーザー 名 カレントディレクトリ プロンプト コマンド 引数(ひきすう)

Slide 29

Slide 29 text

echoコマンド pi:~$ echo hello hello echoコマンドは画⾯(標準出⼒という)に⽂字列を表⽰させる $ echo 3 3 引数は数字でもなんでも良い コマンドの正体はプログラムのファイルである。 $ which echo /bin/echo

Slide 30

Slide 30 text

ディレクトリツリー ファイル・・・1つのまとまりとして管理できるデータやプログラム ディレクトリ・・・ファイルの⼊れ物。稀によくフォルダともいう ディレクトリは⽊の根のような構造を持っている

Slide 31

Slide 31 text

ディレクトリとパス ディレクトリまたはファイルへの道筋を/で区切ったものをパス(PATH)という 上の例だと 書類/講義/math がパスになる。

Slide 32

Slide 32 text

特別なディレクトリ /(スラッシュ) ︓ルートディレクトリ 全てのディレクトリ階層の最上位に位置する。/がディレクトリ名 . (ピリオド): カレントディレクトリ 現在⾃分が存在しているディレクトリを表す。 .. : カレントディレクトリの⼀階層上位 なんて⾔うんだろうねこれ。/にいるときに..に移動すると/に戻る。 ~(チルダ) : ホームディレクトリ ログインするとカレントディレクトリがこのディレクトリに設定される。 上記4つのうち/以外は全てあだ名みたいなもの。たとえば~の本名は/home/pi/である。

Slide 33

Slide 33 text

シャットダウンする $ sudo shutdown –h now sudo (superuser do) コマンドをシステム管理者(root)の権限 で実⾏する。⼤事なファイルやシステ ム設定に関わる操作は管理者権限でな いとできない

Slide 34

Slide 34 text

お疲れ様でした 第⼀回⽬はこの辺で終わる・・・︖ 次回はコマンドの説明とpythonをやりましょう。 SDを忘れず引き抜いてください。