2019年8月25日日曜日

VirtualBoxでpetalinuxツールとビルド

前回の続き。今回は「ZYBO(Zynq)初心者ガイド」の8回目になる。

まずは、Windows10ホストにVirtualBoxをインストール。それから、VirtualBox上にubuntuを構築する。

VirtualBoxは今回初めて使ったので、ちょっと手間取ってしまった。
作業の前にきちんとXilinxの資料を読めばよかった。メモリーやディスクの推奨サイズが書いてあったのに見落としていたため、ツールのインストールができなかったとか。

必要なLinux環境は、メモリー4GB以上、ストレージ100GB以上なので、作成するVirtualMachineはそのように設定する。VirtualMachine上でLinuxをインストールする際にはサイズを圧迫しないようにGUIなしコンソールのインストーラーを実行した。

次に、Windows10ホストとVirtualMachine間でファイルのやり取りができるようにしなければならない。方法は2つあり、ひとつはSCPによるファイル転送、そしてVirtualBoxのShared foldersを利用する方法。
はじめは、Shared foldersを試してみたのだが、共有するためにVBoxGuestAdditionsをLinux側に追加で実行する必要があった。しかし、なぜか共有したフィアルの持ち主やパーミッションを変更できず、実行できなかった。
この方法はあきらめて、SCPの方法に切り替えた。すると今度はWindows10ホストとubuntu間でネットワークがつながらない。これは、ubuntu側にSSH、Windows側にSCPソフトをインストール。そしてNetworkのデフォルト設定がNATだったのをBridgeに切り替えることでつながった。
Network設定をBridgeに切り替えたところ。

ubuntuに不足しているパッケージを追加。
このあと、あらかじめDLしておいたpetalinux-v2019.1-final-installer.runをubuntu側じへSCPで転送し実行。

ここまで何度かTryAndErrorを繰り返して、ようやくたどり着いた。

VivadoでPSだけのハードウェアを作成してバイナリーを作成。このあと、SDKでプロジェクトを作成して保存。
SCPで、project_6.sdkフォルダーを丸ごとubuntu側に転送。
Xilinxの資料にあるように、petalinuxツールでイメージファイルを作成する。
作成できたイメージファイル(BOOT.BINとimage.ub)をSCPでWindowsへ転送。
FAT32フォーマット済みSDカードにコピーして、PYNQ-Z1にSDをセット。
PYNQ-Z1をSDブートにピン設定して電源ON、TeraTermのシリアル接続で起動を確認。
PYNQ-Z1が立ち上がったら、ID/PW=root/rootでログイン。

ようやく「Linux起動」ができた!
今日はここまで。

2019年8月18日日曜日

Xilinx 開発ツール Vivado Design Suite

Xilinx社のFPGA開発ツールを触るのは約10年ぶりか。随分と様変わりしている。


Vivadoを触るのは初めてなので、まずは学習から始めなくては。
ライセンスは持ってないので、無料のお試しでスタート。期間は30日。

学習には「ZYBO(Zynq)初心者ガイド」を使った。とてもよくまとまっていると思う。

このサイトを利用する際に注意すべき点は、ボードが異なるということ。ZYBOというボードは、ZYNQ-7020を搭載しているという点では同じだが、周辺の回路がPYNQ-Z1とは異なる。

PYNQ-Z1は、ZYBOと同じDigilentから販売されている。

VivadoのProjectを作成する際に、ボードを選択するのだが、あらかじめボードリストを追加しておく必要がある。Digilentのサイトからボードリストが取得できるのだが、このリストの中にはPYNQ-Z1が入ってない!?

もう少し調査したところ、実はPYNQ-Z1は、DigilentのArty-Z7-20と電源スイッチの有無が異なるぐらいでほとんどコンパチだということがわかった。
Vivadoで追加した「Arty Z7-20」を選択中。

これで、初心者ガイドの「1回目:開発環境の準備」と「2回目:HelloWorldプロジェクト」はできた。

