Raspberry Pi Picoでデバイスを量産する際、プログラムはuf2をコピーすると楽。
でも、数十回以上の作業となると面倒だし、集中力も落ちてミスをしやすくなる。
そこで、PC上でRaspberry Pi Picoを認識したら、uf2ファイルをコピーするPowerShellスクリプトを作った。
Raspberry Pi Picoはuf2ファイルのコピーが完了するとアンマウントされ、マイコン内のプログラムが実行される。
そのプログラムには、ビルトインLEDの点滅など外から実行を確認しやすい処理を入れておけば、書き込み完了の確認にもなる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<# PowerShell 第4回 Copy-Itemのフォルダ内ファイルのコピー動作 https://qiita.com/Mount/items/96a64be5fc689431ddeb PowerShell USBメモリのドライブレターが知りたい https://note.com/mahalo_/n/n4712942d9176 Copy-Itemを使用して、フォルダ(Current\source)に存在するファイルをVolumeNameがRPI-RP2(D:\)にコピーします。 +--Current copy.ps1 +--source +--xxx.uf2 ↓コピー D:/xxx.uf2 #> # コピー元。source\*はディレクトリ内のファイル。source\はディレクトリごと。 # source\xxx.txtだとディレクトリ内のxxx.txt。source\*.txtだとディレクトリ内のtxtファイル全部 $Source = "source\*" while ($True){ # RPI-RP2 という名前のドライブを取得 $DeviceIDList = (Get-WmiObject Win32_LogicalDisk | where{$_.VolumeName -eq 'RPI-RP2'}).DeviceID foreach($DeviceID in $DeviceIDList){ # *.uf2 というファイルの存在確認 if(Test-Path ($DeviceID + "\*.uf2")){ # echo "aruyo!" }else{ # 無い場合コピーする echo "Do copy" try { Copy-Item -Path $Source -Destination $DeviceID -Recurse } catch { Write-Host $Error[0] } } } # 1秒待機 Start-Sleep -Seconds 1 } |
アイキャッチ画像は
「Raspberry Pi Picoにuf2ファイルを書き込む。」を英語にしてhttps://www.craiyon.com/で生成