おとなの電子工作 -12ページ目

おとなの電子工作

アマチュア電子工作のブログです。かっての電子立国の残照を味わいながら、ホビー電子工作やホビーパソコンを楽しみましょう!

$英語で学ぶプログラミング-Raspberry Pi

8月26日(月)と30日(金)の夜にラズベリーパイの入門セミナーを行います。今回は日本語ですが、英語の資料を使ったセミナーも企画しています。

フェイスブック・イベント
https://www.facebook.com/denshikousaku/events

こくちーず 2013年08月26日
http://kokucheese.com/event/index/108883/

こくちーず 2013年08月30日
http://kokucheese.com/event/index/108888/


今話題?のラズベリーパイを知ってますか?

ラズベリーパイ(Raspberry Pi)は、イギリスで開発された教育用のコンピューターです。

子供たちが自由に使えるパソコンを目指して、わずか3千円ほどの値段で売られています。

値段の割りには機能が高く、驚くことに、発売から1年半で、世界中に150万台以上も出荷されました。

パソコンとしてプログラミング教育に使えるだけでなく、ハードウェアやシステムの学習にも利用できるのが、ラズベリーパイの大きなメリットです。

とても小さいので、ラジコンやロボットなどに組込んで、電子工作に使うことができます。

このラズベリーパイは、どのようにできているのか、普通のパソコンではできない、どのような学習に利用できるのか?

ラズベリーパイの、どこが良いのか、パソコンと比較しながら、デモも交えて説明します。

今後、このラズベリーパイを使った勉強会や電子工作倶楽部を開催します。

フェイスブックグループをオープンしましたので、ぜひご参加ください。

https://www.facebook.com/groups/denshi/

【開催概要】

日時 8月26日(月)と30日(金) 

   18:30受付開始 19:00スタート 21:00終了

※26日と30日は、どちらも同じ内容のセミナーです。

場所 水道橋ネコワーキング
   千代田区三崎町3-10-5 原島第3ビル202

対象者 1.ラズベリーパイを知りたい方
    2.コンピューターの基礎に興味のある方
    3.コンピューターのハードウェアに興味のある方

参加資格 1.パソコンに触れたことがある方

定員 10名

参加費 2千円 当日会場にて現金でお支払いください。

内容 1.ラズベリーパイのハードウェア
   2.ラズベリーパイのソフトウェア
   3.実機によるデモ
   4.ラズベリーパイで学習できること

テキスト なし

必要な物 筆記用具。

参加申込 Facebookイベント、あるいは、こくちーずからお申込みください。

※原則、遅刻・欠席は認められません。どうしてもという場合は、事前に連絡をお願いします。

※大きなイベントがある時は日程あるいは場所を変更する場合があります。

※今後の予定の確認および変更はフェイスブックグループでお知らせします。

 https://www.facebook.com/groups/denshi/


今後の予定

9月にラズベリーパイを使った勉強会を企画しています。


にほんブログ村 IT技術ブログ ライフハックへ$エンジョイ・ユアセルフ!-Spacer$パソコンの危機管理 - クラウド・コンピューティングを使いこなせ!-twitter
クリック♪ ありがとう! フォローよろしく!



Raspberry Piユーザーガイド
Eben Upton Gareth Halfacree
インプレスジャパン
売り上げランキング: 1,912
おとなの電子工作-ヘッドレス


Raspberry Pi モデルAを、ヘッドレスにしてみました。

普通のパソコンは、ディスプレイやキーボード、マウスが接続されています。

ディスプレイやキーボード、マウスを接続しないで使うことを、ヘッドレスと呼びます。

パソコンからSSHやRDPで接続して、リモート制御します。

電源を除けば、ケーブルが接続されないので、とてもスッキリ!

モデルAは、ネットワーク・アダプターがないので、代わりにUSB無線LANアダプターを使用しました。

無線LANに接続するまでの設定を全部、モデルA単体で行なうのはかなり面倒です。

そこで、あらかじめモデルBで設定をして、SDカードとUSB無線LANアダプターを、

モデルAに挿し直すと、、、

そのまま動きました!