次の「3回目:PSのGPIOでLチカ」だが、これはPYNQにはPS側のLEDが無いためスキップ。

この後、「7回目:ブートイメージを作る」ところまでをPYNQ-Z1で動作確認ができた。

今日はここまで。
(この後は、Linuxが続く。)

2019年8月16日金曜日

テスラ スイッチ

マイニング用のFPGAボードを作りながら、フリーエネルギー装置はどうしようかと考える。
この前の記事にも書いたが、マイニングをやるからには、電源もなんとかしたい。しかし、今実験中のものはどれも時間がかかり過ぎる。

もう一度、すでに知っている装置のうちから、短期間で確実に作れそうなものがないか考えてみた。その中から、ひとつ気が付いた。
そうだ!「テスラ スイッチ」だ!と。
これなら、必要なパーツも少なく、入手可能なもので作れそうである。
Tesla Switchの回路。バッテリー4個とスイッチ、ダイオード、コンデンサーから構成される。


"Tesla switch"で調べた結果から:
a) フリーエネルギー技術開発の特徴と種々相
b) ドラード博士の1980年製カローラはデロリアンだった!?:「フリーエネルギーヒューズボックス」搭載!

a)は貴重な日本語による資料提供をして下さっているサイト。感謝!
文中の図で間違いなど指摘を受けているようだが、フリーエネルギー関連のソースが間違っているなんてことはよくあること。それに気が付けるかどうかも技量でしょうか。
自分なりに疑問に思う点がいくつかあるが、結局のところ実験してみるしかない。
例えば、スイッチ周期が100Hzがベストで800Hz以上は危険というのはスイッチの構造上の問題ではないだろうかとか、出力側になぜコンデンサーを入れているのだろうかなどなど。

b)は、以前ここのBlogで紹介したテスラ本の著者のサイト。
この記事の中でドラード博士が手に持っている振動子と呼ばれるスイッチの写真とかすごく参考になる。スイッチは、モーターで回転させるスイッチでなくても良くて、電磁石でスイッチをON/OFFする方法もありだと教えてくれる。

自分は常々ソリッドステートは使わない方が良いとの考えだ。それは、非常にデリケートな半導体を保護するための回路が、COPの足かせになっているのではないかと思うから。一般的に電子回路ではノイズやスパイク波などを出来るだけ生じさせないようにする。しかし、フリーエネルギーの源は、このノイズやスパイク波の中にこそあるのではないだろうか。
従ってTesla switchの資料に必ず出てくるBediniさんの考えたような電子回路ではなく、まずはアナログなスイッチで実験してみたい。

3DプリンターのABS対応

3DプリンターのフィラメントはこれまでPLAばかり使ってきたのだが、ちょうどPLAフィラメントが終わりに近づいたので、ABSに切り替えてみることにした。

プラスチック素材としてのPLAは、天然由来なので安心感があり、比較的使いやすい素材だったので使い続けていた。しかし、プラスチックとしては硬くてもろいため、加工性が悪くて使いづらいと感じ始めていた。
一方、ABSはPLAよりも加工性が高い。一般で売られている沢山のプラスチック製品に利用されていることからもプラスチック素材としての利用しやすさは明らか。

ABSフィラメントのシルバーを購入。

3Dプリンターでは、PLAよりも温度を高く設定する必要がある。
ノズル部は240度前後、ヒーテッドベッド部は100度前後だ。
それから、適切に温度管理をしないと造形物が剥がれたり割れたりするようだ。
そういうことから、3Dプリンター全体をカバーで覆うことにした。

3Dプリンターにカバーをつけた状態。

ノズルやベッドの温度は、スライサーソフト側で設定する。
普段使っているKisslicerに新しいマテリアルとしてABSを追加。
Wizardを使って追加しようとしたところ、ABSのデフォルト登録があり、その中で温度がノズル:235度とベッド:93度に設定されていた。そのまま利用。

しばらくこれで様子をみてみよう。

PYNQ-Z1 Getting StartとJupyter Notebook

まずは、入手したPYNQ-Z1ボードを動くようにしてみる。

