Jetson Nano: 日本語入力できるようにする2 , Mozc , ibus

Jetson Nanoの日本語入力を設定します。

今回 ubuntuの言語はEnglishで設定しました。

mozcを導入して日本語を入力できるようにしましょう。

Jetson Nano:日本語入力できるようにする

これをやってみたのですが、まだ日本語入力ができませんでした。

なので今回は、さらにsettingsへ入って「地域と言語」から mozcとibusを導入することで日本語入力ができるようになりました。

どうやらibusが必要のようです。

Jetson Nano: Wifi接続 SSH接続, VNC接続

新規Jetson nanoを構築していきます。

現在、初めて立ち上げた状態です。

Wifi接続, SSH接続, VNC接続 までやってみましょう。

有線LANケーブルを接続

Wifi接続するためのドングルのドライバをインターネット経由でダウンロードできるように、有線LANを接続します。Chromiumブラウザがプリインストールされているのでインターネットに接続できるか確認しましょう。

無線Wifi接続

下記の記事を参考に行います。

・ドングル:PLANEX GW-450D2 (5GHz 専用なので無線ルータはaを使用します)

デスクトップ右上のwifiマークからwifiルータを指定してルータのpassword(暗号キー)を入力して接続します。

SSH接続

SSH接続を使うことによってWindowsマシン側からWifiルータを経由してJetsonのターミナルを動かすことができます。

cnt+alt+T でターミナルを起動し、ifconfigでIPアドレスを確認しましょう。192.168.xxx.xxxの部分です。

では、Windows側からJetson nanoに対してSSH接続をしていきます。

windowsマシンにTera Termをインストールし起動します。

IPアドレス、ユーザー名、パスワード等を入力します。

IPアドレスのポート番号は22のままでOKです。

サービスはSSH でバージョンはSSH2を選択します。

これで、ターミナルが開き接続されたことがわかると思います。

↓参考

Jetson Nano:初めての起動 wifi ssh接続の設定

VNC接続

VNC接続を使うことによってWindowsマシン側からWifiルータを経由してJetsonのデスクトップ画面を動かすことができます。

SSH接続ではターミナルだけだったのがVCN接続ならばGUIも遠隔で動かすことがでできます。

TigerVNCをインストールして実行

まず、WindowsマシンからVNC接続できるように、Jetson側の準備をします。

VNC接続にはTigerVNCを使用します。

現在、WindowsマシンからJetsonにSSH接続ができていてJetsonターミナルを遠隔操作できる状態なので、遠隔インストールして起動しましょう。

a view-only password を作成するかと聞かれるのでNOで結構です。

 

これで、Windowsマシンからの受け入れ準備ができました。

VNC-Viewerをインストールして実行

WindowsマシンにVNC-Viewerをインストールします。

VNC-Viewerを起動してJetsonのIPアドレスを指定してアクセスします。

 

 

 

 

 

Jetoson Nano:冷却ファン・電源スイッチ・リセットスイッチを取り付ける

冷却ファン・電源スイッチ・リセットスイッチを取り付ける

Jetoson Nanoに冷却ファン・電源スイッチ・リセットスイッチを取り付けてみました。

冷却ファン取り付け

2個NVIDIA Jetson Nanoファン、NVIDIA Jetson Nano開発キット用冷却ファン、40mm×40mm×10mm 5V DCブラシレスファン2ピンコネクタ静かなCPUクーラーラジエーター

をアマゾンで購入して取り付けました。無駄に2個セットになっております。

 

電源はGPIOから取りました。ブンブン回っております。

ちなみに、JetsonをShutdouwnしてもブンブン回り続けています。

 

電源スイッチとリセットスイッチの取り付け

まず、一番下のピン2本をジャンパーでショートさせることで、電源スイッチとリセットスイッチが有効になります。

下から2番目の黄色い線2本をショートさせるとリセット、下から4番め(つまり一番上)の赤白線をショートさせると電源ONになります。

 

 

Androidアプリ:KotlinでDog To Headの開発

こんにちはー。\(^o^)/

今回は最近学んでいるプログラミング言語Kotlinで簡単なアンドロイドアプリを作成しました。

アプリの機能

ドグ付きチェーンによって品物が搬送されロータリー機械へ入っていく状況を考えます。ロータリー機械の特定のポケット番号と特定のドグ付きチェーン番号を一致させたいとき、ロータリー機械をあと何周すれば一致するかを算出します。

 

入力値について

まず、機械構成としてロータリー機械の全ポケット数、チェーンの全ドグ数を入力します。

次にロータリー機械の特定のポケット番号に入るチェーンドグ位置にある「現在のドグ番号」を入力し、最後にそのチェーンドグ位置に何番のドグが来てほしいいか「目標とするドグ番号」を入力します。

