2018年8月8日水曜日

SNS始める

twitterを始めました。
twitter:@HASO_Lab
といっても、アカウント自体は以前に取得していたのですが…。

また、ニコニコ生放送で映像配信に挑戦しています。
映像配信コミュニティ:co3847690
配信については、わからないことだらけなので手探り状態です。

2018年8月6日月曜日

MakerFaireTokyo2018に出展しました&便利なPOPスタンド

8/4(土)と5(日)に東京ビッグサイトで開催された"Maker Faire Tokyo 2018"に今年も出展してきました。展示の様子は以下のような感じでした。

・全体
・多数決マリオ
 ・全自動シレン
 ・インタラクティブアイパッチ
※あと、動くリボンも展示したかったのですが間に合いませんでした…

今年の出展物は過去に出展したことのあるものばかりだったので、新鮮味はあんまりなかったかもしれません。来年は新しいものを出せればと思っています。

以下余談です。
当研究所では作品の展示の説明にパネルを使用しているのですが、パネルを並べるという方法を取る場合、机の上に単純に並べてしまうとパネルによって作品を置くスペースが狭くなってしまうという問題があります。今回は欲張って展示作品数を増やしたため、パネルを並べるスペースすらなくなってしまいました。そこで、今回はPOPスタンドというものを使ってみたのですが、これがかなり便利でした。

・こんなやつ

これを使用すると、液晶ディスプレイの上部空間にパネルを配置できる(上部写真参照)ようになるので、スペースを有効に使うことができました。そして、ポールの部分が伸び縮み(真ん中のポールが最大94cmぐらいまで伸びる)でき、さらに分解できるので持ち運びが楽です。

・分解した図
※土台とはネジ止めですが、ドライバ不要で手で止めれるレベル

実際に吊るしていたのはB5サイズのパネルx2で、これはダイソーの硬質カードケース(108円)にプリント紙をいれたものを使用しています。このPOPスタンドは1枚の掲示を想定していると思われるので、多少イレギュラーな使用法でしたが意外と大丈夫でした。

・どこのダイソーでもたいてい売っているやつ

購入したのは以下のものです(7/15購入時点では¥1,499でした)。

2018年7月28日土曜日

メイカーズバザール大阪2018

この前のメイカーズバザール大阪(2018/7/7&8)に出展してきました。展示はこんな感じ。
次は東京のMaker Faire Tokyo(2018/8/4&5)に出展予定です。

2018年4月3日火曜日

ラズベリーパイインストール方法比較

ラズベリーパイにOSをインストールするには以下の2種類があります。
  1. NOOBSを使用してOSをインストールする方法
  2. SDカードに直接OSイメージをライトする方法
    ※NOOBS Liteを使用する方法もありますが、ここでは除外します
1の方法は、SDカードにPCからデータをコピーするだけの簡単手順(どちらかというと初心者向け?)。2の方法は、PCから専用のソフトをSDカードに直接ライトします。どちらの方法でも最終的にラズベリーパイにOSをインストールすることには変わりません。じゃあ、最終的な違いはないんですかね?調べてみました。

ラズベリーパイ3を使用して以下のバージョンでインストールします。
  1. NOOBS
    Version : 2017-11-29
  2. RASPBIAN STRETCH WITH DESKTOP
    Version : 2017-11-29
インストールの方法は以下のページと同じ方法をとっています。
使用したSDカードはトランセンドの8GB(クラス4)のものです。

違いその①
1の方法は初回起動時のインストールウィザードにおいて使用言語を選択できるので、ここで日本語を指定しておけばインストールされたOSの言語設定などが日本になる。2は自分で設定しなければならない。

違いその②
インストール後のSDカードの残り容量が違う。インストール直後のdfコマンド(ディスクの使用量表示)の結果が以下。

1のインストール後のdfコマンド結果
ファイルシス   1K-ブロック    使用  使用可 使用% マウント位置
/dev/root          5737960 4269060 1154380   79% /
devtmpfs            468152       0  468152    0% /dev
tmpfs               472760       0  472760    0% /dev/shm
tmpfs               472760   12264  460496    3% /run
tmpfs                 5120       4    5116    1% /run/lock
tmpfs               472760       0  472760    0% /sys/fs/cgroup
/dev/mmcblk0p6       66528   21328   45200   33% /boot
tmpfs                94552       0   94552    0% /run/user/1000
/dev/mmcblk0p5       30701     398   28010    2% /media/pi/SETTINGS

