Knurling Sessions 2020Q4 をやる (1) 〜環境構築〜
はじめに
knurling-rs では Ferrous Systems が、スポンサー向けに組込み Rust の教材 knurling-session を提供しています。
knurling-session では、3ヶ月ごとに1つのテーマを取り上げています。 最新のもの以外は、公開されています。スポンサーになると最新のものも見れます。 また、スポンサーが増えると、knurling-rs に割く時間が増やせるため、ツールの改善や教材の整備が増えることが期待できます。 興味を持ったらスポンサーしましょう!
現在公開されている knurling-session の 2020 Q4 をやっていきます。 2020 Q4 は、nRF52840-DK と CO2 センサーを使ったプロジェクトです。
2020 Q4 のレンダリングされているドキュメントはこちら。
session20q4.ferrous-systems.com
ハードウェア
主要なもの - nRF52840-DK (¥6,000くらい) - Mouser とか Digikey とかマルツで購入できます - SCD30 CO2 センサ (¥6,000くらい) - Digi-Key
あと、ePaper ディスプレイが挙げられていますが、いくつか SPI / I2C 接続可能なディスプレイデバイスを持っているので、それで代用することにします (embedded-graphics 使っているので大丈夫なはず) 。
ケーブル類など - RGB LED / 220Ω 抵抗器3つ - なくても nRF52840-DK の LED で代用可能 - ジャンパワイヤ - ピンヘッダ
ツール
cargo install でインストールします。
cargo install cargo-generate cargo install probe-run cargo install flip-link
Linux
USB ドライバと udev の設定をします。
sudo apt-get install libudev-dev libusb-1.0-0-dev
udev は knurling-session の手順では、JLink の Product ID が異なる場合があります。
$ cat /etc/udev/rules.d/50-knurling.rules # udev rules to allow access to USB devices as a non-root user # nRF52840 Development Kit ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", TAG+="uaccess"
nRF52840-DK を接続して、lsusb で Product ID を確認して、udev rule を書き換えるとうまく動きます。
私の場合は、0105
でした。
$ lsusb Bus 001 Device 012: ID 1366:0105 SEGGER J-Link
sudo udevadm control --reload-rules
これで準備完了です。