検索すると Lua スクリプトを RTX にいれる方法もあるみたいだが、別途プロキシが必要みたいなので LAN 内の raspberrypi から SNMP で取得して投げるほうを選んでみた。raspberrypi には既に mackerel-agent が入れてあるので、追加の設定をするだけ。

mackerel-agent-plugins

mackerel-agent は arm 版もリリースされているが、プラグインはリリースされていない。自分でビルドする必要がある。

mackerel-plugin-snmp だけあればいいので、mackerel-plugin-snmp のディレクトリで

env GOOS=linux GOARCH=arm GOARM=5 go build

するだけでバイナリができる。できたバイナリを raspberrypi の /usr/local/bin とかにコピーしておく。

設定

SNMP で取得するが、 mackerel の custom_identifier でホスト分けて表示する。

まず mkr create でホストをつくる

mkr --customIdentifier router1 router1

ここで指定した customIdentifier をプラグインの設定に書くとこちらのホストに投稿したことになる。

[plugin.metrics.snmp-router]
command = "mackerel-plugin-snmp  -community='public' -host='192.168.0.1' .1.3.6.1.2.1.2.2.1.16.1:ifOutOctets.2 .1.3.6.1.2.1.2.2.1.10.1:ifInOctets.2 .1.3.6.1.4.1.1182.2.1.15.0:temp.yrhInboxTemperature .1.3.6.1.4.1.1182.2.1.4.0:memory.yrhMemoryUtil .1.3.6.1.4.1.1182.2.1.5.0:cpu.yrhCpuUtil5sec .1.3.6.1.4.1.1182.2.1.6.0:cpu.yrhCpuUtil1min .1.3.6.1.4.1.1182.2.1.7.0:cpu.yrhCpuUtil5min"
custom_identifier = "router1"

SNMP の OID を調べるのがめちゃくちゃ面倒くさいがだいたい上記ぐらいでいいだろう。

この方法の欠点

  • cpu やメモリのメトリクスは mackerel で特別扱いされているが、この方法だとすべて snmp.* のメトリクスになってしまう
  1. トップ
  2. tech
  3. mackerel-agent + snmpで RTX1200 のメトリクス取得

ndisc6 に入っている rltraceroute6 を使えば良いっぽい。

sudo apt-get install ndisc6

ping6 は通るけど traceroute6 が失敗する場合、途中のルーターでUDPが落とされている可能性がある。-I オプションで ICMPv6 Echo を送るようになる

rltraceroute6 -I  [host]
  1. トップ
  2. tech
  3. Ubuntu で ICMP Echo traceroute6 する

NEC 無線LANルーター dual band Wi-Fi5 (11ac) / WG2600HP3 Atermシリーズ 4ストリーム (5GHz帯 / 2.4GHz帯) ‎PA-WG2600HP3【 iPhone 13 / 12 / SE(第二世代) / Nintendo Switch メーカー動作確認済み】 - Aterm

Aterm

5.0 / 5.0

PA-WG2600HP3 はルーターだけどブリッジモード(AP)として使う。RTX1200 買ったばっかりやろという感じなので最近ルーターにハマってるの?と妻に言われる始末。

今まで使っていたのが 11n までしか対応してないのと、微妙に電波が届かない場所があって不便だったので、最新のものに買い替えてみた。AP機能だけあれば良いが、別にルーター機能があっても殺せれば困らないし、最悪バックアップ機にもなるのでまぁいいかという感じ。

微妙に届かない場所問題は無事に解決した。バンドステアリング (IEEE802.11k とか IEEE802.11v あたりらしい) も有効にしたので、5G が繋がりにくいときは 2.4G で繋ぎなおしてくれる。いい感じ。

ただ、UI が旧機種からだいぶ変わってしまって使いにくくなってしまった。いちいち前のページに戻らないと別の設定にいけないのがだるい。

あとこの機器のLAN側IPアドレスを指定しつつDHCPでDNSを指定するのができなくなった。全部手動で設定するかDHCPで全部取得するかしかできない。

  1. トップ
  2. tech
  3. Wi-Fi ルーター NEC WG2600HP3 を買った

ひょんなことから(?)RTX1200を譲ってもらったので使ってみる。VPN 貼りたいとかいう欲求はなくて、普通に家庭用ブロードバンドルーターとして使う (アップストリームが 100Mbps なのでもったいないのだが)。