2のインストール後のdfコマンド結果
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        7483948 4264648   2852288  60% /
devtmpfs          470180       0    470180   0% /dev
tmpfs             474788       0    474788   0% /dev/shm
tmpfs             474788    6364    468424   2% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs             474788       0    474788   0% /sys/fs/cgroup
/dev/mmcblk0p1     41853   21327     20526  51% /boot
tmpfs              94956       0     94956   0% /run/user/1000

何か全体の容量が1.5GBぐらい違う…。
1の方法はNOOBSという機能やインストール対象のOS自体も含めてSDカードに入れていると思われるので容量を食うんでしょうね、たぶん。
1の方法でSDカードにコピーしたファイル群の容量が1.47GBだったので、その容量分?
あと、1の方法では/media/pi/SETTINGSっていうディレクトリも存在しています。
NOOBSは"New Out of Box Software"の略でOSのインストールを管理しているらしいです、詳しく知りたい人は自分で検索だ!(飽きました)

結論としては、1.5GB程度なら最近のSDカードの容量なら無視できる範囲かと思われますので好きな方法でインストールしたらいいと思います。終わり。

Raspberry Pi Zeroセットアップメモ

RaspberryPi Zeroのセットアップ手順のメモ。GUIではなくCUIで使用する場合のもの。ここで使用しているバージョンはRaspbian Jessie Liteの"2017-4-10"。
2018/4/2追記:Raspbian Stretch Liteの"2018-3-13"での適用を追加
  • まずは購入から
    adafruitからRaspberryPi Zeroを購入。本体よりも周辺機器が高いという…(本体:$5、SDカードなどの周辺機器:$24.95)。送料はそれよりも高いという…(送料:$31.65)。ちなみに購入日は2016/11/26。
  • OSをダウンロードする
    "Raspbian Jessie Lite"をダウンロード
    https://www.raspberrypi.org/downloads/raspbian/
    ※ここで使用しているバージョンは"2017-4-10"
  • WindowsPCを使用してSDカードにOSイメージを焼く
    以下のページを参考に、"Win32DiskImager"というソフトをインストールして使用する(管理者権限での実行が必要)。
    参考ページ:Installing operating system images using Windows - Raspberry Pi Documentation
    参考ページ:SDカードのコピー方法 | Making Mugbot マグボットの作り方
  • 起動する
    起動時にパーティションの拡張が自動で行われる模様。
  • ログイン
    login:pi
    pass:raspberry
  • 最新版に更新
    $ sudo apt-get update
    これにはネットワークの接続が必要。USB有線LANアダプタを使用。
  • Vimのインストール
    $ sudo apt-get install vim
    これがなくては始まらない。
  • 日本語化
    ロケールを変更する。
    $ sudo raspi-config
    "Internationalisation Options"->"Change Locale"->"ja-JP.UTF-8 UTF-8"->"ja-JP.UTF-8 UTF-8"(デフォルト言語選択)
    日本語フォントのインストール。
    $ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
    日本語入力メソッドのインストール。
    $ sudo apt-get install uim uim-anthy
    ターミナルのインストール。
    $ sudo apt-get install jfbterm
    "jfbterm"コマンドでターミナルが新規に起動して日本語が表示できる様になる。
    ここら辺で再起動をしておく。
    キーボードの配置を変更する。
    $ sudo raspi-config
    "Internationalisation Options"->"Change Keyboard Layout"->"標準105キー(国際)PC"->"その他"->"日本語"->"日本語"->"AltGrキーなし"->"コンポーズキーなし"
    ※日本語表示があるので"jfbterm"起動してからやったほうが良い
    ※再起動すると設定が反映される模様
    日本語化の参考Webページ
    参考ページ:RaspberryPiの日本語設定 - uepon日々の備忘録
    参考ページ:» 解決!Raspberry Piの日本語が四角の文字化けになった時の初歩ミス。|コワーキングスペース管理人のブログ
  • オートログイン化
    $ sudo raspi-config
    "Boot Options"->"Desktop/CLI"->"Console Autologin"
    リブートしてオートログインしていることを確認する。
  • SDカードのパーティション拡張
    $ sudo raspi-config
    "Expand Filesystem"を選択するとコンソールが少し出て終了
    ※おそらくこれをやらなくても良いと思われる。起動時にやっている?
    ※SDカードにOSイメージを書き込んだときにパーティションが最低限の領域しか確保できていないので、そのまま使用するとSDカード全体を使用しないので無駄。なのでパーティション拡張することでSDカード全体を使用できるということをやっている
  • 日本語入力方法
    "jfbterm"コマンドでターミナルを起動後、"uim-fep"コマンドでIMEが起動する。起動後は左下にそれっぽいものが表示される。日本語を入力するには日本語入力モードに切り替える必要があるが、不具合があり日本語入力モードに切り替えることができない模様。なので以下の手順で修正する。
    $ sudo vi /usr/share/uim/generic-key-custom.scm
    上記ファイルを以下のように変更する
    (define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
    (define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")

    (define-custom 'generic-on-key '("zenkaku-hankaku" "<Control> ")
    (define-custom 'generic-off-key '("zenkaku-hankaku" "<Control> ")
    これでCtrl+Spaceで日本語入力モードに移行できる。モードオフもCtrl+Space。
    参考ページ:RaspberryPiの個人的な覚書その6 日本語化(順序が違うか)  ( その他コンピュータ ) - 四十路オヤジの雑記帳 - Yahoo!ブログ
  • USBメモリの自動マウント
    自動マウントのパッケージをインストール。
    $ sudo apt-get install usbmount
    これでUSBを挿すと/media/usb0とかにマウントされる。ただし、このままでは日本語のファイル名が正しく表示できないので以下のファイルの内容を変更する必要がある。
    $ sudo vim /etc/usbmount/usbmount.conf
    FS_MOUNTOPTIONS=""

    FS_MOUNTOPTIONS="-fstype=vfat,gid=pi,dmask=0000,fmask=0111,codepage=932,iocharset=utf8"
    参考ページ:Raspberry PiでモバイルWiFi NAS - mitszo's Blog
    ちなみにアンマウントは以下のコマンドで。
    $ sudo umount /media/usb0
    2018/4/2追記
    jessieの次のバージョンであるstretchでは上記の設定だけでは自動マウントされない。以下のファイルを追加で修正する必要がある。
    $ sudo vi /lib/systemd/system/systemd-udevd.service
    MountFlags=slave

    MountFlags=shared

    参考ページ:Raspberry Pi Zero Wのいたずら
  • シリアルポートの有効化
    デフォルトではRaspberryPiZeroのUARTピンはログインコンソールとして設定されている。これは、GPIO14(TX)&GPIO15(RX)にシリアルで接続するとディスプレイがなくても作業ができるというやつ。普通にこのピンをUART通信で使用するためには以下のファイルの変更が必要。
    $ sudo vim /boot/cmdline.txt
    上記ファイルから"console=serial0,115200"を削除する。次にサービスを停止/無効化する。
    $ sudo systemctl stop serial-getty@ttyAMA0.service
    $ sudo systemctl disable serial-getty@ttyAMA0.service
    参考ページは以下、ほぼそのままの手順。
    参考ページ:第13回: GPIOを汎用UARTに設定する – Blue-black.ink
  • WiringPiインストール
    $ sudo apt-get install wiringpi
    Raspbian Jessie Liteには含まれてない模様(確かLiteじゃないやつは含まれてたはず)。"gpio readall"コマンドとか実行できたらOK。
  • 起動高速化
    起動時にDHCPでIPを取得する時間を短縮する。
    $ sudo vi /etc/systemd/system/dhcpcd.service.d/wait.conf
    ExecStart=/sbin/dhcpcd -q -w
    ↓(タイムアウト設定を追加)
    ExecStart=/sbin/dhcpcd -q -w -t 5
    参考ページ:Raspberry Pi Zeroを10秒以内で高速起動する最も簡単な方法: new_western_elec
このあたりまで実施すれば一通りの環境が完成。gccなどはすでに入っている。これ以降は備考レベルの内容です。
  • 無線LAN設定
    使用アダプタ:WLI-UC-GNME
    参考ページ:Raspberry PiでモバイルWiFi NAS - mitszo's Blog
    $ sudo iwlist wlan0 scan | grep ESSID
    "sudo /etc/wpa_supplicant/wpa_supplicant.conf"このファイルに以下を追加
    network={
        ssid="****"
        psk="****"
    }
  • 起動トラブル対策
    起動時にプログラムを自動実行しようとしたときに"/etc/rc.local"にコマンドを書いておく方法がある(編集にはルート権限が必要)。しかし、変なコマンドを書いてしまいで無限ループに入った場合、起動してもキーボードからの入力が受け付けられずどうしようもなくなる場合がある。
    参考ページ:ラズベリーパイでrc.localに記述をし,エラーまたはループで起動できなくなった場合の対処法 – 岡田裕樹の研究室
    その場合はmicroSDをラズベリーパイ以外のPCで開き、中にある"cmdline.txt"を以下のように編集する
    dwc_otg.lpm_enable=0 console=ttyAMA0,115200

    dwc_otg.lpm_enable=0 init=/bin/sh console=ttyAMA0,115200
    こうすると起動時にシェルスクリプトが起動するようになる。
    $ mount -o rw,remount /
    $ vim /etc/rc.local
    これで、"rc.local"を編集できる。終了の仕方はよくわからないので強制電源OFF。最後にmicroSDカードの"cmdline.txt"をもとに戻せば解決。


2017年10月28日土曜日

Maker Faire Tokyo 2017に出展しました

遅くなりましたが、Maker Faire Tokyo 2017(8/5&6)に出展してきました。出展物は多数決マリオということで複数人でプレイできるスーパーマリオです。展示前は果たして面白いのだろうか?と自問自答していましたが、思っていたより好評だと感じました。

以下のように展示していました。

お隣さんは全自動ぷよぷよプレイヤーのmayahさんとMRファミコンのKOALABさんでした。
全自動ぷよぷよプレイヤーは安定感抜群でした。実機を使用しているということで実動作でのいわゆるラグに苦労しているとのこと。「全自動シレンで同じ現象あるある」と共感。実は行動を決定するAIを作ること自体はそんなに難しくなかったりするけど、それを実機に適用するところは泥臭い作業が必要であることが多かったりします。そして、人間はそんなことを認識するまでもなくやってのけているので、このあたりの苦労が伝わりにくかったりもします。
MRファミコンは終わり際に体験させていただいたのですが、ただファミコンをプレイさせているのではなくうまくパッケージ化していてうまいと思いました。どうパッケージ化していたかは体験して確認してみてね(適当)。確かに、ただプレイさせるだけだと終わるタイミングがないですからね。壁が必要だということで段ボールのパネルを使用していました。大変そうでした。

今回の展示についてまとめてみます。

  • よかった点
    誰もが知っている/プレイできるコンテンツである
     →親子連れで来てもみんなでプレイできた
    コンセプトがわかりやすかった
     →説明も最小限で理解してもらえる
  • 悪かった点
    一人ではプレイできない
     →子供が無理やり2つのコントローラでプレイすること多し
     →これは仕方がないかも
  • 改良点
    ボタン入力の可視化ができると良いかも
     →現在誰がどのボタンを押しているかわかる

今回から東7/8ホールになって、入口からの距離が遠くなりましたが、展示スペースが広くなりました。1日目は空調がかなり効いていて、2日目は空調控えめでした。飛行物体の展示があったので影響軽減のためかもしれません。もしくは寒いとのクレームがあったのかもしれません。はてさて来年はどうなるのでしょうね。このまま規模を拡大していくのかどうするのか。そして当研究所は来年も出展できるのかどうか…。

個人的に素晴らしいと思ったのが、超小型飛行体研究所さんの展示タイトルである「空をみろ! ねこだ、やわらかい戦闘機だ、飛んでるぞ、ゆっくりだ」です。特に"ゆっくりだ"のセンスが素晴らしいと思いました。所長がこの展示のタイトルを考えたとして"ゆっくりだ"は絶対出てきません。ちなみに超小型飛行体研究所さんの展示物は"ゆっくりだ"と言えるぐらい優雅に飛行していました。

あ、アンケート回答するの忘れた…。

2017年10月23日月曜日