2020年07月23日
githubをもうちょっと便利に使うための10のTips
githubで女の子らしく
2020年7月11日追記。
この記事の内容は実行しないでください。
記事内容は古く、リンク先が変更されていたりして
内容通りにやっても成功しないどころか文鎮化します。
この記事の内容は行わないでください。
あくまで記録として残しておきます。
-----------------------------------------------
(投稿日時点での内容です)
まさか3DSでもCFWというワードを聞くことになるとは...
数年前までは「ATM並のセキュリティーで割れない」なんて
言われてたけど...w
ま、タイトル通りCFWをインストールしたいと思います。
コロナで自宅にいる人もいると思います。
ちょっと弄くりたいなぁとか思ってる方はやってみては?
PSPのCFWインストールよりやりごたえがありますw
と.....その前に。
CFWをインストールするメリットとデメリットをざっくり紹介!
メリット
・自作ソフト(HomeBrew)インストール可能!
・SFCやFCなどレトロゲームで遊べる!
・任意のタイミングでスクショできる!
・チートできる!(オンラインでは絶対ダメ)
デメリット
・下手するとニンテンドーアカウントBANされる
・ニンテンドーからの保証が切れる(今更修理するかって話も...w)
・ブリックの可能性あり
後は、
なんか3DS/DSカードの中身をアレしてスマホやPCでヒャハーって
できるらしい!
アレってなんですかね?(すっとぼけ)
インストールに”私は”成功しました。
が、他の方ができるかどうかはわかりません。
なので問題が起きても自己責任、自己解決でお願いします。
一応環境としては 旧型3DS LL、FW 11-13.0-45Jです。
必要なものはPCとWi-Fi、あとSDカード or microSDカードリーダー。
アーカイバーは..入ってるよね?
Windowsのソフトは使わないのでMacやLinuxディトリでも多分いける。
--------------------------------------------------------
@CFWインストールの前準備
まずは3DSにポケモンピクロスをインストールして、一度起動してください。
タイトル拝んだらホームに戻ってOK。
次に簡易BAN対策です。
本体設定からインターネット設定→いつのまに通信→本体情報の送信を「しない」にする。
フレンドリスト→設定→フレンドへの通知設定→遊んでいるソフトを公開する?を「しない」にする。
その後、自分のフレコをメモるか写真とるかしておいてください。
後で使います。
次に3DSの電源を切って。SDをPCに挿します。
AHomeBrew Launcherのインストール
・SDカード/Nintendo 3DSフォルダーの中にあるフォルダー名の
32文字のランダム数値(以後ID0)をコピーする。
・次に にアクセスします。
Your Friend codeにメモったフレコ、
Your ID0にさっきのID0をコピペします。
できたらGoをクリック。
ReCAPTCHA認証があったら済ませてください。
・フレコが出てくると思うので、それを3DS側で入力しフレンド登録します。
・何度かリロードしContinueが押せるようになったらクリックして続けます。時間がかかることもあります。
・何度かリロードしDownloadが押せるようになったらクリックしてダウンロードします。時間がかかることもあります。
(あまりに長かったら1時間ぐらい暇をつぶしましょ)
movable.sedがダウンロードされます。
・githubにあるからHomebrew Menuをダウンロード。
・からOLD/Newモデルとバージョンを選択肢てDownload other appをクリックしてダウンロードします。
私の場合は OLD-11.13.0-45Jとなります。
POSTなんたら.binがダウンロードされます。
・POSTなんたら.binを otherapp.bin にリネームします。
・boot.3dsxとotherapp.binを3DSのSDカードのルートにコピーします。
同時に"3ds"フォルダーがなければ作ってください。
BPichaxxエクスプロイトをついてHBLを起動する
・:にアクセスして
ファイルを選択ところでダウンロードしたmovable.sedを選択してStartをクリック。
ダウンロードします。
00000001.savがダウンロードされます
・ダウンロードされた00000001.savを
SD/Nintendo 3DS/ID0/ID0みたいなの/title/00040000/0017c100/data
の中にコピーします。
上書きするか聞かれると思うので聞かれた上書き。
:・SDカードを3DSに挿して起動します。
ポケモンピクロスを起動してください。
黄色い画面などで止まったらホームに戻って再度チャレンジです
起動できたらこんな感じでHBLが起動します。
Cdsiware.binのダンプ
・をダウンロードします
DSiWare_Dump.3dsxをダウンロードしてください。
・movable.sedをSDのルートにコピーします
・DSiSware_DUmp.3dsxを3dsフォルダーにコピーします。
・ポケモンピクロスでまたHBLを起動し、
DSiWare Dumperを起動します。
センスが無いのかうんこのアイコンなのですぐわかります。
・Press B to continueと出たらしたがってBを押します。
HBLに戻ります。
電源を切ってまたPCにSDさします。
・42383841.bin的なファイルがルートにいるので手元にコピーしておきましょう。これがdsiware.binです。
Dboot9strapのインストール
いよいよ本番、これでCFWが入ります。
・から release-x.x.x.zipをダウンロードしてください。
記事投稿時点では5.0.2です。
・をダウンロードしてください。(Luma3DSv10.0.1.zip)
・をダウンロードしてください。(frogminer_save.zip)
・frogminer_save.zipを展開すると private フォルダーが出てくると思うので、それをSDのルートにコピーします。
・にアクセスします。
Your movable.sed→そのままmovable.sedを選ぶ
Your dsiware.bin→先程の数字のbinを選択
「私はロボットではありません」を押してReCAPTCHA認証を
パスし、Startをクリック。
Downloadが何回かリロードしクリックできるように
なったらクリックしてダウンロードしてください。
fredtool_output.zipがダウンロードされます。
・fredtool_output.zip を展開し、中にある hax フォルダーの中にある
binファイル(42383841.bin)を
SD/Nintendo 3DS/ID0/ID0みたいなの/Nintendo DSiWareにコピーします。
Nintendo DSiWareフォルダーはなければ作ってください。
・SDを3DSに戻して本体設定を起動し、
データ管理→DSiWareデータ管理→SDカードに行くと
「Haxxxxxxxx!」というデータがあるのでタップ。
コピー→OKで本体にコピーします。
・本体設定のトップに戻り、
インターネット設定→DS用ソフト設定に行くと...
てんてろてんてんてん♪ケロッ って...はい。
あの懐かしきうごメモが起動しますw
ここの操作は少し複雑なので作者の説明に任せます。
・先程の操作を正しく行えた場合はb9s toolsが起動します。
・↓ボタンでInstall boot9strapを選択しAボタン、
次の画面でSTART+SELECT同時押しでインストールされます。
・終わったらHOMEを押すと勝手にLuma3DSに切り替わります。
十字キーを使って
Show NAND or user string in System SettingsでAボタン→START
ホームメニューに戻るはずです。
E仕上げ
このままでは DSソフト用Wi-Fiがうごメモになったままなので
本来のものに戻します。
・SDをPCに挿します
・先程ダウンロードした fredtool_outputを展開したフォルダーの中の
cleanフォルダーにある 42383841.binを
SD/Nintendo 3DS/ID0/ID0みたいなの/Nintendo DSiWareに
コピー/上書きします。
・SDを3DSに戻します。
・本体設定からデータ管理→DSiWareデータ管理→SDカードに行くと
「Nintendo DSi」というデータがあるのでタップ。
コピー→OKで本体にコピーします。
これで完了です。
これでCFWインストールが完了しました!
やりごたえの適度にある工程数なのでやってて楽しいかも?
もう新作ゲームも出ないしこうやって遊んでスーファミやるのも
いいかも??
github専門店で大注目の商品選び!
実験室で電圧を記録するロガーとしては、ここまでの作品で用が足りますが、電池を使ってこれをフィールドで長期稼働させるとなると電力供給の問題が起こります。後述の通り、Arduino UNOは単体で動かすだけでも、約50mAの電流を消費します。2500mAhのエネループプロ(×4本)で駆動すると、2500mAh/50mA=50hつまり約2日しか稼働しないことになります。これをいかに数か月〜数年に延ばすか、が非常に難しい問題になります。本来、マイコンというのは非常に小さい電力で稼働するものですが、Arduino UNOにはUSB-シリアル変換チップその他いろいろ載っており、また接続したセンサーやモジュールにも常時電流が流れます。これを根本的に解決するには、Arduinoのような素人向けマイコンボードではなく、マイコンそのものを単位として一からロガーを構成し、省電設計をする必要があります。ただ、これ以外にもいくつか方法はあります。まず、ここでこれらの方法を概観します。
省電力化する
@ Arduino UNOではなくArduino Pro Mini (3.3V 8MHz)やESP32など、より省電力化されたボード・マイコンを用いる
A スリープ機能を使う
B 既往の電源管理モジュール(TPL5110など)を使う、あるいは作る
電力供給を解決する
(i) 巨大なバッテリーを用いる
(ii) 太陽光発電などエナジーハーヴェスティングをする
@〜Bと(i)~(ii)を組み合わせることで、より長寿命なシステムを構築できます。結論からいうと、@Aだけでは抜本的に省電力化はできないようです。数分の1〜1/10程度の省電力化はできるようですが、これでもエネループでは数週間しかもちません。(i)もスマート・抜本的な解決策には思えません。そこで、管理人が辿りついた結論としては、可能な限り@(Pro MiniはUNOに対して特段劣る部分はないので、こちらを用いるに越したことはない)は用いるとして、これとA(ii)の組み合わせ、ABの組み合わせがよさそうということです。
Arduino Pro Mini
ここでは、まずArduino Pro Mini 3.3V 8MHzを紹介します。以下のように、1つあたり500円程度で買えます。ピンヘッダも必要になります。Pro Miniは本家のArduinoは廃盤になったようですが、互換品はまだ買えます。
1,650円 Amazon |
ピンヘッダは同梱されていることが多いですが、安いので余分に買っておくとよいです。
174円 Amazon |
ピンヘッダは下の写真のように下向き・上向きにつけてもどちらでもいいですが、下向きが主流です。
A4・A5・A6・A7は(下向きには)つけないでおくと、ブレッドボードにそのまま挿してプロトタイプがつくれます。
基本的にArduino UNOと同じように使えますが、以下が異なります。
・ピンヘッダが付いていないので、自分ではんだ付けする必要がある
・USB-シリアル変換チップが載っていないので、スケッチを書き込む際に、外付けのUSB-シリアル変換モジュールが必要になる
・3.3V・8MHzで稼働する(ただし、5Vを流しても瞬時に壊れることはない)
・各段に小さい
・アナログピンA6・A7がある(UNOはA5まで)
プログラムを書き込むときは、下の写真のようにUSB-シリアル変換モジュールを介してPCとArduino Pro Miniを接続します。
例えばこれを使うとよいです。
650円 Amazon |
6線使い、以下のように接続します。変換モジュールにはPCとUSBケーブルで接続するための端子があります。
注意が必要なのは、シリアル変換モジュールのRXとPro MiniのTX、シリアル-USB変換モジュールのTXとPro MiniのRX、というように、TXとRXは互い違いに接続することです。TはTransmit(送信)、RはReceive(受信)ですので。Arduino IDE(ソフトウェア)では、「ツール」の「ボード」から「Arduino Pro or Pro Mini」を選んで、さらに「プロセッサ:"Atmega328 (3.3V 8MHz)"」を選び、「シリアルポート」に現れている「COM X」(XはPCが自動的にアサインする数字)を選びます。あとの使い方はArduino UNOと同じです。ピンアサインもUNOと同じで、A4・A5がそれぞれI2C通信のSDA・SCLになります。2つだけちょっとおかしな位置にあるピンなので、わかりやすいです。
Pro Miniの電源関係はややわかりづらいので説明しておきます。シリアル-USB変換モジュールを介して先の写真のようにつないでいるとき、Vccに直接3.3Vちょうど(PCからの5V供給を、このモジュールが3.3Vに制御してくれています)が送られています。Vccはマイコンの動作電圧そのものになるので、ここに例えば4.2Vを送れば、全体が4.2Vで動くことになり、RTCやSDカードなどの周辺装置にもVcc端子を介して4.2Vがかかります。この程度なら問題はないですし、3.3Vモデルに5Vをかけても、少なくとも長い時間でなければ壊れたことはありません。一方、「RAW」という端子がありますが、ここに電圧をかけると、電圧レギュレータを介して3.3Vに調整されてからシステムに電圧がかかります。では常にこのRAW端子に電圧をかければよいということになりそうですが、3.3Vに減圧する以上、入力電圧は3.3Vよりある程度大きくなくてはなりません。3.3Vちょうどくらいの電圧をRAW端子にかけるとうまく動作しないことがあるので注意が必要です。エネループ3本(3.9〜4.2V)をRAW端子・GND端子につないで動作させるのがちょうどよいようです(12Vまでかけてよいようなので、もちろん4本つないでも構いません。電圧レギュレータによるエネルギーロスが大きくなるだけです)。
Arduinoシリーズを使ってフィールド観測を行う場合、このPro Miniの出番が多くなります。省電力なうえに、小さなスペースに収めることができるからです。たとえば下の写真のように、ユニバーサル基板の上に載せ、他のモジュールとともに配線を固定(はんだ付け)し、完成品とします。
消費電力について
ここで、Arduino UNOとPro Miniの消費電力の比較をしてみます。ここでは以下の2つのスケッチを試します。1つ目は、「何もしない」スケッチです。2つ目はスリープを導入しています。これにより、Arduinoは省電力モードに入ります。avrのライブラリは標準としてすでに入っていると思いますが、ここではEnerlibライブラリを以下よりダウンロードしてインストール(やり方については第7回参照)してください。
これらをUNOとPro Miniで試してみました。UNO互換品にはいくつか種類があり、ここではUNO Aとしたもの(マイコンがATMEGA328P-PU、USB-シリアル変換チップがatmega16u2)とUNO Bとしたもの(マイコンがATMEGA328P-AU、USB-シリアル変換チップがCH340)、およびPro Miniを試しています。消費電力は以下のようになりました(どうやって計るか?テスターを使って直列つなぎにします。小学校で習った通りです)。
| 何もしない | スリープ |
UNO A | 52mA | 35mA |
UNO B | 24mA | 24mA |
Pro Mini | 5.2mA | 1.6mA |
UNO Bの結果が意外!計り間違えではないと思いますが。
さて、Pro Mini 3.3V 8MHzの省電力性能がよくわかりました。しかし、この電流はあくまで単体での消費電力であり、実際にはこれにRTCだのSDカードだのセンサーだのつけることになります。これらのモジュールは、それぞれおよそ1mAほど消費し、マイコンがスリープしても消費は続くので、4つつければスリープ時でも5〜6mA消費することになってしまいます(2500mAhのエネループプロで約400時間、2〜3週間程度)。少しでも省電力化するためにできることとしては、Arduinoそのものや、RTCなどモジュールについているLEDをもぎとることです。これにより、それぞれ0.5mAくらいずつ消費を減らすことができます(誰も見ていないロガーボックスの中で光り続けるほど無駄なことはない)。
ここで、素朴な疑問。スリープからはどうやって起きる?これについては次回説明します。
-
no image
-
no image
-
no image
-
no image
-
no image