FreeCADを使ってみた

Wings 3Dに引き続き3Dデータの作成に挑戦するため、やはりSynapticでLinuxMint 18 x64の環境にインストールできるFreeCADを試してみました。

試行錯誤しながら動かしていたのですが、自分のように他の人が3DCADを使っているところを見たことがあれば、こちらの紹介記事をみながら何とか使えそうな感じです。操作で最もわからなかったのが、視点の変更。平行移動がマウスの中ボタン(スクロールホイール)を押しながらマウス移動、回転させるのが中ボタン+左ボダンを押しながらマウス移動ということです。

で、あれこれしながら作ってみたデータはこんな感じ。

sample1

何かの基板を入れるようなケースを意図して作ってみたのがこんな感じ。

sample2

データ作成にあたっては、各オブジェクトの位置(穴や凹みは引き算で作ってますので、引くためのオブジェクトも含む)の座標や大きさなどを数値で打ち込んで行くイメージになりそうな感じです。なので、ラフスケッチのイメージを作っておいてから作業着手するのが良さそうです。3Dプリンタで簡単なものを作ったり、KiCAD用の3Dモデルを作る程度であれば、自分でも何とか使えそうです。(KiCADに持っていく方法やピンを作る方法は別途考えないといけないですが・・・)

他に少し古いバージョンを対象に書かれているようですが、こちらのサイトも参考になりそうです。

Wings3Dを使ってみた

久しぶりにKiCADを使って設計をしているのですが、出来上がりのイメージを高めるwには、やはりライブラリに3Dデータが欲しくなります。

で、無料で3Dプリンタ用データを作れるフリー3Dソフト一覧というページを参考にしてLinuxで使えるツールの中から、SynapticでインストールできるWings 3Dを試してみました。

オープンソースであることと、UIがシンプルで初めての人にも使いやすい、ということが特徴のようです。

で、早速Synapticからインストールして試してみました。

Wings3D

基本の図形を並べて変形させていくような感じの操作方法で、精密なデータを作るのは多少しんどいかもしれないのですが、作ったデータはKiCADで使うデータは基板製造用のガーバーデータには関係ないですし、雰囲気がわかればいいのでまずまずの印象でした。

・・・が、本番のデータ作成にトライしてみようと、そこまで試しに作成してみた形状を保存しておこうとしたところ、

Wings3DError

となって保存できませんorz。

うーむ・・・。

 

AndroidタブレットをLinuxのサブディスプレイにする

外出時にノートPCで作業していると、1366×768の画面ではどうしても狭く感じます。・・・で、ぐぐってみたところ、AndroidをLinuxのサブディスプレイにする方法がある模様。どうやらVNCを使うようなので、やってみました。

環境は以下の通り。

  • サーバ側はLinutMint18 x64
  • クライアント側はNexus7(2012) + Android4.4.4

です。

作業にあたってはこちらのサイトを参考にさせていただきました。

1.Linux側(サーバ側)

Synapticでvnc4serverをインストールします。vnc4serverを使うのはSynapticにあるからです。

インストールしたらVNCサーバを起動します。

$ vncserver :1
You will require a password to access your desktops.
Password: ********
Verify: ********

起動したら接続用のパスワードを設定します。パスワードは8文字までで、8文字を超える長さの場合には最初の8文字が使われるようです。

2.クライアント側(Android側)

クライアント側はGoogle PlayストアでVNC viewerをインストール。

起動したら、接続先として「Linux側のIPアドレス:5901」、接続名を適当な名前を設定します。接続するとパスワードを聞かれるので、vncserverを起動する際に設定したパスワードを入力します。ポート番号の5901は5900に:1の1を足して5901となっています。

3.x2vncのインストール

Synapticでx2vncをインストールする。インストールしたら以下のようにして起動する。

$ x2vnc -shared -west localhost:1
x2vnc: VNC server supports protocol version 3.8 (viewer 3.3)
Password: ********

x2vnc: VNC authentication succeeded
x2vnc: Desktop name "(ホスト名):1 (ユーザー名)"
x2vnc: Connected to VNC server, using protocol version 3.3
x2vnc: VNC server default format:
screen[0] pos=1003
Xinerama detected, x2vnc will use screen 1.
x2vnc: pointer multiplier: 0.930491

