Share
Embed
Transcript
34 slides
-
シラバス() 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サーバーで公開しよう -
ラズパイとは︖ 英国にある財団が提供している、教育⽤シングルボードコンピュータ ハイスペックなCPU、ネットワークインタフェース、豊富なI/Oを備える。 教育⽤という名⽬だが、ちゃんとした製品にも使われている。 種類が豊富にある。 u Pi1,2,3 現在は3が最新 u pi
zero, zero W Input,Outputのこと Input:キーボード、マウス Output:ディスプレイ、ス ピーカーなど -
ラズパイのスゴイところ • 汎⽤OSを⽐較的簡単に乗せることができる︕ • ⼩さいのにパワフル︕(1.2GHz クアッドコア(rpi3) Arduinoは16MHzとか) • インターネットに繋がる︕ •
Bluetoothで通信できる!(RPI3以降) • というか⼿持ちのPCでできることは⼤抵できる︕なのに⼩さい︕ -
と⾔ってもまだピンと来てないだろう・・・。 • OSが乗るからなんだよ • Arduinoと何が違うの︖ • ってか何のOS⼊れるの︖Windowsとか︖ • こんなもんネットに繋げてどうすんのさ •
⼿持ちのPCと同じとかwwww嘘⼄wwwwwwwwwww -
OSが乗ると何が嬉しいのか OS(オペレーティング・システム)は僕たちユーザが普段意識しない多くの仕事 をこなしている。 u メモリ管理(どのプログラムにどれだけ割り当てよう・・・︖) u プロセス管理(⾛っているプログラムの管理) u デバイス管理(USBポートになんか刺さってる・・・。) u
インターネットへの接続(TCP/IPでggってみてね) u そのほかにもいっぱい ラズパイ上でOSを動かすためにSDカードにOSを焼く。 -
OSが乗ると何が嬉しいのか その2 OS*により複数のプログラム管理、 実⾏が容易になる。 O S パワポ chrome マイ クラ
パワポ⽤にメモリを100MB 確保して、はいはい chromeさんちょっと待っ てね今サーバからデータ 送られてきたから渡す わ・・ CPU メモリ など *OSの中でもマルチタスクOSという。マルチタス クじゃないOSもあります。 -
Arduinoと何が違うの︖ 創造理念 u Rpi・・・学校でコンピュータ教育を促進するため。 u Arduino・・・安価なロボット制御システムが欲しかったから。 (⼀般的な)使い⽅ u Rpi・・・OSをSDカードに焼いて、OS上でプログラムを動かす。 u
Arduino*・・・Arduino IDEからプログラムを書き込む。書き込むと勝⼿に⾛る。 操作⽅法 u Rpi・・・ログインして操作。本講習会ではコマンドで⾏う。 u Arduino・・・PCとUSBケーブルでつなぐ。IDEからポチポチやるとプログラムが⾛る。 *Arduino⽤(AVR⽤)のOSを⾃作してる⼈もネット上にいる。ほんまもんの漢や・・・。 -
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 などがあり ⽇々宗教戦争が世界各地で勃発している。 -
初期設定 画像貼るのがめんどくさい親切に解説してくれてるのでサイトを⾒ましょう。 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の有効化 -
これからやること 1. ロボアキのwifiにつなげる 2. ipアドレスの取得 3. ipアドレスの固定 4. PCからSSHログイン 5.
NICの省電⼒モード解除 network interface controller(card) ネットワーク通信をするために必要な ハードウェア。通常、NIC⼀つにつきMAC アドレスが1つ割り当てられる。 -
ネットワーク設定しよう $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf + network={ + ssid=“roboaki_ssid” +
psk=“roboaki_password” + } ⽩板に書きます。 今回は初⼼者講座なのでnanoを使って います。宗教上の理由でnanoが使えな いという⽅はご⾃⾝の好きなエディタ を使ってください。 + robot-architect はrobot-architectという⽂字 列を追加するという意味です。 -
ネットワーク設定 $ sudo nano /etc/network/interfaces allow-hotplug wlan0 iface wlan0 inet
manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf となっているか確認 -
続・ネットワーク設定 $ 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)を結びつける。 -
NICの省電⼒モード解除 $ sudo nano /etc/rc.local … fi + sudo iwconfig
wlan0 power off exit 0 $ sudo reboot 再起動する。 $ iwconfig wlan0 IEEE 802.11 … … Power Management: off となっているか確認 -
SSHログイン ssh接続の前に、接続元のPCをラズパイと同じネットワークに接続します。 Windowsの⼈ Tera Termというソフトウェアが必要です。 https://ja.osdn.net/projects/ttssh2/ 「Tera Term 公式サイト」 起動して、「ホスト」に先ほど設定したラズパイのIPアドレスを⼊⼒します。
「サービス」がSSH(バージョンSSH2)、「TCPポート」が22になってることを確認してOK 認証を求められるのでユーザー名(デフォルトでpi)とパスワードを⼊⼒する。 さっきモニタで⾒たような画⾯が出てきたら成功 Macの⼈ 「ターミナル」を起動 $ ssh [email protected] 接続していいか聞かれるのでyを⼊⼒ pi:~$ これが表⽰されたら成功 -
⽂明の灯⽕ 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 -
echoコマンド pi:~$ echo hello hello echoコマンドは画⾯(標準出⼒という)に⽂字列を表⽰させる $ echo 3 3
引数は数字でもなんでも良い コマンドの正体はプログラムのファイルである。 $ which echo /bin/echo -
特別なディレクトリ /(スラッシュ) ︓ルートディレクトリ 全てのディレクトリ階層の最上位に位置する。/がディレクトリ名 . (ピリオド): カレントディレクトリ 現在⾃分が存在しているディレクトリを表す。 .. :
カレントディレクトリの⼀階層上位 なんて⾔うんだろうねこれ。/にいるときに..に移動すると/に戻る。 ~(チルダ) : ホームディレクトリ ログインするとカレントディレクトリがこのディレクトリに設定される。 上記4つのうち/以外は全てあだ名みたいなもの。たとえば~の本名は/home/pi/である。 -
シャットダウンする $ sudo shutdown –h now sudo (superuser do) コマンドをシステム管理者(root)の権限
で実⾏する。⼤事なファイルやシステ ム設定に関わる操作は管理者権限でな いとできない