chirimen-oh / chirimen.org

Tutorials for CHIRIMEN
https://tutorial.chirimen.org/
Mozilla Public License 2.0
3 stars 7 forks source link

PiZero 版 CHIRIMEN のハンズオン中、IPv6 で接続した環境でJS_Getができない #135

Open elie-j opened 4 months ago

elie-j commented 4 months ago

2023年度の塩尻会場のハンズオン中、JS_GET が出来ない事象が発生。 現地メンターの方が以下のドキュメントを急遽作成して対応してくださいました。 JSGETができない問題の対策.pptx

elie-j commented 4 months ago

考えられること:

⇒ RasPiの設定をデフォルト無効化するワークアラウンドをいれておく? or ⇒ 今どきはIPv6のほうがデフォルトで、トラブルシューティングの方を充実させる?

kou029w commented 4 months ago

⇒tutorial.chirimen.org IPv6 対応?

追記: IPv6 対応済み

kou029w commented 4 months ago

Cloudflare Pages 対応(#88)後 tutorial.chirimen.org は IPv6 対応済み (注記: 2024-04-09現在)

  • JS GET で接続する先の tutorial.chirimen.org が IPv6 非対応?

⇒tutorial.chirimen.org IPv6 対応?

$ dig +short tutorial.chirimen.org AAAA
2606:4700:3033::ac43:aa8c
2606:4700:3037::6815:3f66
$ dig +short tutorial.chirimen.org
104.21.63.102
172.67.170.140
$ curl -6 https://tutorial.chirimen.org/pizero/esm-examples/hello-real-world/main.js
import {requestGPIOAccess} from "./node_modules/node-web-gpio/dist/index.js";
const sleep = msec => new Promise(resolve => setTimeout(resolve, msec));

async function blink() {
  const gpioAccess = await requestGPIOAccess();
  const port = gpioAccess.ports.get(26);

  await port.export("out");

  for (;;) {
    await port.write(1);
    await sleep(1000);
    await port.write(0);
    await sleep(1000);
  }
}

blink();
sizuhiko commented 4 months ago

Cloudflare Pages 対応前もきっとDNS側はIPv6対応されていたと思うけど、IPv6環境で問題が発生したことがあるということで、チュートリアルができるか確認する。

  1. Pi zero 持っている人のネットワーク環境が IPv6対応していたら、そこでチュートリアルを試してもらう
  2. Pi zero 持っている人の環境が対応してなかったら、対応環境の場所で確認する
Aritaka-hub commented 2 months ago

IPv6環境でのチュートリアルですが、自前の環境で試してみました。

main-hello-real-wor [ <=> ] 421 --.-KB/s 時間 0s

2024-05-24 14:23:23 (1.09 MB/s) - `main-hello-real-world.js' へ保存終了 [421]



この問題とは別に、ネットワークに接続されてない状態でも JS GET をすると、PiZero に空のファイルが作られるのでそこは注意点かもと思いました。

- JS GET を押す>エッジ側に該当するファイル名の空ファイルを作成>チュートリアルサイトのコードを DL してエッジのファイルに書き込み

の動作をしていると思いますが、コードの DL に失敗すると何も記述されないファイルだけ PiZero 内に出来てしまうので、初学者は DL 失敗に気づかないで実行すると動作しない!と言う事になります。
dynamis commented 2 months ago

note: IPv6 以外でもそもそも wifi 設定していない状態 JS GET をすると wget に失敗してからのファイルが出来るケースがあるように思う (ので注意書きをしておくのが良さそう)。