として起動します。この状態でマウスは行き来できるようになっています。
が、ウインドウは行き来できません。ウインドウマネージャがいないような雰囲気です。しかし、サブディスプレイ側(Android側)ではコンソールウインドウが開いているので、そこでfirefoxを起動するとサブディスプレイ側にブラウザを開くことができました。とりあえずWebを参考にしながら何か作業したり、viやxedで設定ファイルを編集したりする分には十分です。

ここで一旦終了させます。

$ killall x2vnc
$ vncserver -kill :1

VNCのパスワードを変更します。

$ vncpasswd
Password: ********
Verify: ********

4.まとめ

インストールが完了したら、以下の手順で起動できます。

$ vncserver :1 -depth 15 -geometry 1280x800 -alwaysshared
$ x2vnc -shared -west localhost:1

画面サイズはNexus7(2012)の画面サイズです。Android側でフルスクリーンにしておけばちょうどよくなります。

IMG_20160809

サブディスプレイとして使っている様子はこんな感じです。USBケーブルは電源供給専用で、接続はモバイルルータ経由です。

Raspberry Pi3でネットワークブートなどが可能に?

まだ正式版ではないようですが、Raspberry Pi3でUSBメモリやネットワークからのブートが可能になるようです。

リンク先によると、USBマスストレージとして起動するデバイスブート、USBホストとして起動するホストブート、マスストレージデバイスから起動するマスストレージブート、イーサネットから起動するネットワークブートが選べるようです。

ブートシーケンスの資料によると、GPIOで起動モードを設定すると、CPUに内蔵のワンタイム(OTP=One Time Programmable)ROMから起動して、更にどのデバイスから起動するかの設定をGPIOから読み込むようです。

ネットワークブートは設定がちょっと面倒な感じだけど、一度設定してしまえばクライアント側の劣化部分(要はSDカード)がほとんどなくなるのでちょっと便利かもしれない。設定方法はたぶんここ(最初のリンクの中にある)でしょうか?
でも、Raspberry PiのEthernetはUSB越しなので、USB抜き差しで不安定になることがあるような感じなので、用途はかなり限られる気がしますが、大量のRaspberryPiのルートファイルシステムをあれこれしながら動かす用途であれば便利かも・・・ですね。クラスタとかなにかの観測ネットワークとかかな?

自分は・・・たぶんやらないだろうなぁ・・・。

miredoでIPv6を使ってみる

NATではないIPアドレスが欲しいのだけど、V4は無理・・・なので、トンネル越しのIPv6を試してみた。

といっても、LinuxMint18では非常に簡単で、SynapticでToredoのLinux実装らしいmiredoをインストールすると、ifconfigでteredoというデバイスが増えてIPv6が使えるようだ。

・・・が、再起動するといなくなっている。

$ sudo service miredo start

とすると復活するのだが。

調べてみると、起動中に “teredo-debian.remlab.net” というホスト名を解決できないために起きる既知の問題の模様。

まさかのARM買収

ニュースを見ていたら、驚きの記事が出てました。

ソフトバンクがARMを3兆3千億円(240億ポンド)で買収だそうです。
なんか色々売って現金の調達に走ってるな〜、今度は何に投資するのかな〜?とか思ってはいたのですが、ARMとはびっくりです。

秋月の新商品がおかしい・・・

今日発見した秋月電子の新商品・・・

Screenshot-2

どういう経緯で彼岸花の球根を電子パーツショップが扱うようになったのだろう・・・・?

Screenshot-3

「植物ですので大きさや色味はバラツキがあります」・・・・って、そりゃそうだけど、何故秋月に球根??よりによって彼岸花!?

しかも在庫が「AAA」ってどんだけ在庫してるんだろう??

ESP8285が登場!?

例によってHack a Dayの記事から。

EspressifからESP8266の後継チップが登場しているようです。その名もESP8285。データシートによると、一言で言えば、ESP8266では外付けだったSPI Flash(8Mbit)が内蔵になっていて、より小さなモジュールが作れる、というところでしょう。

公式かどうかわかりませんが、開発用のボードもすでにあるようです。