ググったら、以下のような記事を見つけた。

PYNQ-Z1で始めるDeep Learning on FPGA入門(その1:購入からJupyter NotebookでLチカまで)

早速、この記事を参考に作業開始。

1)microSDカード16GBを用意。
2)PYNQ公式サイトからimageファイルをDL
3)同公式サイトの「PYNQ getting started guide」のリンクから、Windows10マシンからimageを書き込む方法を探し出す。そしてdiskimagerというソフトを使ってSDカードにimageを書き込んだ。
4)「PYNQ Setup Guide」の通りにボードの設定を行って、USBから電源供給。PowerをON。
5)ボード状のLEDが点灯し、正常に起動。
6)Windows10のネットワーク設定を開き、LANのIPアドレスを一時的に192.168.2.1/255.255.255.0 に変更。
7)PYNQ-Z1をLANに接続する。
8)Windows10でブラウザを立ち上げて、http://192.168.2.99:9090/を開く。すると、Jupyter Notebookページが表示される。
9)パスワードは、"xilinx"
10)Jupyter Notebookを使って、「Lチカ」プログラムを書き込んで実行する。

と割と簡単にLEDの点灯まで行くことができた。

このままだと、Windows10の固定IPがいつもと異なっていためネットに繋がらない。それは困るので、Windows10にWifi接続を追加。インターネットはWifi経由でアクセスできるようにした。

今回初めてJupyter Notebookを触ったのだが、これはあらかじめ用意されたライブラリを使ってpythonから簡単にボードをコントロールできますよ、という程度のおもちゃみたいなものだと知った。これではラズパイでできることと同じで、FPGAの柔軟性の高いロジック回路作りの面白さがほとんど味わえない。まあ、今後の展開に期待するとして。。。

私が目指している目標は、マイニングなのでJupyter Notebookはこの程度で終了。

やはりFPGAにHDLを書き込んでしっかりと使いたい向きには、Xilinxの開発ツールを使わなければならないようだ。

2019年8月12日月曜日

MacBookPro 液晶ディスプレイの無償修理に出してみたら

2015年12月に購入した MacBook Pro 13inch Retina が、液晶ディスプレイの表面コーティングがどんどん剥がれてきて、画面をのぞき込むたびに気になっていた。

ネットで同じようなことで悩んでいるMacユーザーが、無償で修理したとの情報(「MacBook proの液晶コーティング剥がれ無償修理したよ!Appleの保証期間切れでも料金無料で交換可能」)を見つけてあった。購入から4年が近づいてきたのでこのお盆休みの間に交換しておくことにした。

先週土曜日にApple Supportに電話連絡をとり、月曜日の夕方にヤマトの集荷でMacBookを渡した。

翌日(火曜日)の夜、サポートから連絡を欲しいとのメールが届いたので、その次の日(水曜日)に電話をした。
メールの要件を確認したところ、バッテリーの膨張が見つかったので交換しましょうかということだった。金額を聞くと19,800円(税抜き)とのこと。少し悩んだが、このタイミングで交換した方が良いと判断して交換してもらうことにした。

その週の金曜日に宅配で届いていたのだが、不在だったため、翌日(土曜日)に再配達してもらった。

丁寧に梱包されて帰ってきた MacBookPro。

いままで液晶保護フィルムをつけていなかったが、今回は反省して Amazon でフィルムを購入しておいた。
 
MacBook Proの蓋にあたる液晶ディスプレイの部分が新品に交換されていた。そこへフィルムを張り付けた。画面が見違えるようにきれいになった。

それと、バッテリーを交換するとキーボードも一緒に交換するらしい。それで、MacBook Proがほとんど新品同様にレストアされたのでした。

液晶ディスプレイだけを無償で交換修理しようとしたけれど、バッテリー交換が増えてしまったのは、Appleにしてやられた感もあるが、新品同様のこの姿を見たら良い仕事をしてくれたなと、納得してしまった。

しばらくはこのMacBook Proを手放せなくなってしまったかも。