以上、合計4つの入力値があります。

結果の出力

ボタンを押すことで、ロータリー機械をあと何周すれば一致するかを算出し、一番下のtextViewに書き出します。

画面構成:activity_main.xml

 

内部演算:MainActivity.kt

 

strings.xml

画面構成を作成したときに、追加したボタンなどにエラーマークがでるので、ソレを消すためにこのファイルを少しいじると修正できるのですが、やらなくても動きますので今回は何もいじっていません。

 

 

 

Kotlinでおみくじアプリ作ってみた。

Kotlinでおみくじアプリ作ってみました。

actibity_main.xml

おみくじの結果を表示するテキストビューとおみくじプログラムを起動させるためのボタンを配置しました。

ボタンのonClickプロパティにはgetOmikujiを入力しておきます。

このgetOmikujiが関数名として使用されます。

テキストビューのIDはresultTextViewとしておきましたが、これがオブジェクト名として機能しますので、スクリプト内ではresultTextView.textなど、プロパティと組み合わせて指定していきます。

strings.xml

エラーが出るので、result_textとbutton_textを定義して解決します。

MainActivity.kt

メインのスクリプトです。randomをうまく使います。

デバック用にLog.nも使ってみました。

 

Kotlinの基礎

Kotlinの基礎をざーっとやってみました。

新しいプログラミング知識として、getter、 setter、アクセス修飾子、ジェネリクス、インターフェース、 null安全 の概念が得られました。

学習メモを下に貼っておきます。

次回はアンドロイドアプリ開発をやっていきましょう。

 

仮想環境でkotlinを学習する方法

こんちには アンドロイド開発してますか~~~~\(^o^)/。

前回はAndroid Studioでアプリを作ってみたのですが、javaの書き方では動くものの、kotlinの書き方ではGUIがうまく動きませんでした・・・。

先にKotlin力を強化するべきなのでkotlin boot camp(英語)を始めたのですが、説明が早すぎるのと、冗長であること、唐突にコードが出てきて、何をやっているのかを推測することに思考を持っていかれるので自分には合いませんでした。使用したIDEはInterij です。

ということで、日本語で学べる

定番ドットインストール

を試しているところです。

しかし、一筋縄ではいきません!エラー頻発しますのでおすすめできる方法ではありません。

この記事の範囲だけで2日かかってます。暇な人はやっていきましょう。

もう一度いいますが、おすすめしません。

仮想環境構築ツールvartualBoxをインストール

URL : https://www.virtualbox.org/wiki/Downloads

VirtualBox 6.1.4 platform packages を Windows hosts からダウンロードして実行するとインストールできました。

vartualBoxを操作するためにVagrantをインストール

URL : https://www.vagrantup.com/downloads.html

Windowsの64-bitをダウンロードして実行するとインストールできました。

Power Shellから、Vagrantを使用する準備を行う

Power Shellを起動して、コマンドを打っていきます。

ホームディレクトリ上に新規ディレクトリを作成します。

$ mkdir MyVagrant

作成したディレクトリに移動します

$ cd MyVagrant

仮想環境のディレクトリを作成します。

$mkdir MyCentOS

作成したディレクトリに移動します。

このディレクトリの中にCentOS仮想環境設定ファイルを作成します。

$ vagrant init bento/centos-6.8

CentOS仮想環境設定ファイルVagrantfileを修正します。

ホームディレクトリ(ユーザ名とか) > MyVagrant > MyCentOS の中にVagrantfileファイルが出来上がっているのでメモ帳で開いて、下記の部分の頭についている# を削除および左詰めします。これでこの仮想環境へは192.168.33.10としてアクセスできるようになります。

修正前:

# config.vm.network “private_network”, ip: “192.168.33.10”

修正後:

config.vm.network “private_network”, ip: “192.168.33.10”

ファイルをセーブして閉じます。

仮想マシンを起動します

再び Power Shellに戻って、仮想マシンを起動します。

$ vagrant up

このとき、エラーがでました。

2回続けて$ vagrant up しましたが、同様のエラーを出力しました。

$ vagrant halt して停止してから $ vagrant up するも改善されません。

解決手順:

  1. Vagrantをアンインストール
  2. VartualBoxをアンインストール
  3. VartualBoxをインストール
  4. Vagrantをインストール

これだけです。

あとから、調べてみたら「VT-x という設定項目を有効にする」だとか「Hyper-Vを無効にする」だとかありましたが、いじっていません。

vagrantを再インストールする必要も無かった可能性があります。

最後に $ vagrant status で runningしているか確認して、仮想マシンの起動は完了です。

仮想マシンMyCentOSにアクセスするためにPuttyをインストールする。