Hack a Dayの記事には小さな小さなモジュールの写真が載っています。小さいことだけはわかるのですが、1元硬貨との比較ではサイズがよくわかりません。やっぱり比較は25セント硬貨とじゃないと・・・。
で、1元硬貨のサイズは直径25mmで、500円硬貨は直径26.5mmなので、ほぼ500円硬貨くらいのようです。となると、モジュールのサイズは9mm角くらいでしょうか。アンテナがないので、アンテナ付きだともう少し大きくなるでしょうが。

Windows7のMBRを復旧させる

lenovoのノートPCをWindows7とUbuntu17.1のデュアルブート(増設したmSATAのSSDにUbuntuをインストール)で使っているのですが、そろそろWindows10へのアップグレードをやるか、ということでアップグレードをトライ・・・してみたものの、うまく行きません。

そこで、mSATAのSSDを外してみたものの、grubのコマンドプロンプトが出るばかりでWindows7が起動しなくなってしまいました。

・・・・で、ぐぐってみたところ、MBRの書き戻し(修復)が必要な模様。

検索すると出てくるのは

  1. Windowsの起動ディスクやリカバリディスクで起動して、bootrecコマンドで修復する
  2. UbuntuのライブDVDで起動して、ms-sysコマンドで互換MBRを書き込む

という方法でした。

前者はディスク探すのが面倒、後者はわざわざライブDVD(USBでもいいんだろうけど)作るのが面倒だなぁ、と思ってどうしたものかと考えていたところ、

SystemRescueCDに含まれてんじゃない?

と思ってSystemRescueCDで起動してみたら、案の定ありました。

$ ms-sys -7 /dev/sda

で復旧完了。Windows7で起動してくれるようになりました。
真似するときは、ちゃんとms-sysのドキュメントを読んでくださいね。

<追伸>
無事にWindows10へのアップグレードも成功しました\(^o^)/

Nexus7(2012)のファームウェアをLoliPopにアップデート

手元にあるNexu7(2012/3Gモデル)をAndroid 5.1.1(LoliPop)にアップデートしてみます。
手順はFactory Images for Nexus Devicesに書かれているとおりです。下の方の使用条件に同意してチェックすると具体的なイメージやアップデートの方法が表示されます。

下記にLinuxMint17(64bit)での手順を記載しておきます。言うまでもないことですが、ファームアップデートは自己責任で。

1)ツールのインストール

$ sudo apt-get update
$ sudo apt-get install android-tools-adb
$ sudo apt-get install android-tools-fastboot

2)Android端末を開発者モードに変更する

Android4.4.4ではUSBでPCに接続しても、PC側では認識されません。現在入っている
設定→タブレット情報をタップして、タブレット情報を表示させ、ビルド番号を連打すると「開発者モードになりました」という表示がされ、設定メニューの中に「開発者向けオプション」が現れます。開発者向けオプションの中の「USBデバッグ」にチェックを入れてからPCに接続します。

3)Android端末のUSBデバイスIDを確認する

$ lsusb
Bus 002 Device 091: ID 18d1:d002 Google Inc. 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub
Bus 001 Device 007: ID 2101:1406 ActionStar 
Bus 001 Device 006: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

この場合、最初の18d1:d002がNexus7(2012)デバイスIDです。(18d1がベンダID、d002がデバイスID)

4)udevルールを作成

$ sudo vi /etc/udev/rules.d/51-android.rules

内容はこんな感じ

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"

5)パーミッションを変更して、udevを再起動

$ chmod 644 /etc/udev/rules.d/51-android.rules
$ sudo /etc/init.d/udev restart

6)イメージのダウンロードと検証

以降は、公式サイトの手順の「Flashing instruction」に沿って進めていきます。

まずはイメージのダウンロードと検証です。適当なディレクトリにイメージをダウンロードして、

$ md5sum nakasig-lmy47v-factory-b2d44613.tgz
c30e5d3bd7cef9edde38ce58bf741857 nakasig-lmy47v-factory-b2d44613.tgz

としてファイルの正当性をチェックします。正しいファイルがダウンロードできたら、展開しておきます。

7)イメージの書き込み

Nexus7をPCに接続して、ターミナルから

$ adb reboot bootloader

でリブートさせます。初回はNexus側にUSBデバッグを許可するか表示されますので、「常に許可する」のチェックボックスにチェックを入れてOKを押します。
Nexus側にブートローダの画面が表示されますので、