モデルAとモデルBには互換性があるので、あらかじめモデルBでいろいろと用意できて便利♪

さっそく、TeraTermで接続して、内部の様子を見てみました。

つぎの図は、物理メモリー使用量(RES、kb単位)でソートしてあります。

メモリーを、61,316kb使用。空きが、127,654kb。
スワップ使用量は、0です。

おとなの電子工作-ヘッドレス

リモートデスクトップで接続すると、Xウィンドウを起動します。

ディスプレイを接続してグラフィックを使用したのと同じで、メモリーがたくさん使われます。

メモリー使用量は、172,600kb。空きは少なくなって、たったの16,280kb!スワップ使用量は、まだ0でした。

おとなの電子工作-ヘッドレス

SSHによるターミナル接続なら、128MB弱のメモリーが空いているので、いろいろと実用的な用途に使えそうです。

リモートデスクトップ接続だと、メモリーが苦しい!

それでも、Windows上でスクリーンショットを撮ることができるので、資料作りには役立ちそう。

なんといっても、モデルAは消費電力が少なく、熱くならないので、気楽に使えます。

今回も、CPUや3端子レギュレーターは、暖かい程度。CPUのセンサは、摂氏41度と表示していました。

一つしかないUSB端子に挿した、USB無線LANアダプターが一番熱くなっています (^_^;)


にほんブログ村 IT技術ブログ ライフハックへ$エンジョイ・ユアセルフ!-Spacer$パソコンの危機管理 - クラウド・コンピューティングを使いこなせ!-twitter
クリック♪ ありがとう! フォローよろしく!



組込みソフトウェア開発入門 ~組込みシステムの基本を‐ハードウェアとソフトウェアの両面から学ぶ!
星野 香保子 並木 秀明 菊池 宜志 日比野 吉弘
技術評論社
売り上げランキング: 256,115

おとなの電子工作-openSSH
http://www.openssh.org/

手元にあるマシンも、今はインターネットで世界中どことでも繋がっているので、

ターミナルはSSH、ファイル転送はSFTPと、セキュリティーに気を使う時代になりました。

telnetやrcpにftpなどは、素朴な時代のナイーブなツールとして、消えていくのでしょうか?

Trivial File Transfer Protocol (TFTP)も、昔から使われている軽量なプロトコルですが、

組込み機器やネットワーク機器などで良くつかわれています。

企業システムでも、ネットワークブートなどに利用されています。

TFTPは、NAT超えができず、認証の仕組みもないので、インターネットで使うのは難しく、基本的にLANの中で使用されます。

組込み機器やネットワーク機器で、TFTサーバーが必要なときに、Raspberry Piをツールとして使えたら面白いだろうと思い、試してみました。

WindowsからのTFTPサーバへのファイル転送は、つぎのようにWindowsコマンドが使えます。


C:\Users\hajime>tftp -i 192.168.1.23 put sample.txt
Transfer successful: 153 bytes in 1 second(s), 153 bytes/s

C:\Users\hajime>tftp -i 192.168.1.23 get hello.c
Transfer successful: 63 bytes in 1 second(s), 63 bytes/s

C:\Users\hajime>tftp

Transfers files to and from a remote computer running the TFTP service.

TFTP [-i] host [GET | PUT] source [destination]

-i Specifies binary image transfer mode (also called
octet). In binary image mode the file is moved
literally, byte by byte. Use this mode when
transferring binary files.
host Specifies the local or remote host.
GET Transfers the file destination on the remote host to
the file source on the local host.
PUT Transfers the file source on the local host to
the file destination on the remote host.
source Specifies the file to transfer.
destination Specifies where to transfer the file.


Linuxでは、つぎのようなコマンドが使えます。


hajime@vm:~$ tftp
tftp> connect 192.168.1.23
tftp> binary
tftp> get hello.c
Received 63 bytes in 0.0 seconds
tftp> put helloworld.c
Sent 97 bytes in 0.0 seconds

tftp> ?
Commands may be abbreviated. Commands are:

connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet retransmission timeout
timeout set total retransmission timeout
? print help information
tftp> q
hajime@vm:~$


