まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:pi

スウェーデン発祥の世界最大の家具量販店 "IKEA(イケア)"。ここは毎年ジンジャーブレッドハウスコンテストを開催しています:
https://www.smartcontest.jp/system/ikeafoodcontest/pc/

2016122301


イケア店内でも売られているジンジャーブレッドハウスキットを使ったデコレーションコンテストです:
2016122302


板状のジンジャーブレッドを組み立てて家を作って、デコレートして、写真に撮って、その出来栄えを競い合う、というものです。昨年の応募作品を見ると信じられないくらいにレベルが高い・・・
2016122303


もともとこのコンテストを知っていたわけではないのですが、たまたま近所の TOKYO BAY 店(旧船橋店)で実物を見かけた時、ふと
  「この家、ラズベリーパイがちょうど入るくらいのサイズなんじゃね?」
とアレなアイデアが浮かんでしまったのでした。。

いやでもクッキーだし、粉とかラズパイみたいな精密機械にいい影響があるわけないし、何より食べ物を粗末にするのはよくないし・・・うーん、、、


行けばわかるさ!
IMG_0082


ジンジャーブレッドハウスを作るのは初体験です。軽く「組み立てるだけだよね?」と考えて購入しましたが、その「組み立てるだけ」が難しいのなんのって。。 自分は一応は大工の息子ですが、そのDNAはもう残ってないと実感しました(苦笑)。屋根が自分の重みで落ちてきちゃって、、、みんなどうやって固定させるんだろ・・・

苦労しながらもなんとか家が家の形になってきました。外から見たお家の中の様子。一瞬「業務用キッチン?」と見間違えそうですが、USB ポート x 4です:
IMG_0083


煙突立てて、サンタ人形を載せて、外観は完成。なんかケーブルが見えてますが気のせいです:
IMG_0085


気のせいなケーブルをコンセントに挿すと、家の中にほのかな明かりが灯ります。意外と悪くないかも!(慣れない創作作業で結構苦労したせいか、この辺りから判断基準がおかしくなってるかもしれません):
IMG_0086


ラズパイはもちろん無線 LAN で Linux サーバーとしても稼働中なので、GPD WIN 機から ssh で接続してみました。このゲーム機みたいな PC から家の中の様子を覗いてるイメージです:
IMG_0091


最後にシュガーとグミでデコレーションを追加。本当は砂糖の粉雪を降らせたかったのですが、さすがにラズパイの動作への影響と、何より危険だと思ったので断念しました。GPD WIN から IBM Bluemix の Node-RED スターター環境にアクセスして、この家(ラズパイ)からのセンサーデータを取得できるようにしました。わかりにくいのですが、家の中の状態をこの PC から監視しています。一応これが完成品です(コンテストにはこの写真で応募する予定w):
IMG_0097


微妙なタイミングを測って、ラズパイの LED が2つ(赤と緑)点灯した瞬間を撮影してみました。僕の脳内では少女とその両親が、キャンドルの周りで神様にお祈りをしている姿まで見えています:
2016122300


お約束ですが、この後美味しくいただきます!

なお、ジンジャーブレッドハウスコンテストへの投票はこちらから。よろしくお願いします(笑):
ジンジャーブレッドハウスコンテスト | IKEA FOOD


Happy Merry Christmas!

僕のブログの全エントリの中でも指折りの人気ページの1つが Kali Linux ネタです:
http://dotnsf.blog.jp/tag/kali

ペネトレーションテスト用に開発された Kali Linux は本来の目的で使われることはもちろん、Debian ベースで apt-get コマンドを使ったカスタマイズもでき、何よりもカッコいいデスクトップ環境(大事!)もあって、最近人気が上がっているディストリビューションの1つだと思っています。

そんな Kali Linux は組み込み用環境向けにもイメージが提供されています。今回はそんな中から Raspberry Pi(以下、「ラズパイ」)用イメージを使って、ラズパイに Kali Linux 環境を構築する手順を紹介します。なお、以下の手順はラズパイ3で試していますが、2でも同様に可能なはずです。

まず用意するのは 8GB の MicroSD カード。ここにほぼ同じ大きさの Kali Linux イメージを書き込んで使います。

ラズパイ用の Kali Linux はこちらからダウンロードします:
https://www.offensive-security.com/kali-linux-arm-images/

2016121501


このサイトの中ほどにラズパイ用のセクションがあり、その中から環境にあったイメージ("RaspberryPi 2/3")を選んでダウンロードします。ダウンロードファイルは .xz という拡張子をもったフォーマットで圧縮されています。

ダウンロード後、このファイルを展開します。Windows であれば 7zip で、Linux であれば tar の Jxf オプションを使うなどして圧縮を展開し、約 8GB のイメージファイルを取り出してください。

取り出したイメージファイルを MicroSD カードにダンプで書き込みします。Windows であれば DD for Windows 、Linux であれば dd コマンドを使ってイメージをそのまま書き込んでください。これで Kali Linux が導入されたラズパイ用の MicroSD カードが用意できました。

