micro:bitを買いました(3)


pybleを使用してBluetooth通信を検証しましたのでメモしておきます。

(動作させるにはPyBLEWrapperモジュールが必要です)

現行のPyBLEWrapperだと、do_writeが無効化されているためdo_readを参考に追記しています。

こんな感じでMacOSX上のPythonからmicro:bitにbluetoothで通信が出来るのを確認しました。

 

micro:bitを買いました(2)


micro:bitはbluetoothが内蔵されているのですが、OSXとbluetoothで通信する方法を調べてみました。

micro:bit側の設定

まず、micro:bit側にbluetooth設定が必要になります。

blocksを使用している場合は、以下の方法でbluetooth設定を行います。

画面右上にある歯車アイコン(Microsoftロゴのすぐ左)をクリックして、Add Package…を選択。

bluetoothを選択。

radioパッケージを外して良いか?と聞いてくるので”Remove package(s) and add bluetooth”を選択。(現状無線関係はradioを使用するか、bluetoothを使用するかの二択となっており、両方の機能を同時に使用することが出来ません。)

ここまでの設定でBluetoothのプログラミングが出来るようになりますが、続けてPCとの接続設定をしておく必要があります。

もう一度歯車アイコンをクリックして、今度はProject Settings…を選択。

bluetoothに関する設定が表示されるので、適切なものを選択

  1. No Pairing Required: Anyone can connect via Bluetooth.
    – ペアリングは不要。自由に接続が可能。
  2. JustWorks pairing (default): Pairing is automatic once the pairing is initiated.
    – ペアリングは自動で行われます。これが標準設定です。
  3. Passkey pairing: Pairing requires 6 digit key to pair.
    – パスキーによるペアリング。micro:bit上に表示される数字を使ってのペアリング。
  1. 自分の場合はBを選択しました。
  2. bluetoothの状態と送信内容が確認出来るように以下のようなblockを作成して、micro:bitに転送しておきます。

micro:bit上のblocksはこんな感じのものを作成しました。

Mac側の設定

AppStoreからLightBlueをダウンロードしてOSXにインストール。

LightBlueを立ち上げると、BBC micro:bitというのが表示されますので、それを選択。

今回のプログラムだとBlocksでUARTを使用しているので、

  • Service: 6E400001B5A3F393E0A9E50E24DCCA9E
  • Characteristics: 6E400003B5A3F393E0A9E50E24DCCA9E

を選択します。

Write ASCIIに0〜4の値を入力(Enterで決定されますが、Blocks側の入力が改行を必要としているため、Alt + Enterによる改行も送り込む必要があります。)する事で、micro:bit上のLEDが点灯します。

.

micro:bitを買いました(1)


“micro:bit”というBBCがイギリスの小学生向けに提供しているハードウェアを入手しました。

「どのあたりが小学生向けなのだろう?」と思ったら、プログラムをしてから結果が得られるのが近いところなのかな、と感じました。

これは子供に限らないと思いますけど、初めてプログラミングをする人にとって、「初期化等の手続きが複雑すぎる」「結果がすぐに分からない」といった事は結構なのではないでしょうか。

micro:bitはそのあたりがよく考えられていて、適当に値を突っ込んでもそれなりの表示をしてくれるような工夫がしてあります。

例えば値を補正しなくても、対象範囲内に収まりやすい桁数になっている等

試しにプログラミング

ブロックを組み合わせてプログラムを組んでいきます。単にGUIにしてあるだけではなくて、ちゃんとjavascript(TypeScript)に変換出来ます。

下図では、USB経由でMac側のターミナルにシリアル出力をしています。有線でも良いならこれで、micro:bit上のセンサー情報を取得する事が出来ます。

 こんな画面。

.

ARDUBOYによる描画


ARDUBOYはモノクロなので、グレイスケール画像をディザリングして表示させてみました。

60fps出せるなら、画素を高速に点滅させる事で擬似的に階調表示がおこなえるのではないかと思ったのですが、現在のバージョンではVSyncを検出することが出来ない(物理的に結線されていない為)ようです。

同じことを考える人は沢山いるようで…

 ディザリングで表示

ディザリングも適当な処理ですが、思ったよりも見れるものになりました。

 

ARDUBOYを買いました。


Make: Japanは2年前から毎年行っているのですが、行くたびに何かしらハードを買ってしまっているような…

今年はOpen-Source Gaming PlatformのARDUBOYを買いました。

SPECは以下のような感じです。

  • CPU: AT MEGA32U4 16MHz
  • Memory: 32KBytes
  • SCREEN: SSD1306
  • OLED: 128×64(mono)
  • INPUT: 6Buttons
  • SOUND: PIezo Speaker

