ラズパイZero、国内販売開始
はじめまして。2016年12月中途入社の 平 (Twitter: @mana_cat)です。子どもを二人育てながらMSP課で運用のお仕事をしています。今回が入社後初めてのエントリーとなりますので、よろしくお願いします。
入社前から電子工作とIoTを趣味で続けていますので、今回はひな祭り企画として、Raspberry Pi Zero (以降、ラズパイZero)について紹介させて頂きます。
入社前から電子工作とIoTを趣味で続けていますので、今回はひな祭り企画として、Raspberry Pi Zero (以降、ラズパイZero)について紹介させて頂きます。
つい最近、ラズパイZero が日本でも販売開始されました。販売価格は700円前後で、私のお小遣いでも手に入れることができました。フリスクサイズの小さなLinuxマシン「ラズパイZero」で電子工作やIoTをより一層 気軽に試すことができます。
個人的には、最初の難関はピンヘッダのはんだ付けだと思います。私ははんだ付けが苦手なので、いつもはんだ吸いとり「ハッコースッポン」のお世話になっています。この苦労を軽減させる方法をやっと見付けました。また、半田ごてがご家庭に無くて購入するのに敷居が高いと感じる人にもおすすめします。
今回は、はんだ付け不要のピンヘッダ装着方法の紹介と、温湿度センサーをお気軽に試す手順の豪華二本立てでご紹介致します。
GPIO Hammer Headerを試してみた
まず初めに、はんだ付け不要のピンヘッダについて紹介します。「GPIO Hammer Header 」という名前でもうお分かりかと思いますが、ハンマーでピンヘッダを物理的に叩き付けて装着させるというワイルドな商品が国内ではスイッチサイエンスで販売されています。今回は、ピンヘッダ(オス)をハンマーで叩いてラズパイZeroに装着しました。
肝心なことを忘れていました。自宅にハンマーがありませんでした。代わりに、自宅にあった埃被ったダンベルを偶然発見してハンマー代わりにして叩き付け、最後は私の握力(40kg)で何とかフィニッシュしてピンヘッダを装着できたのが次の写真になります。(ダンベルを使用するのは公式のやり方ではないので、自己責任でお願いします。)
コツとしては、左右バランス良く叩いて基板が歪まないように気を付けることです。また、ハンマーで怪我をしないように、注意して作業をしてください。
このツールのお陰で、はんだ付けが苦手な人でも容易にピンヘッダを装着できるようになります。注意点ですが、ピンヘッダを無理に引っ張ると、ピンが浮いてしまいます。他の基板をピンヘッダに取り付け・取り外しを行う際はお気をつけ下さい。
このツールのお陰で、はんだ付けが苦手な人でも容易にピンヘッダを装着できるようになります。注意点ですが、ピンヘッダを無理に引っ張ると、ピンが浮いてしまいます。他の基板をピンヘッダに取り付け・取り外しを行う際はお気をつけ下さい。
ラズパイZeroで温湿度センサーの値を取得する
次にOSをインストールします。microSDにインストールするOSは、最新のRaspbian(ラズビアン)を用意しますが、OSのインストール手順については長くなるのでここでは割愛します。
温湿度センサー等、用意するものは以下の通りです。
温湿度センサー等、用意するものは以下の通りです。
用意するもの
- USBハブ
- Wi-Fiアダプター
- 温湿度センサー AM2302 (DHT22)
- ミニブレッドボード
- 抵抗10kΩ 1本 (4.7kΩでも可)
- ジャンパーケーブル(オスxメス 3本)
温湿度センサーは、ブレッドボードに配線されたものを用意しています(GPIO23を使用します)。
少し分かりにくいですが、以下の写真のように配線しています。
少し分かりにくいですが、以下の写真のように配線しています。
配線が終わったら、ラズパイZeroの設定を行います。
SSHの起動
前述の通り、今回紹介する手順はRaspbian OSをインストールした直後の作業になります。また、ラズパイZeroの消費電力を抑えるため、SSHでログインします。
最新のRaspbianOSでは、セキュリティ強化のためデフォルトではSSHが停止されている状態になっています。
systemctlコマンドでSSHを起動し、OS起動時に自動的にSSHが起動できるように有効化させます。
$ sudo systemctl start ssh.service $ sudo systemctl enable ssh.service
ssコマンドで、SSHの22番ポートがLISTENしているか確認してみましょう。
$ ss -nlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 128 :::22 :::*
プログラムの実行
次に、aptコマンドでpython開発環境をインストールし、pythonのパッケージ管理システムが動作できるようにします。
その後、温湿度センサーDHT22用のライブラリをpipコマンドで検索し、ライブラリを指定してインストールします。
$ sudo apt install python-dev $ pip search DHT22 $ pip install Adafruit_Python_DHT
Githubで公開されているテスト用のPythonプログラムを動かしてみるため、サンプルプログラム(Adafruit_Python_DHT)をwgetして取得します。
$ wget https://raw.githubusercontent.com/adafruit/Adafruit_Python_DHT/master/examples/simpletest.py
simpletest.py に記述されているピン番号を、今回使用したGPIO23に変更して保存します。
$ vi simpletest.py pin = 'P8_11' #pin = 23 ↓ #pin = 'P8_11' pin = 23
最後に、プログラムを実行して温湿度が表示されたら完了です。
$ sudo python ./simpletest.py Temp=26.0*C Humidity=46.3%
まとめ
ぜひこの機会に、ラズパイZeroを気軽に試してみましょう。
次回は今回使用した温湿度センサーの値を使って簡単なIoTを作る例を紹介します。