Bitzenyを採掘する

Bitzeny

日本発のオルトコインの一つ。主要取引所では扱いが無いマイナーな草コインで、日本円への換金にはやや難があるもののまだ20円/コインと単価が安く採掘効率は相対的に良い。あとCPUで採掘できるハッシュアルゴリズムを使っているので、他のGPUで採掘するコインと並行して同じマシンで採掘できる。下記の記事を参考にした。

www.flying-gadget.com

ウォレットを手元で動かす手順となっているけれど、プールマイニングするなら手元にウォレット(BitZeny Core)を置かないで、オンラインウォレットを使っても問題ない。

bitzeny.jp

SSLライブラリを入れる

Bitzeny公式からwin64-sseのWindows 64bit 11/10版のマイナーを取得して起動すると、libeay32.dllとssleay32.dllが無いと言われたので探してきて同じフォルダに置いたら起動はできた。

エラーコード0xc000007b

その後も、0xc000007b のエラーが出てマイニングが始まらない。

このエラーは、実行ファイルとDLLが32bit用と64bit用でミスマッチしているときに出るもののようだ。今回はlibcurl.dllが32ビットだったようなので下記のものに差し替えたらマイニング開始できた。

www.dlldownloader.com

左側の「for 64 Bit (x64)」と書いてある緑色の0.21MBのリンクから取得した。

LA Monacoin Pool と LA Bitzeny Pool の Worker を住み分ける

LA Monacoin Pool では BitzenyのWorkerとMonacoinのWorkerは同一のリストで管理されているので、BitzenyとMonacoinのWorkerのuser名は重複しないようにする必要があることに注意。他のプールプラットフォームでも同じかも。

モナコインを採掘する

モナコイン

日本では早くから2chなどで流通が始まっていてコミュニティがあり、仮想通貨の先駆けとして興味は持っていた。 近年のビットコインの高騰もあり、VRやってない時にグラボを使えることもあってモナコインの採掘を試すことにした。 仮想通貨の採掘方法は、ソロ採掘、プール採掘、クラウドマイニング、が主なパターンで、手元のグラボ使えるのはソロかプール。 ソロは掘れない日が続くことがあるけどプール用のアカウント登録などが要らず、外部との通信も気にしなくて済むのでとりあえずソロで試すことにした。 下記のブログが参考になった。

fuwa-moco.com

ウォレットを起動して1日かけてハッシュを同期して、同時にCUDAを入れて、最後にccminerを起動するだけ。案外簡単だ。 やってみたところ、GTX1070を使ったハッシュレートは約31.3MH/s程度になった。

ccminerを更新

上記にあったccminerはCUDA8用のようだったので、CUDA9に対応したものに更新してみた。

github.com

2.2-mod-r2-CUDA9.binary.zip を使用。ご提供ありがとうございます。 ただGTX1070を使ったハッシュレートは約32MH/sでほぼ変わらなかった。

採掘レートを試算してみる

下記のサイトの右側の「採掘資源量を登録する」に自環境の採掘レートを入れると、一日平均何Monaが採掘できるか確認できる。

Monacoin Charts

たとえば、「採掘資源量」に「32,300KH/s」(32.3MH/s)を入れると「予想採掘量/day 0.24MONA (311円相当)」となる。 いまモナコインの採掘報酬は25コインごとなので、ソロで掘り当てたら一気に25モナが手に入ることになる。 しかし、ソロだと、当たらなければいつまでもゼロ収入が続く。25を0.24で割ると100以上になるので、当たるまで平均100日はゼロ収入で採掘を続ける計算になる。 一方でプール採掘だと、掘り当てたコインをプールの皆に分配しなければならないので、プール採掘中に自分が25モナを掘り当てても独り占めできなくなるけれど、プールの誰かが掘り当てたときに少しずつ分け前を貰えるので、収入をこまめに継続的に得ることができるようになる。プール採掘にしたほうが心の安定が保てそうだから、移行することにする。 バクチ好きな人はソロで続けるハートもあるかもだけど、普通のPC環境の人はおとなしくプール採掘にするのがよさそう。

プールに参加する

下記のページを参考にプールに登録してみた。

www.flying-gadget.com