$ fastboot oem unlock
...
(bootloader) Bootloader is already unlocked
OKAY [ 0.020s]
finished. total time: 0.020s

として、ブートローダをアンロックします。自分の場合は、以前5.0.2から4.4.4に戻した際にアンロックしてありましたので、上記のように「already unlocked」となりました。

引き続きファームウェアアップデートに入ります。当然ですが、端末に保存されている情報はすべて消えてしまいますので、十分注意してください。また、不慮の事故等で端末が文鎮化するかもしれませんので、自己責任で。

~/ダウンロード $ cd nakasig-lmy47v
~/ダウンロード/nakasig-lmy47v $ ./flash-all.sh 
...
(bootloader) Bootloader is already unlocked
OKAY [ 0.020s]
finished. total time: 0.020s
erasing 'boot'...
OKAY [ 0.035s]
finished. total time: 0.035s
******** Did you mean to fastboot format this partition?
erasing 'cache'...
OKAY [ 0.174s]
finished. total time: 0.174s
erasing 'recovery'...
OKAY [ 0.035s]
finished. total time: 0.036s
******** Did you mean to fastboot format this partition?
erasing 'system'...
OKAY [ 0.370s]
finished. total time: 0.370s
******** Did you mean to fastboot format this partition?
erasing 'userdata'...
OKAY [ 12.177s]
finished. total time: 12.177s
sending 'bootloader' (2100 KB)...
OKAY [ 0.270s]
writing 'bootloader'...
OKAY [ 1.225s]
finished. total time: 1.495s
rebooting into bootloader...
OKAY [ 0.020s]
finished. total time: 0.020s
sending 'radio' (16384 KB)...
OKAY [ 1.973s]
writing 'radio'...
OKAY [ 0.673s]
finished. total time: 2.646s
rebooting into bootloader...
OKAY [ 0.020s]
finished. total time: 0.020s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: 4.23
Baseband Version.....: 1231_0.18.0_0409
Serial Number........: xxxxxxxxxxxxxxxx
--------------------------------------------
checking product...
OKAY [ 0.040s]
checking version-bootloader...
OKAY [ 0.023s]
checking version-baseband...
OKAY [ 0.030s]
sending 'boot' (5186 KB)...
OKAY [ 0.642s]
writing 'boot'...
OKAY [ 0.253s]
sending 'recovery' (5740 KB)...
OKAY [ 0.706s]
writing 'recovery'...
OKAY [ 0.237s]
erasing 'system'...
OKAY [ 0.109s]
sending 'system' (650039 KB)...
OKAY [ 77.868s]
writing 'system'...
OKAY [ 36.357s]
erasing 'userdata'...
OKAY [ 4.903s]
formatting 'userdata' partition...
Creating filesystem with parameters:
 Size: 30063722496
 Block size: 4096
 Blocks per group: 32768
 Inodes per group: 8192
 Inode size: 256
 Journal blocks: 32768
 Label: 
 Blocks: 7339776
 Block groups: 224
 Reserved block group size: 1024
Created filesystem with 11/1835008 inodes and 159204/7339776 blocks
sending 'userdata' (139157 KB)...
writing 'userdata'...
OKAY [ 29.779s]
erasing 'cache'...
OKAY [ 0.088s]
formatting 'cache' partition...
Creating filesystem with parameters:
 Size: 464519168
 Block size: 4096
 Blocks per group: 32768
 Inodes per group: 7088
 Inode size: 256
 Journal blocks: 1772
 Label: 
 Blocks: 113408
 Block groups: 4
 Reserved block group size: 31
Created filesystem with 11/28352 inodes and 3654/113408 blocks
sending 'cache' (9052 KB)...
writing 'cache'...
OKAY [ 1.733s]
rebooting...

finished. total time: 152.918s

完了すると、勝手に再起動します。
最初しばらくは倒れたドロイド君の上に赤三角内に「!」が表示されていて動きがないのでびっくりしますが、しばらくすると画面が変わって起動時の画面(Googleカラーのつぶつぶがぐるぐる廻る)に変わります。この状態が長く(5〜10分位?)続いた後、Welcome画面とともに言語選択する画面に遷移します。