使い方は簡単なのですが、セットアップには、いくつかのピットフォール(落とし穴)があり、

そう簡単には動きませんでした (^_^;)

まず、Raspberry PiにTFTPサーバーをインストールします。

つぎのコマンドでインストールできます。

 sudo apt-get install tftpd-hpa

ところが、なんということでしょう~

結果は、つぎのように、TFTPサーバーはエラーで起動しませんでした!

pi@raspberrypi ~ $ sudo apt-get install tftpd-hpa
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
syslinux-common
The following NEW packages will be installed:
tftpd-hpa
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 46.1 kB of archives.
After this operation, 142 kB of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main tftpd-hpa armhf 5.2-4 [46.1 kB]
Fetched 46.1 kB in 1s (25.3 kB/s)
Preconfiguring packages ...
Selecting previously unselected package tftpd-hpa.
(Reading database ... 77058 files and directories currently installed.)
Unpacking tftpd-hpa (from .../tftpd-hpa_5.2-4_armhf.deb) ...
Processing triggers for man-db ...
Setting up tftpd-hpa (5.2-4) ...
[....] Starting HPA's tftpd: in.tftpdinvoke-rc.d: initscript tftpd-hpa, action "start" failed.
dpkg: error processing tftpd-hpa (--configure):
subprocess installed post-installation script returned error exit status 71
Errors were encountered while processing:
tftpd-hpa
E: Sub-process /usr/bin/dpkg returned an error code (1)

pi@raspberrypi ~ $

これを直すには、構成ファイルを、つぎのように手で直すなどの操作が必要です。

pi@raspberrypi ~ $ cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
pi@raspberrypi ~ $

pi@raspberrypi ~ $ sudo nano /etc/default/tftpd-hpa

pi@raspberrypi ~ $ cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-4 --create --secure"


pi@raspberrypi ~ $ sudo chmod -R 777 /srv/tftp

pi@raspberrypi ~ $ sudo service tftpd-hpa restart
[ ok ] Restarting HPA's tftpd: in.tftpd.

pi@raspberrypi ~ $

次は、クライアント側の準備です。

Windowsには、TFTPコマンドが標準ではインストールされないので、

コントロールパネルのプログラムの追加と削除から、TFTP Clientを追加します。

おとなの電子工作-TFTP
※Windows 7 の例

さっそく、動かしてみると、つぎのようなエラーが出ます (^_^;)

C:\Users\hajime>tftp -i 192.168.1.23 put sample.txt
Timeout occurred
Connect request failed


サーバーだから、ファイアーウォールかな? と思って確かめると、、、

Raspbianは、hosts.denyもhosts.allowも、何も設定されていないので、出入り自由です!

ちなみに、TFTPはNAT超えができないので、同じLANのセグメントにいることを確認してください。

余談ですが、Rasbianをインターネットに接続することに不安を覚える人は、とりあえずファイアーウォールだけでも、つぎのような簡単な設定を行なっておくと良いでしょう。


/etc/hosts.allow
ALL:127.0.0.1
ALL:192.168.

/etc/hosts.deny
ALL:ALL


※192.168で始まるLANアドレスのみ許可

さて、今回は、Windowsクライアント側のWindowsファイアーウォールが原因でした。

コントロールパネルから、WindowsファイアーウォールにTFTPクライアントの通信許可の設定を行います。

おとなの電子工作-TFTP

$おとなの電子工作-TFTP

繫がりました!\(^o^)/


参考資料

Installing TFTP on the Raspberry Pi
http://www.jamesrobertson.eu/blog/2013/apr/18/installing-tftp-on-the-raspberry-pi.html

Raspberry Pi – TFTP Server
http://www.ronnutter.com/raspberry-pi-tftp-server/


にほんブログ村 IT技術ブログ ライフハックへ$エンジョイ・ユアセルフ!-Spacer$パソコンの危機管理 - クラウド・コンピューティングを使いこなせ!-twitter
クリック♪ ありがとう! フォローよろしく!



組み込みLinuxシステム構築 第2版
Karim Yaghmour Jon Masters Gilad Ben-Yossef Philippe Gerum
オライリージャパン
売り上げランキング: 341,898