ここまでできれば後は普通のラズパイ同様に、HDMI ケーブル/キーボード/マウス/有線LANケーブル などを必要に応じて繋いで使って起動してください:
IMG_0055


↑普通に起動できました。




IBM Bluemix のイベント駆動型ランタイムである OpenWhisk 環境をコマンドラインから利用する際に必要な wsk をラズベリーパイに導入してみました。なお最初に SSL でログインするか、ターミナルを開くなどして、ラズベリーパイのコマンドライン操作ができる状態にしておく必要があります。


まずは Python のパッケージ管理ツールである pip を導入します:
$ sudo curl -kL https://bootstrap.pypa.io/get-pip.py | python

そして pip を使って wsk コマンドを導入します:
$ sudo pip install --upgrade https://new-console.ng.bluemix.net/openwhisk/cli/download

wsk コマンドの設定を行います。ここで実行するコマンドは OpenWhisk 画面の②で表示されているコマンドをコピー&ペーストする形で実行してください:

2016080401

$ wsk property set --apihost openwhisk.ng.bluemix.net --auth ********* --namespace "dotnsf@jp.ibm.com_dev"

導入した wsk コマンドが正しく動くことを確認します。以下のコマンドを入力して、青字のような結果が返ってくることを確認してください:
$ wsk action invoke /whisk.system/samples/echo -p message hello --blocking --result
{
    "message": "hello"
}

導入できました!これでまたラズパイ環境が捗ります。

IBM では大学生の皆さんを対象に、メインフレームを使ったプログラミングコンテストを開催中です:
IBM メインフレームコンテスト 2016

2016073101


このコンテストは「メインフレーム」や「汎用機」と呼ばれている IBM zSystems の最新版である z13 環境にリモートログインしてプログラミングを行う、という内容のコンテストです。コンテストといっても最初は与えられた課題をクリアしながらメインフレームの使い方を学び、最終的にはメインフレーム用のアプリケーションを開発して世界中の大学生とその出来を競う、というものです。ちなみにリモートログインする先のシステムはメインフレームのネイティブOSである z/OS に加え、メインフレーム版の Linux(zLinux)も含まれています。旧来型から最新環境までメインフレームを学ぶ面白い機会であると思っています。


で、これだけだとただのコンテスト宣伝になってしまうので、1つ自分なりに挑戦してみました。同コンテストに参加する上で、参加者の個人 PC は Windows/Mac OS/Ubuntu のいずれかであることを前提として解説されています:
2016073102


現実的にほとんどの学生参加者の皆さんが所有している PC はこのいずれかの環境であると思いますが、僕は人気の教育向けシングルボードコンピュータで、比較的最近は IoT デバイスとしても注目されているラズペリーパイ(以下「ラズパイ」)で挑戦してみました。結論から言うと「ラズパイでもできそうです(少なくとも課題のパート1はできます)!」。

準備段階として、z/OS システムにログインして操作するための 3270 エミュレータアプリケーションの導入が必要です:
2016073100
 ↑オッサン感涙のこんなアプリ


ラズベリーパイ向けの 3270 エミュレータの導入はこちらのページの「IBM 3270 環境」を準備している箇所の説明を参考に導入してください:
PiTop で日本語デスクトップ環境構築


ここで紹介している方法では X11 版(x3270)ではなくコマンドライン版(c3270)の導入を紹介しているので、X Window 環境からだけでなくターミナル環境からでも利用できる方法です:
pi_zos_zlinux
 ↑ラズパイのデスクトップ上で z/OS と zLinux に同時にログインしている様子


ただし、この方法で z/OS 環境を用意した場合には2つ注意点があります。1点目は起動方法です。ウィンドウのメニューから実行するのではなく、ターミナルを開いてコマンドラインから以下のように指定して z/OS に接続する必要があります(IPアドレスとポート番号に関しては参加者向けのガイドを参照してください):
$ c3270 (接続先IPアドレス):(接続先ポート番号)

もう1点。IBM からのガイドでは上記3つの GUI 環境から利用することを想定していますが、このラズベリーパイからコマンドライン版 3270 アプリを使う場合はウィンドウ環境を前提としていないため、一部のキーバインドが正しく動きません。例えば z/OS の画面において「1つ前に戻る」という場合は F3 キーを押すようガイドされていますが、c3270 では F3 が正しくバインドされていないので期待通りの結果になりません:
2016073103


c3270 で1つ前の画面に戻るには、F3 ではなく "Exit" と明示的にコマンド入力する必要があります:
2016073104


この辺りはちょっと不便ではありますが、操作そのものには影響はなさそうでした。なお zLinux 環境に関しては普通の Linux と同じ(実体は RedHat Linux Enterprise 7)なので、普段から Linux を使っている方であれば違和感なく使えると思っています。


 

このページのトップヘ