参加したのは下記のプール。プールのダッシュボードで、自マシンのworkerが稼働しているのがわかれば、OK。

LA Monacoin Pool - Home

SpaceFaucetでモナコインをもらう

モナコインのウォレットに入金ができるか試すため、少量のモナコインを貰ってみた。数秒で着金できた。ありがとうございます。 http://utyuu.space/spacespace-faucet/

Unityの3DプロジェクトをVisual Studio Projectにエクスポートしてビルドする

基本的には、Exporting and building a Unity Visual Studio solution の手順に従えばできる。

Holograms 100 の Chapter6の手順も、だいたい同じ。

まずFile->Build Settingsのダイアログで「Unity C# Projects」にチェックを入れてビルド。

f:id:sunasaji:20170905005512p:plain

あとは Windows の Explorer でビルド先ディレクトリを開いて、中にある拡張子SLNのファイルをVSで開いてコンパイルするだけ。

Unityからのエクスポートは毎回する必要はなく、下記を変えたときにやればよいようだ。→ Exporting and building a Unity Visual Studio solution

  • You add or remove assets in the Project tab.
  • You change any value in the Inspector tab.
  • You add or remove objects from the Hierarchy tab.
  • You change any Unity project settings

ビルドすると、複合現実ポータルでWinキーを押してアプリ一覧から自分のアプリを呼び出したり、メインディスプレイのWinメニューから自分のアプリを呼び出して、Windows Mixed Realityデバイス内でVRアプリをプレイできる。

視界に浮かぶ美しい豆腐。

f:id:sunasaji:20170905012325p:plain

VS2017+Unity2017.2.0b9でWinMR開発

手順の整理を兼ねて、別のWin10機でもWindows Mixed RealityデバイスでUnityのプレビューができるようにしてみた。

環境

  • Unity: 2017.2.0b9
  • Visual Studio Community 2017: Version 15.3.3 (26730.08)
  • OS: Windows10 Home Insider Preview (16281.rs3_release.170829-1438)
  • PC本体:自作(CPU:Intel Core i3-6320, マザボ:ASRock H110M-ITX/D3, CPU内蔵GPU) ややカク付くけどこのスペックでも複合現実ポータル動いた。
  • メインディスプレイ:DVI接続
  • Acer AH100:USB3+HDMI

手順

公式手順

基本的に公式手順に従う。ただし以前と同様に「Unity Mixed Reality Technical Preview」の項目と、下の方の「For DirectX development:」と「Update graphics drivers」はパスした。 Windows Insiderの設定は、「次のバージョンのWindows」と「ファースト」を選択した。

Install the tools

Unity Beta 2017.2.0b9 インストール

f:id:sunasaji:20170904011854p:plain f:id:sunasaji:20170904011928p:plain

サンプルの3Dキューブを表示するUnityプロジェクトを作る

下記の手順でとりあえず白い立方体を表示するだけのアプリを作る。

Holograms 100

ただし、説明では「Edit」->「Project Settings」->「Quality」で「Fastest」を選ぶとあるが、「Fastest」ではなくて「Very Low」となっているので、注意。 Defaultの右にある、二つ目の「▼」から選択できる。

f:id:sunasaji:20170904013553p:plain

また、「Build Settings」->「Player Settings」で「Virtual Reality Supported」を選ぶチェックボックスは、「Other Settings」ではなくて「XR Settings」の中にあるので、注意。

f:id:sunasaji:20170904013157p:plain

更に、デフォルトでは、「Build Settings」画面に、「Currently selected scripting backend (IL2CPP) is not installed.」という警告が出る。これは「scripting backend」に、インストールされていない「IL2CPP」が指定されているため。インストール済のscript backendに変更すればよい。

f:id:sunasaji:20170904014348p:plain

「Player Settings」ボタンをクリックして、「Inspector」ビューの「Other Settings」タブの「Scripting Backend」を「.NET」にする。

f:id:sunasaji:20170904014416p:plain

あとは、手順に従って、UnityのPlayボタンを押せば、AcerのImmersive Deviceで立方体がプレビューできる。

参考

Windows Mixed Reality用のUnityプロジェクトをビルドする手順

Unity development overview

VS2017+Unity2017.2.0b8でWinMR開発