ネットワークの構成

WAN 側は IPv6 + DS-Lite (excite MEC光)。

なお強制貸与されるルーターはAPモードにできないのでリストラ (動作確認用)。無線LANは手持ちのものをAPモード(ブリッジモード)で再利用する。

LAN側のセグメントは1つ。できるだけ有線LAN接続にしたいので、テレビ付近まで伸ばしてL2スイッチを追加している。

やるべきこと

  • IPv4
    • ipip tunnel を transix に貼る
    • LAN内の IPv4 パケットはすべてそこに流す
    • DHCP サーバで LAN 内のホストにIPアドレス・DNSサーバアドレスを配る
  • IPv6
    • RA で NGN 側から prefix を取得する
    • DHCPv6 クライアントで NGN 側から DNSサーバアドレス を取得する
    • DHCPv6 サーバとなり LAN 側へアドレスプリフィックス・DNSサーバアドレスを通知する
    • RA で LAN 側へアドレスプリフィックスを広告する

初期設定

いちいちコネクション切れるのはうざいので、シリアルコンソール経由でしばらく作業する。クロスケーブルのシリアルケーブルが必要なのが罠かった(ストレートのものしかなかった)が手元に D-SUB 9-Pin のブレッドボードコネクタがあったので、ブレッドボード上で即席でクロス回路をつくってしのいだ…… ネットワーク環境が整えば LAN 内から TELNET か ssh が安定してできるはずなので、あんまり必要はないはず……

screen では encoding sjis を指定しておく。

microSD USB Download を同時押ししながら電源を入れて初期化。その後まず USB からファームウェアを最新にした。USB を押しながら Download を3秒押しつづける。

RTX1200 Rev.10.01.34 (Mon Sep 5 18:55:00 2011) → RTX1200 Rev.10.01.76 (Fri Apr 13 12:25:45 2018)

この状態で念のためシリアルコンソールから cold start (初期化)。再起動後に、一回初期状態で LAN 側に有線接続して web GUI を眺めたりした。

とりあえず以下をしておく。ただしLANの設定がおわってインターネットに繋がるまではシリアルで作業した。

login user USERNAME PASSWORD
sshd host key generate
sshd service on

フィルタ

一番めんどうで一番たいせつ。家庭用ルーターガイドラインを参考に基本的なフィルタを設定していく。

  • IPv4/IPv6 ともに WAN 側からの通信はすべて遮断
  • IPv4/IPv6 ともに LAN 側からの通信はすべて通過
  • TCP WAN 側からの SYN は遮断
  • UDP WAN 側からはすべて破棄
  • WAN 側からの ICMPv6 は必須のもの以外遮断
  • LAN 側からの変な source IPv6 アドレスになっているものは遮断
  • LAN側からの通信を記憶してこのコネクションについてWAN側からの通信を通過

全部は設定できてない

RTX1200 のフィルタ概念

1つでもフィルタが定義されているとデフォルトがリジェクトに設定される

設定

基本的にはこちらからの通信をトリガーにして動的フィルタをかける形になる。「ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106」というフィルタは 「3000 のフィルタをトリガーにして 100 101 102 103 104 105 106 の動的フィルタを生成する」の意味。3000 は単純な pass なので、外に出ていくなんらかの通信すべてをトリガーにして、送信先ホストからの受信を許可する。

RTシリーズのDNSリカーシブ機能はTCPフォールバックが不可能らしいので機能をオフにしておく (IPv6 や DNSEC で TCP フォールバックされるケースが増えているので)。

# IPoE
#ホームゲートウェイ(ひかり電話ルータ)なしの場合(RA回線)
# WAN
# DHCPv6 client を起動
#ir=on だと Information-request (stateless DHCPv6) になるが上流の情報が強制的に設定されるのでつけない (手動で DNS と domain 設定してるからいらないが)
ipv6 lan2 dhcp service client
# v6 ネイティブのため MTU=1500
ipv6 lan2 mtu 1500
#log
ipv6 lan2 prefix change log on