サイズは名刺よりも小さいです。

開発環境については名前の通りArdunoベースですので、プログラミング環境もArdunoベースで構築します。ライブラリはいくつか提供されているようですが、自分はArduboy2というライブラリを使用しました。

  特に捻りもなく、単に表示させました…

ライブラリとして提供している機能は、ビットマップの描画機能とボタン入力とサウンドとなります。サウンドといっても様々な音色が出せるわけではなくブザーが鳴るだけです。

5,000円程度でここまでのものが買えてしまうというのは、個人的には驚きです。

WACOM EK Remoteの設定を更新


WACOMのEK Remoteを使っているのですが、いままで「ペン」「消しゴム」「水彩」程度しか割り当てていなかったので、いくつか設定を追加してみました。

設定一覧

ArtRage5向けですが、一部ArtRage側にキーボードショットカットの追加が必要になっています。

Surface Pro2にArtRage5


Surface Pro2にArtRage5をインストールしました。

もしかしたらExpress Key Remoteが使えないかな…と、淡い期待を抱いて、WACOMのタブレットドライバを試しにインストールしてみたところ、Express Key自体は認識してくれるものの、ペン入力がまったく使い物にならなくなってしまいました。

サポート外とはいえ、ちょっと残念…でも、これでArtRage5を持ち運べるようになりました。

使う機会があるかは解りませんけど、外で絵を描く機会があった時に、未設定のArtRage4しか入ってなくてちょっと悔しかったもので。

.

下はSurface Pro2 + ArtRage4で描いたイラスト

 久しぶりにワンドロに参加して描きました。

circlecheckにイベントを追加しました


2015年10月03日に開催予定の「グルメコミックコンベンション #6」向けのcirclecheckを追加しました。

Garmin Vivosmart を買いました


Garmin Vivosmartを買いました。

http://sites.garmin.com/en-US/vivo/vivosmart/

簡単に説明すると腕時計 + 万歩計です。

iPhoneとBluetoothで同期させることで、メールの着信や管理リモコンとしても使用可能です。

有機ELの表示がちょっとカッコイイ…と、買うまでは思っていたのですが、実際にはちょっと曇った感じの表示です。

まだ使い始めて二日程ですが、いかに運動不足かってのを思い知りました。一日の達成度としては大体70%ぐらいでした。

ちなみに、あまりに動きが検知されないと、バイブレーションと表示(MOVE!)で運動を促されます。

…もっと運動しないと。

droboを購入しました


バックアップ用のストレージとして、droboDrobo5Nを購入しました。

DroboDashboard DroboDashboard

自分の用途からはここまでのシステムは不要なのですが、RAID環境を楽に構築したいために導入してみました。

BeyondRAID

BeyondRAIDはdroboに搭載するドライブの数にあわせて、自動で冗長化構成を取ります。(Drobo5Nは最低2台のドライブを搭載する必要があるようです。)

具体的には、

2台搭載時はRAID1相当

3台以上搭載時はRAID5相当

となります。

また、4台以上のドライブ構成の場合は、RAID6相当にすることも可能です。

DroboDashboard_DDR

Dual Disk Redundancyにチェックを入れるとRAID6相当の構成を取ることが出来、二台同時に障害が発生しても耐えることが出来ます。

購入したDrobo5Nは3.5inch用のドライブベイが5つ搭載されているので、4台のHDDを搭載してDual Disk Redundancyを有効にしました。

DroboDashboard_DISK

思い切って3TBytesのHDDを4台搭載しました、頻繁に利用するデータをキャッシュさせるためにmSATAも追加しています。

RAID6相当の構成ですので、実際にストレージとして使用可能な領域は5TBytes程度になってしまいます。

というわけで、すんなりとRAID6環境の構築が完了しました。まだスロットが一つ余っているので、更にHDDを増設することも可能ですし、当分はこれ一台あれば充分かも?

搭載したHDDとmSATAについて

BeyondRAIDは、わりと自由なHDD構成を取ることが出来るのが利点なのですが、いくつか注意点があるようで、「省電力モードに移行するHDDとは相性が良くない」「回転数の異なるHDDを搭載すると読み書き速度が低下する」

異なるメーカー、異なる容量、異なる回転数、HDDとSSDの混在といった環境でも動作するのがBeyondRAIDの利点ですが、あえて異なる容量を使用する理由もないため、以下の構成をとりました。

Storage

TOSHIBA MD04ACA300(4台)

Hot Data Cache

Intel SSDMCEAW12

これはなくても動作するのですが、自分が取り扱うファイルは小さなファイル容量のものが多いため、追加購入してみました。

このページへのリンクやツイートによる共有はご自由にどうぞ