AcerWindows Mixed Realityヘッドセットが届いたので、Unityから使えるようにセットアップした。 冗長なところがあるかもしれないけれど、環境や手順を記録しておく。

環境

  • Unity: 2017.2.0b8
  • Visual Studio Community 2017: Version 15.2 (26430.16)
  • OS: Windows10 Home Insider Preview Version 1703 (16275.1000)
  • Universal Windows Platform SDK (10.0.16267.0)
  • PC本体:ドスパラ GALLERIA VR WEAR HG (今は売り切れだけど、持ち運びもできてスペックも良いので気に入ってる)
  • mini Display Port - VGA変換アダプタ (miyoshi DPA-2KDS/WH) (メインディスプレイ用。これが無いと、ヘッドセットのセットアップがうまくいかなかった)

www.dospara.co.jp

手順

OS設定

下記のMicrosoftの公式手順に従って Immersive Headset の開発環境を構築する。

Install the tools

ただし「Unity Mixed Reality Technical Preview」の項目と、下の方の「For DirectX development:」と「Update graphics drivers」はパスした。 Windows Insiderの設定は、「次のバージョンのWindows」と「ファースト」を選択した。

f:id:sunasaji:20170829232407p:plain

後は、公式通りアップデートして、Windowsの開発者モードを有効にした。

Visual Studio 2017を設定

Visual Studio 2017をインストールして起動し、ファイル→新規作成→プロジェクトを選ぶ。

f:id:sunasaji:20170829233656p:plain

Visual Studio インストーラーを開く」をクリックする。

f:id:sunasaji:20170829233844p:plain

「ユニバーサルWindowsプラットフォーム開発」を選択する。 右下の「オプション」の「Windows 10 SDK」もチェックした。「VRエンジニア養成読本」のHololens入門の記事に書いてあったため、念のため入れた。 ここでは「C++によるデスクトップ開発」は選択しなかったけれど、私の場合は、後で結局入れることになった。

f:id:sunasaji:20170829234302p:plain

下の方にスクロールして、「Unityによるゲーム開発」もチェックする。

f:id:sunasaji:20170829234407p:plain

「続行」を押してしばし待つ。

f:id:sunasaji:20170829234447p:plain

Unityを設定

適当なプロジェクトを開く。私の場合は、ドットインストールのUnity入門を一通り終えて、BallGameを作るところまでやっていたので、これを流用した。

http://dotinstall.com/lessons/basic_unity

「File」→「Build Settings…」を開く。「Universal Windows Platform」を選択して「Switch Platform」を実行する。 以下の設定をする。

Target device: any device
Build Type: D3D
SDK: Latest Installed
Build and Run on: Local Machine
Development Build: (check)

f:id:sunasaji:20170830014636p:plain

「Player Settings」を開く。

「XR Settings」の「Virtual Reality Supported」をチェックする。

「Stereo Rendering Method」を「Single Pass Instanced (Preview)」にする。

IL2CPPをインストール

私の場合は、このときUnityの「Build Settings」画面に、「Currently selected scripting backend (IL2CPP) is not installed.」という警告が出て、ビルドができなかった。

f:id:sunasaji:20170830000711p:plain

後で気が付いたのだが、scripting backendは、「Player Settings」ボタンをクリックして、「Inspector」ビューの「Other Settings」タブの中で設定できるようで、ここに「IL2CPP」が指定されていたため、出ていたメッセージだったようだ。ここで「IL2CPP」の代わりに「.NET」を選べば「IL2CPP」は入れなくて済んだかもしれないが、私は「IL2CPP」を入れることを選んだ。ちなみにIL2CPPはC#C++に変換する仕組みらしい。

f:id:sunasaji:20170830001502p:plain

Unityのインストーラを再度起動して、「Windows Store IL2CPP Scripting Backend」にチェックを入れて、しばし待つ。

f:id:sunasaji:20170830000958p:plain

f:id:sunasaji:20170830001014p:plain

Unityプロジェクトのビルド

ようやくビルドできるようになったので「Build」を押す。ビルドディレクトリが聞かれるので適当に「Build」などのディレクトリを作ってビルドする。

f:id:sunasaji:20170830001301p:plain

ビルドされたプロジェクトをVS2017で開く