# LAN
# lan1 に付与するアドレスの設定。lan2 から RA プロキシした prefix に ::1 をつける
ipv6 lan1 address ra-prefix@lan2::1/64
# LANに広告(RA)するプリフィックスの定義。lan2 からRAプロキシ
ipv6 prefix 1 ra-prefix@lan2::/64
# 上で設定したプリフィックス定義1を広告するように設定。DHCPv6 から他の情報も送信するので o_flag=on
ipv6 lan1 rtadv send 1 o_flag=on
# DHCPv6 サーバの起動
ipv6 lan1 dhcp service server

# DNS
#Use Cloudflare DNS
#dns server 1.1.1.1 1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001
#Use Google Public DNS
dns server 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
#上の設定が優先されるはずだが dhcp 経由のものも設定はしておく
dns server dhcp lan2
#余計なドメイン指定をけしたい
dns domain .
# DNS リカーシブ機能をオフにする。TCPフォールバックができないため。
dns service off
# DNS リカーシブをオフにしているので、me を DNS サーバとして送らないように
dns notice order dhcp server

# IPv4
# DHCP サーバの起動
dhcp service server
dhcp server rfc2131 compliant except remain-silent
# アドレス範囲が 192.168.0.0/29 にかぶらないようにスタートアドレスを変えておく
dhcp scope 1 192.168.0.10-192.168.0.100/24
# LAN 側のアドレスを設定
ip lan1 address 192.168.0.1/24

# DS-Lite(ipip tunnel)
# IPv4 をトンネル1を通すように設定
ip route default gateway tunnel 1
# トンネル1の設定
tunnel select 1
 # トンネル種別。ipip トンネル (IPv4 over IPv6)
 tunnel encapsulation ipip
 # AFTR のアドレスを設定
 tunnel endpoint address 2404:8e00::feed:101
# IPv6 MTU から IPv4 ヘッダ(40bytes) を減じた MTU
 ip tunnel mtu 1460
 ip tunnel secure filter in 1020 1030 2000
 ip tunnel secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106 107
 ip tunnel tcp mss limit auto
 tunnel enable 1

#Filter IPv6
ipv6 lan2 secure filter in 1010 1011 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 filter 1010 pass * * icmp6 * *
# 546=dhcpv6 client
ipv6 filter 1011 pass * * udp * 546
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp

#Filter IPv4
ip filter source-route on
ip filter directed-broadcast on
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1020 reject 192.168.0.0/24 *
ip filter 1030 pass * 192.168.0.0/24 icmp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * submission
ip filter dynamic 106 * * tcp
ip filter dynamic 107 * * udp