URL: https://www.chiark.greenend.org.uk/~sgtatham/putty/

The latest version is 0.73. Download it here.

とありますので、ダウンロードして実行するとインストールできました。

起動して、Host name or IP adress のところに 192.168.33.10を入力します。

以後、入力しなくていいようにMyCentOSと入れて SaveしてOpenします。ログインとパスワードを聞かれますので、両方vagrantと入力すればOKです。

Kotlinをインストールする。

さあ、やっとKotlinをインストールするところまで来ました。

現在PuttyからVagrantにログインしている状態で、ホームディレクトリには、vagrantしかないはずです。

この下に新規ディレクトリkotlin_lessons を作成して、今後のKotlin練習スクリプト置き場にしましょう。

現在地: /home/vagrant/kotlin_lessons

URL: https://kotlinlang.org/docs/tutorials/command-line.html

Getting Start の Working with the Command Line Compiler の Tutorials の

SDKMAN!の項目に従ってインストールをします。

$ curl -s https://get.sdkman.io | bash

しかし、unzipしてから実行するようエラーがでましたので、

$ sudo yum -y install zip unzip

してから今一度

$ curl -s https://get.sdkman.io | bash

しかしここでPuttyがダウンしてしまいます。

Java をインストールしてみるも・・・

Puttyで再接続して

$  sudo yum -y install java-1.8.0-openjdk-devel

してみるもPuttyがダウンしてしまいます。

困った・・・。

Puttyを再インストール

基本に立ち返って、Puttyを再インストールしたらうまくいきました。

$  sudo yum -y install java-1.8.0-openjdk-devel

JavaはOKです。

次にKotlinです。

$ curl -s https://get.sdkman.io | bash

ALL done!したら その下に指示があるとおり

$  source “/home/vagrant/.sdkman.bin.sdkman-init.sh”

をします。そして

$ sdk install kotlin

うまくいきました。困ったときは再インストールですね。

GUI的にアクセスするためにCyberDuckをインストール

URL: https://cyberduck.io/

からインストールします。

CyberDuckを起動して192.168.33.10 ポート22へ接続します。

ID とPWはvagrantです。

Kotlinスクリプトを作成します

では、予め作成しておいたディレクトリkotlin_lessonsの中に新規ファイルmyapp.ktを作成します。

これをatomとかInteriJで開いてサンプルコードとして

 

を書いて保存します。

Kotlinスクリプトを実行しましょう

再び、仮想マシンに戻ります。

コンパイルします

myapp.kt -include-runtime -d myapp.jar

コンパイルしたjarファイルを実行します。

java -jar myapp.jar

実行できたらOKです。

以上! 仮想環境でKotlinを実行するでした!

初心者はこんなことするくらいなら、仮想環境なんて作らずに直接windows上で InteriJを使えばよいと思います!

アンドロイドアプリをKotlinで作り始めました。

Keita_Nakamoriです。

スマホアプリを作ってみよう

今日はスマホアプリでも作って、日常の小さな悩みを解決するべく、アンドロイドアプリの作り方を学びはじめました。(悩みwww)

10以上も前、つまりスマホの第二世代くらいのときに、 Javaでやろうとしましたが、環境構築だけで体力を消耗し実現に至りませんでした。

しかし、HTML CSS PHP Python3  JavaScript をここ2年位で使えるようになった今なら、できるんじゃないかと思いまして、始めた次第であります。

最近の言語動向を調べたところJavaではなくKotlinなる言語が盛り上がっている?ようですので

https://classroom.udacity.com/courses/

のブートキャンプでざっとやっていこうという作戦であります。

今日やったこと

 

 

data_scientist:chapter9 教師なし k-means法

k-means法

教師なしクラスタリングということで k-means法を試してみました。

ブロブデータでやってみる

データセットからブロブを呼び出します。

このブロブをk-means法を使って分類します。

k-meansの条件としてクラスタの数を指定しますが、下記のようなエルボ法を使ってベストなクラスタ数を決定します。今回は3です。

 

 

 

 

 

 

 

k-meansの結果がこれです。うまく行っています。

 

顧客データでやってみる

エルボ法でベストなクラスタ数を見つけておきます。

5にしましょうか。

クラスタ数5の結果です。

1と3に固まっていますね。

 

ちなみにk-means デフォルトクラスタ数8でやってみました。

さっきのクラスタ3は下の2,3に分割されてしまっていると考えます。

クラスタ数5に戻って、結果のヒートマップを確認します。

年齢層でみると、クラスタ1は30-35歳、クラスタ3は45-50歳というように離れていることがわかります。

次は職業です。クラスタ数1と3は大きな差がないので、今回のクラスタリング結果に対して職業の寄与度は低いのでしょう。

スクリプト

data_science_chapter_9_k-means