2019年8月11日日曜日

FPGAマイニング

マイニングは電気代がかかるそうなので、ならば、専用チップの方がエネルギー効率が良いと考える人も居たようで、ASICという専用ICチップを作り、それを使うこともやっているそうだ。

このASICマイニングは相当に計算が早くパフォーマンスが良いそうで、PC+GPUでは太刀打ちできないとか。
しかしASICにも弱点、死角があって、一部のコインしか対応できないそうである。それにASICチップを開発するだけで数億円がかかるとも言われるため全てのコインは網羅できない。だから資金がない者は簡単に手が出せる方法ではない。

FPGAマイニングは、GPUマイニングとASICマイニングの中間的存在。GPUよりも計算が早くなり、しかも電気代が安くなる。ASICと計算競争では負けるが、柔軟性が与えられるために対応できるコインが増える。新しいコインへの対応は、GPUよりも敷居が高い。FPGAを使うためにはゲート回路設計ができなくてはならず、HDL言語を知る必要があるという欠点がある。これは一般人にはほとんど手が出せない。
スタートが出遅れた私のようなものには、このFPGAマイニングがちょうど良い方法になりそうだ。

早速FPGAマイニングを調べてみた。
マイニングマシンは国内で2〜3社が販売している程度。おそらく1台数十万円はするだろう。ちょっと荷が重いのでパス。

次に、技術書典の「FPGA×仮想通貨」という出版物を発見したので、早速購入して読んでみた。
これは挑戦してみる価値がありそうだと思った。まず、FPGAボードに使うPYNQ-Z1は秋月電子で販売されているので、3万円程度の予算で始められそうでFPGAマイニングを体験するにはちょうど良いと判断、早速購入した。



マイニングの電気代とフリーエネルギー

仮想通貨といえば、マイニング。コインを採掘すれば、そのコインは自分のものになる、、なんてゲームのヴァーチャル世界でありそうなことが、現実となった。

多くの人が、マイニングというコンピュータの計算を行うようになった。それこそ現代版のゴールドラッシュ。ビットコインの価格急騰と相まって、一攫千金を狙う者が急増した。

マイニングについて、その詳しいことは別のサイトで調べて頂き、ここでは何を考えているのかを述べる。

マイニングは、それを実行するための計算プログラムが存在し、実行するためにPCを使う。PCにGPUボードを何枚も載せてやると計算速度が早くなる。しかし、このGPUは電力消費と発熱が激しくて、マイニングで利益が出るか出ないかは、電気代が大きな足かせになる。

マイナーさん達は、電気代の安いところや涼しいところを探したりしているそうである。
日本国内、それこそ都内などはマイニングを実行するには適さないのだ。

しかし、フリーエネルギーがあれば、こういった事態を激変できそうである。つまり、電気代を気にすることなく、それこそ都内でマイニングができる、ということになる。

つまりフリーエネルギーとマイニングはすごく相性が良いのではないだろうか。

こういうところから、案外フリーエネルギーがどんどん受け入れられて、普及するのではないだろうかと思ったりする。なにせ、マイナーさん達は、賢い。フリーエネルギーは存在しない、フリーエネルギーは嘘だ、詐欺だと声を大きく発言している既得権益の回し者など気にすることなく、実利の有無をしっかりと見極めてくれるだろうから。

今後の動向に期待したい。

2019年8月10日土曜日

仮想通貨

仮想通貨について、ようやく興味がでてきたので資料を集めだしたところ。


仮想通貨の良いところは、通貨発行量が一定で、人為的にコントロールができないところにあるという点かな。

Facebookの「リブラ」の登場は、かなりの衝撃があったらしくトランプ大統領ですら無視できないでツイートしているようだが。まあ個人的には、リブラはFacebook社がコントロール可能な仮想通貨なので上記の良い点がないので純粋さに欠けると思っている。
しかし、これまでの国が発行する通貨が絶対ではなくなってしまう訳だから、相当なインパクトがある。

仮想通貨の今後が楽しみ。