「見つからない機能のインストール」ダイアログが開き、「C++ユニバーサルWindowsプラットフォームツール」と「C++によるデスクトップ開発」のインストールを促されるので、素直に従う。

f:id:sunasaji:20170830002408p:plain

ソリューション操作の再ターゲットをする

以下のようなエラーが出る。

C:\Users\sunas\Documents\BallGame\Build\BallGame\BallGame.vcxproj : warning : Visual Studio 2015 (v140) のビルド ツールが見つかりません。Visual Studio 2017 (v141) ビルド ツールを使用してビルドするには、[プロジェクト] メニューをクリックするかソリューションを右クリックし、[ソリューションの再ターゲット] を選択します。Visual Studio 2015 (v140) ビルド ツールを使用してビルドするには、Visual Studio 2015 (v140) をインストールします。 C:\Users\sunas\Documents\BallGame\Build\Il2CppOutputProject\Il2CppOutputProject.vcxproj : warning : Visual Studio 2015 (v140) のビルド ツールが見つかりません。Visual Studio 2015 (v140) ビルド ツールを使用し、Visual Studio 2015 (v140) をインストールしてビルドします。

エラーメッセージに従って「プロジェクト」メニューから「ソリューションの再ターゲット」を選択する。この後、Ctrl+F5を押してビルド・実行したらPCの全画面が白くなって操作不能になった。ctrl+alt+delを押すとかWinキーを押すなどして何とか復帰した。

再度Unityを開き、ビルドして、Unityの再生ボタンを押す。

Windows Immersive Headsetが反応してVRでアプリがプレビューできた。

参考

・MSの公式手順

https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools#installation_checklist_for_immersive_headsets

・MSのMixed Reality開発情報ページ

https://developer.microsoft.com/en-us/windows/mixed-reality/development

・詳細な解説記事。こちらは、Scripting Backendに「.NET」を指定している。

tks-yoshinaga.hatenablog.com

・VRエンジニア開発読本

Hololens関連の記事を参考にした。

Unity2017.1.0f3でMaterialに着色する

VRアプリ開発のためVRヘッドセットを買って、DotinstallのUnity入門を始めた。

http://dotinstall.com/lessons/basic_unity/24607

途中までは順調だったけれど、「#07 Materialを使ってみよう」の所で詰まった。Floorコンポーネントに赤色のMaterialをドラッグしても、赤色にならない。解決するためには、「GameObject」メニューから「Camera」を追加すればよかった。下記のページが参考になった。

techacademy.jp

 

RasPi2とaitendoの液晶M022C9328SPIで動画を再生

こちらの記事に書いたaitendoの液晶、M022C9328SPI で、動画を再生してみた。

suna.hateblo.jp


RasPi2と液晶で動画表示1

取り付けた液晶に映像を出力するために、fbcpを使った。再生にはomxplayerを使った。結構なめらかに再生される。

fbcp でフレームバッファ出力を /dev/fb1 に出す

RasPiは、デフォルトではフレームバッファバイスの /dev/fb0 に映像を出力していて、通常はHDMI端子に繋いだ外部ディスプレイに映像が表示される。 しかしSPIで取り付けた液晶のデバイスは /dev/fb1 となる。デフォルトでは、こちらには映像が出ない。 そこで、fb0 のデータを fb1 にコピーするツール、fbcp を使う。cmakeを使ってコンパイルする。 下記のページを参考にした。 sioslab.blog.fc2.com

github.com

(1) install cmake

コンパイルにcmakeを使うので、入れる。

$ sudo apt-get install cmake

(2) git clone

ソースを頂く。

$ git clone https://github.com/tasanakorn/rpi-fbcp
$ cd rpi-fbcp

(3) build

ビルドする。

$ mkdir build
$ cd build
$ cmake ..
$ make

(4) install

インストール。

$ sudo install fbcp /usr/local/bin/fbcp

(5) 実行

$ fbcp &

omxplayerで、サンプル動画を再生する

画面解像度に合うMP4のサンプル動画をWebで拾って試した。

$ omxplayer samplevideo.mp4

こんな感じになる。


RasPi2と液晶で動画表示2

小さな画面で、綺麗にぬるぬる動いてくれて嬉しい。