Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Jetson Nanoをつかう その1:セットアップ

実際のところ

Getting Started With Jetson Nano Developer Kit | NVIDIA Developer
にあるリンクから導入します。
ダウンロードで5.1Gbyte、解凍後は驚愕の12.88Gbyteもあるので、
作業環境(特に仮想マシン)のストレージ容量は確認しませう……。

開封の儀

ちょっと切り抜きがある、格好いいは徐に入ってます。

内容物は本体と、説明書。
電源は自分で買う形。
5V2A以上だそうです。

箱の下敷きは組み立てると下駄になります。
金属片でショートするのを防ぎます。


SDカードの用意(balenaEtcherをつかう)

RasPiのイメージ導入などで最近流行りのbalenaEtcherを使います。
公式よりダウンロード
balenaEtcher - Home

イメージと導入先を選択
f:id:shuzo_kino:20191106211413p:plain
開始されるので気長に待ちます。
f:id:shuzo_kino:20191106211419p:plain

OSのセットアップ

基本Ubuntuです。


デスクトップの壁紙はNvidiaのロゴ風の格好いいやつ。

【蛇足】開発の背景

中の人によると、これのGPGPUチップはもとはスマホ用だったそうです。
ところが、発熱問題がクリアできずお蔵入りに。
それが、昨今の機械学習ブームをうけ、巨大なヒートシンクを取り付けることで
エッヂコンピューティング用ガジェットとして生まれ変わったのだとか……。

参考もと

developer.nvidia.com

nohupコマンドでログアウト後もバックグラウンドでコマンドが実行されるようにする。

nohupはN0 HungUpの略で、その名の通りhung upシグナルの影響を抑えてコマンドを実行できるやつです。

実際のところ

X Window越しでRasPiのGUIを起動する - Bye Bye Mooreで以下のようなコマンドを叩きましたが

$ nohup arduino &

これだとarduinoコマンドをバックグラウンドで動かし、
かつログアウトしても本体の方では動くようにできます。
また、バックグラウンドで動作すること前提のコマンドのため"&"をつけないと次のコマンドを入力できません。
……なんらかの事情で、それでもいいならつけなくてもいいのですが。

【読書メモ】Interface(インターフェース) 2019年 08 月号

JetsonNanoを買ったので、それの特集記事が乗ってるInterfaceを前々職以来久しぶりに購入。

【読書メモ】エピゲノムと生命 (ブルーバックス)

人生は遺伝子で決まるんだ、教育なんか無効なんだよ! 
……という露悪的主張を耳にする昨今。
しかしながら、最近の研究では初期の遺伝子情報は
その後の生育において絶対的指標ではない事がわかってきています。

本書は、そういった考え方「エピジェネティクス」という学問分野について解説してくれる本です。

ブルーバックスなので科学的裏取りはそこらの物書きより確実です。
とはいえ、高校の生物レベルの知識がないと読むのは難しかったです。

まぁ、考えてみれば初期の遺伝子情報オンリーでは噴火や地軸の変化、新種の生物の侵入といった急激な環境変動に対応できるわけありませんもんね。

エピジェネティックスに関しては、岩波からこんな本も出ています。

【読書メモ】令和ビジネス書類テンプレート集 税率変更対応 (デジタル素材BOOK)

ビジネス文章は今まで何となく我流で作っていました。
もし分からない事が生じたら都度ググるという事を継続してきたのですが……
流石にそれは不味かろうという事で、本書を購入。

それぞれの文章について気をつけるべき事を書いてくれているので
自身の状況に応じて内容を変更する際にも助かります。

契約系なら

受発注の日常業務ならともかく、NDAや基本契約書は怖いよという場合、
お国が税金投じて作ってくれたやつがあります。
有効活用させてもらいましょう。
shuzo-kino.hateblo.jp

processingでテキスト入力をうけとる

キーボード入力は"key"という内部変数に格納されます。
イベントハンドラkeyPressed関数で拾ってレンダリングできます。

実際のところ

char   charactor;
String string = "";

void setup() {
  size(120,80);
  background(0);
}

void draw() {
  background(0);
  text("lastchar :' " + charactor + " ' ",10,20);
  text(string,10,60);
}

void keyPressed()
{
  charactor = key;
  string += key;
}

実行すると、こんな感じ
f:id:shuzo_kino:20191102001245p:plain


テキストボックスめいたものを作る場合……以下のような感じの実装になるかと思います。

  • テキストボックス風の領域をつくる
  • マウスクリックかtabキーでフォーカスできるようにする
  • 入力できるようにする。