# etc
schedule at 1 */* 06:00 * ntpdate ntp3.jst.mfeed.ad.jp syslog

status

# ルーターが取得した ipv6 アドレス
show ipv6 address lan2

# DHCPv6 の状態
show status ipv6 dhcp

# IPv4 DHCP サーバの状態
show status dhcp

show status lan1
show status lan2

show log reverse

interface reset lan2
clear ipv6 dynamic routing
clear ipv6 neighbor cache

挙動不信?

DHCPv6 の DNS

dns server を設定して dns notice order dhcp server をしても DHCPv6 の DNS 通知に反映されず、常にルーターの IPv6 アドレスが通知される。解決方法がわからない。

IPv4 の DHCP でもなんか変な挙動で、設定してない IPv4 アドレスの DNS が通知されたりする。

→ LAN 側の IP アドレスを dns server に設定したらルーターのアドレスが設定されなくなった。

DHCPv6 の domain

flets-east.jp のドメインがついたり、iptvf.jp というドメインがついたりする。つかなかったりもする。

ir=on (stateless DHCPv6) にすると強制的に上流の情報が付与されてしまうっぽい。ir=on をなくして、dns server や dns domain を自分で指定すればオッケー

IPv6 接続不可

設定して8時間ぐらい経過したあたりで IPv6 接続ができなくなっていることに気付いた。IPv4 は通るのでインターネットには出れる状態。かなり意味不明でこまった

  • ルーターからtransixまでの NGN 内 IPv6 ルートはある
  • LAN内ホストからルーターまでの IPv4 ルートはある
  • ルーターまで ping6 [link local]%en0 は通る
  • グローバルIPv6アドレスへの ping6 は通らない (no route to host)
  • lan2 の ipv6 フィルタをはずしても効果なし

いろいろ設定変更して restart とかしていたら接続できるようになってしまったが、いまいち解決方法がわかってない。

考えられる原因?

  • ルーターに割り当てられるグローバルIPアドレスプリフィックスが変化したがLAN内ホストがうまく追従できなかった
  • lan1 と lan2 に二重でグローバルIPアドレスが付与されていた?
    • 「デフォルト経路は最後に設定が完了したインタフェースに向く」と書いてあるのでなんかありそう
    • lan2 側で ipv6 address 指定をやめた。

ref

  1. トップ
  2. tech
  3. IPv6 IPoE + DS-Lite 環境での RTX1200 の設定

  • PTR _services._dns-sd._udp.local.
  • A/AAAA [ソースアドレス].in-addr.arpa.

をやりたい。node 付属の dns で mdns クエリを行うとうまくいかなかった。mdns のライブラリを使うと以下のようになった。_services._dns-sd._udp.local. ひいたときにソースアドレスがなぜか取得できないので若干めんどうなことになっている……

//#!/usr/bin/env node

const mdns = require('mdns');

function getServiceWithBrowser(browser, timeout) {
	if (!timeout) timeout = 500;

	return new Promise(function (resolve, reject) {
		const ret = [];
		browser.on('serviceUp', function(service) {
			ret.push(service);
		});
		//browser.on('serviceDown', function(service) {
		//	console.log("service down: ", service);
		//});
		browser.start();
		setTimeout( () => {
			browser.stop();
			resolve(ret);
		}, timeout);
	});
}

function getAllServices(timeout) {
	return getServiceWithBrowser(mdns.browseThemAll(), timeout);
}

function getServiceForType(type, timeout) {
	return getServiceWithBrowser(mdns.createBrowser(type), timeout);
}

async function run () {
	const services = await getAllServices();
	const results = await Promise.all(services.map( (s) => getServiceForType(s.type)));
	const hosts = results.reduce(
		(r, i) => (
			i.forEach((i) => r.set(i.host, i.addresses)),
			r
		),
		new Map()
	);
	for (let [name, addresses] of hosts.entries()) {
		console.log(name);
		for (let address of addresses) {
			console.log("\t", address);
		}
	}
}

run();
  1. トップ
  2. tech
  3. LAN 内の mDNS に応答するホストを列挙したい

excite光をつかってたので、移行が楽な excite MEC光 という IPoE サービスにしてみました。IPv6 ネイティブかつ DS-Lite による IPv4 接続サービスです。

事前に調べてもさっぱりわからない点があったのでまずそれを検証しました。

ルーターの挙動

  • 貸与ルーター (Aterm WG1810HP) の挙動
    • LAN側は IPv6 ネイティブ接続されるのか? → される。ルーターがRA+DHCPv6 stateless をやってくれる。グローバルIPアドレスが割り当てされる。
    • LAN側の IPv4 アドレスはどうなるのか? → ルータで設定したプライベートIPアドレスがDHCPでくばられる。
    • これまで通りに IPv4 PPPoE セッションははれるのか?
      • レンタルルータだとそもそも設定がなくて貼れない。PPPoE 接続情報自体 excite からもらえない。

この Aterm WG1810HP(MF) は DS-Lite 対応品となっている。DS-Lite 対応ルーターなら他のものも利用可となっているが、このルーターは常に強制的にレンタルする必要がある。

強制レンタルはまぁ許せるけど、それならレンタル料金 (100円/月) を月額料金に含めて書けよと思う。

DS-Lite IPv4 で UPnP のポート解放はできるか

答: できない

DS-Lite では NAT が自宅内ルーターではなく VNE ゲートウェイ (AFTR) 側で行われる (CGN/キャリガグレードナット)ので、手動でポート解放というのが原理的に不可能。それでは UPnP には対応しているのか?という疑問

iijmio ひかりでも答えている。「IPoE接続サービスのDS-Lite方式でのIPv4サービスでは、UPnPによる外部ホストからお客様宅のコンピュータへの通信路確立は行えません。外部へのサービス公開が必要な場合、PPPoE接続を併用されるか、IPv6の利用をご検討ください。」

Mac

デュアルスタック

インターフェイスで IPv6 を有効にすればそれだけで IPv6 ネイティブで繋がるようになる。

なぜか設定でリンクローカルだけの割当になっている端末があったのが罠かった。

Android

デュアルスタック

ZenFone3 (Android 8.0.0)

無線LAN経由で IPv6 接続される。特に設定はなし。

PS4

IPv4 接続

NATタイプ: 2

Nintendo Switch

IPv4 接続

NAT タイプ: B

nasne

IPv4 接続

torne mobileアプリから自宅nasneへ直接接続する機能があるが、機能するか?

アプリから nasne 設定を開くと「通信モード」が表示される。これがNATの状況っぽい? これまでの PPPoE だと通信モードA だった。

IPoE/DS-Lite だとにした直後は通信モード Cで、視聴不可だったが、同一ネットワークから一度つないだら通信モードBになって見れるようになった。

  1. トップ
  2. tech
  3. IPv6 ネイティブ環境に移行 (IPoE + DS-Lite)

おおざっぱにいうと

  • 家庭内のルーター(B4)で IPv4 パケットを IPv6 にカプセル化 (IP IP tunnel)
  • IPv4 ネットワーク接続点 (AFTR) でカプセル化を解き、アドレス変換 (NAT) をして外にアクセスする

だけ。

細かいところで疑問点があったので RFC6333 を見てみた

AFTRのNATの挙動

RFC6333 の B.1.2. Translation Details あたりにAFTR のNATとしての挙動が書いてある。

  • B4 は IPv4 パケットを、AFTR 向け IPv6 パケットにする
  • AFTR は IPv6 パケットから IPv4 パケットをとりだす
  • AFTR はB4グローバルIPv6アドレス・プライベートIPv4アドレスと、グローバルIPv4アドレス・ポートなどをマッピングする
  • AFTR はパケットのIPv4ヘッダを書きかえて IPv4 ネットワークで送信する
  • AFTR はやってくるパケットの宛先グローバルIPアドレス・ポートをもとに、マッピングテーブルから送信すべき B4 IPv6 アドレス・プライベートIPv4アドレスなどを得る
  • AFTR はパケットのIPv4ヘッダを書きかえて、IPv6 パケットにして B4 へ送信する
  • B4 は IPv6 パケットから IPv4 パケットをとりだす
  • B4 は IPv4 パケットを LAN に送信する

NATテーブルは例は RFC6333に書いてあるので引用しておく。結局一番知りたいのはこれだった。

        +------------------------------------+--------------------+
        |         Softwire-Id/IPv4/Prot/Port | IPv4/Prot/Port     |
        +------------------------------------+--------------------+
        | 2001:db8:0:1::1/10.0.0.1/TCP/10000 | 192.0.2.1/TCP/5000 |
        +------------------------------------+--------------------+

            Dual-Stack Lite Carrier-Grade NAT Translation Table

B4側のプライベートIPv4アドレスは勝手に決めていいのか

だいたいいいけど、 DS-Lite では 192.0.0.0/29 が予約されているので、ルーターのLAN側のDHCPでこのレンジが払出されないようにしないとまずいっぽい。

DS-Lite ルーターがデフォルトで 192.168.10.0/24 とかになっているのはこのへんの事情なんだろう。

  1. トップ
  2. tech
  3. DS-Lite の挙動の理解

スペック

  • Wi-Fi は 802.11ac(2.4 GHz / 5 Ghz)1x2 MISO Wi-Fi
  • イーサネット (ACアダプタにある) は 100Mbps

MISO は Multi Input Single Output。ダウンロードだけ2本のストリームという意味っぽい?

802.11ac 最低だと1ストリームあたり86.7Mbpsなので、2本だと 173.4Mbps。実際 Chromecast Ultra がどこまで対応しているのか謎。

スペック的には実は Wi-Fi のほうが高いが、Wi-Fi は AP と接続している端末が増えるほど遅くなるのでなんともいえない。専用の AP を立てられて、電波が空いてるなら Wi-Fi のほうが早い可能性がある。

ちなみにうちでは有線LAN接続してる。

  • 既存のインターフェイスを妨げない
    • 今まで使えるものはそのままにする。アクチュエーターが既存の操作の邪魔をしないこと
    • 「生活」に持ちこむ学習コストを最小限にする。少しずつ便利にする
  • 必要ないならインターフェイスを変えない
    • 今までと似た体験にする。アフォーダンス (形の意味) を変えない
    • 必要がないならインターフェイスを追加しない (ゼロクリックを動くことを目指す)
  • それ手でやればよくない?
    • 意味がないことを自動化しても意味がない。家族にも便利であること

インターフェイスの罠としては「定期的に音声で通知する」みたいなのは意外と使えない。というのも、人間だんだん慣れてきて、同じ音が定期的に鳴っていても聞こえなくなるため。視覚に訴えるほうがいいのかも?

  1. トップ
  2. tech
  3. おうちハックで必要なこと

自分が加害者にならないという自信がある発言をよくあって、それが不思議。その発言自体が加害的なのに、法律的には罪にはないから、マウントが成立する。他人に倫理観を問う人は倫理観がないパターンと感じる。

社会が自分を配慮してくれないのに、自分が社会に配慮する必要はあるのか? 誰だって後ろ盾というか、味方がゼロだったらヤケになるのではないのか?

自殺者を迷惑と叩くような人も同じようなパターンなんだろうと思う。自分がそうならないという不思議な自信があるんだろう。

被害者にならないためにはということよりも、加害者にならないためにはということに興味がある。人間の行動は自動的であるので、そういう状況に追いこまれたら、そういうことになる。直接的に加害されて反抗したら正当防衛になるけど、間接的なら罪になる。広く薄く加害する人に対して、合法的にできることはなにもない。

被害にあわないためには目立たないこと、というのも同意できない。自分への被害は防げるかもしれないけど、他人への被害は減らない。加害を減らすことに繋がらない。社会的なリスクが減らない。社会に対する行動なので、社会で対応しないといけない。個人の問題じゃない。

評判が良いので買ってみた。コストパフォーマンスとセットアップが楽なのがウケているもよう。

とりあえず以下の点は微妙

  • 解像度足りてない
    • 10年ぐらい前の映像を見ている気分。1ピクセルが普通に視認できてしまう。
  • 中央以外ではレンズ収差を顕著に感じる
    • 倍率色収差が一番気になる。周辺部で色がずれる現象
    • 白で文字が表示されることが多いけど、かなり気になる
    • 綺麗に見えるスイートスポットが案外狭いので、結構頭を動かさないとだめ
    • コントラストがそれほど高くない映像コンテンツなら比較的気にならない
  • 頭を動かしたとき画面端のオブジェクトが変形して動いているように感じる
    • 人間は動いてるものに敏感なので気になることがある
  • 視野が狭い
    • 思ったよりは広かったけど、やっぱ狭いなと思う

VRデバイスとしてはトラッキングに違和感を感じることもないし、かぶるだけなのは便利。やっぱ画質が悪いので、それほど感動的なデバイスとは思えなかった……

リアリティというか、現実の再現度でいうと残念ながら4Kや8Kのほうがいいなと思った。視野とかは我慢できるけど、今後は十分なピクセル密度になるまで待ちだなという感じ。

VRの種類

映像だと、ステレオ画像の3D VRコンテンツは少ない。360° 2D の VR コンテンツが多い。この2つの違いはかなり大きい。けど、事前に明確にそうと書いてないことが多いような気がする。

3D VR コンテンツは 2D と比べると没入感が比べものにならない。この点が意外だったのでおもしろい。

電気工事士2種の技能試験の練習

とりあえず問題1を通しで時間を計りながらやってみた。35分ぐらいでおわった。試験時間が40分なのギリギリだ。まぁ初めてやった割には時間内に終わったのは良いほうと思いたい。

複線図書いて、色の指定まで書くけど、実際に施工してみるとこの色の組合せだとやりずらいとかがわかって良かった。

例えば今回は連用取り付け器具で 1.6-2C を2本と渡り線を使うわけだけど、1つ目の器具に 1.6-2C を接続するほうが楽なので、そういう配色にしないといけない。今度から気をつける。

あと、こういう 1.6-2C が2本みたいなパターンだと接続するときにどっちがどっちがわかりにくく、もどかしい。

接続コネクタのストリップ長さがわからなくて少しロスした。よく見ると凹みで示されているけど、ボディが透明なのでわかりにくい。

ランプレセプタクルは問題なくできたかな。のの字曲げは楽しいので試験に出るといいなー