2017年12月5日火曜日

Windows 10 IoT を Raspberry Pi 3 にインストール

1.用意するもの


1-1).母艦(Windows 10) が動くPC
 (インターネットに接続されていること)

1-2).microSDカード(今回は16GByte のものを使用)

1-3).Raspberry Pi 3

  本体、Raspberry Pi 3 用電源、LANケーブル、モニター、キーボード、マウス等


2.Windows 10 IoT Core Dashboard をダウンロードします。




 Get Windows 10 IoT Core Dashboard をクリックしてダウンロードします。ダウンロードするのは setup.exe ファイルでダウンロードが完了したら、ダブルクリックしてインストールします。


2.インストール


 setup.exe を実行すると Windows 10 IoT Core Dashboard が、メニューに現れます。


  クリックすると IoT Dashboard が動きます。SDカードを挿入しメニューの新しいデバイスのセットアップを選択し、パスワードを入力後に右下のダウンロードとインストールをクリックすると OS がインストールされます。

パスワードは後で使用しますので記録してください。


書き込み直後のSDカードの状態









動作後のSDカード の状態

未割当の領域が Data(P:) に含まれている
 (ドライブ名は動作中のPCの状態に依存します。)

3.起動

 Raspberry Pi 3 LAN ケーブルを接続し、SDカードをに挿入して電源ON 、しばらくすると Windows IoT Core が起動します。

 画面は単一のみとなります。


 日本語に設定します。 IP アドレスは DHCP で設定されています。


起動画面

 母艦のPC Windows 10 IoT Core Dashboardを実行すると自分のデバイスに接続中のRaspberry Pi 3 が表示されます。

 右クリックするとプルダウンメニューが表示されます。



メニューよりDevice Portal を選択すると以下の画面となります。

 ユーザー名とパスワードを入力します。

 パスワードはOSをインストールした時のものです。

次に下の画面が現れます。


端末の画面をキャプチャし、ホストPCに保存することもできます。(画面右下)


2017年7月10日月曜日

Visual Studio Code - 2 ( キ―マップ)

 Visual Studio Code はキー操作でほとんどの操作ができるようになっています(昔の Word Star 見たい) キーボードより手を動かさないで操作できるよう!

標準操作
[C] : Ctrl  キー
[A] : Alt   キー
[S] : Shift キー

キー 機能
[C]+X Cut(行削除)
[C]+C Copy(選択範囲をコピー)
[C]+[S]+K カーソル行を削除
[C]+[Enter] カーソルのある行の下に行を挿入
[C]+[S]+Enter カーソルのある行の上に行を挿入
[A]+[↓] カーソルのある行を下に移動
[A]+[↑] カーソルのある行を上に移動
[S]+[A]+[↓]カーソルのある行を下にコピー
[S]+[A]+[↑]カーソルのある行を上にコピー
[C]+D カーソル上の単語を選択 (2回目、次も選択)
[C]+K [C]+Dカーソル上の単語を選択 (2回目、次に移動)
[C]+U カーソル のUndo (変更を元に戻す場合は[C]+Z)
[S]+[A]+I カーソルを行末に挿入
[C]+[S]+L カーソルのある単語をすべて選択する。(すべてを同時に変更可能)
[C]+F2 カーソルのある単語をすべて選択する。(すべてを同時に変更可能)
[C]+I カーソルのある行を選択する。
[C]+[A]+[↓]カーソルを下の行に追加。(続いて入力すると2行同時に追加)
[C]+[A]+[↑]カーソルを上の行に追加。(続いて入力すると2行同時に追加)
[C]+[S]+] 対応するカッコまでを展開する。
[C]+[S]+[ 対応するカッコまでを隠す。
[C]+[S]+\ 対応するカッコに移動
[C]+] カーソル行にインデントを追加 (自動保存では最適化される。)
[C]+[ カーソル行のインデントを削除 (自動保存では最適化される。)
Home カーソル行の先頭に移動
End カーソル行の末尾に移動
[C]+Home ファイルの先頭に移動
[C]+End ファイルの末尾に移動
[C]+K [C]+C カーソル行をコメント行にする。    (行頭に // を追加)
[C]+K [C]+U カーソル行のコメントマークを削除する。(行頭の // を削除)
[C]+/ カーソル行のコメントマークを反転する。(なければ追加、あれば削除する。)
[C]+[A]+A 選択範囲をコメントにする。(/* ... */ で囲む。)
[C]+F 検索開始
[C]+H 置換開始
F3 次検索
[S]+F3 逆順検索
[A]+Enter 選択した全てに対応する。
[A]+C 大文字/小文字を区別する。
[A]+R 正規表現を使用する。
[A]+W 単語の検索は全単語/あるいは一部
[C]+M TAB キーによるフォーカス移動の開始/停止
[A]+Z 行末の折り返し方法の変更

Visual Studio Code - 1

 Go 言語の開発には Visual Studio Code の利用を計画していますが、なかなか慣れず苦戦しています。

 利用にあたり気づいた点をその都度、忘れない内にあげておきます。

まず、メニューの表示


 メニュー表示メニューバーの切り替え(B)をクリックすると画面から消えます。そしてAlt(左) をクリックすると メニューバーがON/OFF します。
 常時 ON にする場合は、再度、メニューバーの切り替え(B)をクリックしてください。

 慣れてくるとメニューバーはあまり意識しないですが、どうしても必要な時は画面に出してアクセスしてください。


2017年5月29日月曜日

Go Lang エラー

1 package main
2 
3 import "fmt"
4 
5 var (
6  // j   int8
7  str string
8 )
9 
10 func main() {
11  var j int8.......................jが全角(の小文字)になっている。
12  str = "初めての Go 言語 2 !!"
13  for j = 1; j < 10; j++ {
14    fmt.Println(j, str)
15  }
16 }

# command-line-arguments
./hello.go:13: undefined: j
./hello.go:14: undefined: j
コンパイル失敗

"j"が全角になっているのに暫く気づかなっかた!?
おかげでエラーの原因がわからず無駄に時間を過ごすことになった。

Go 言語に限った話ではないが、なかなか気づかずに時間をとられてしまった。

2017年4月16日日曜日

キーボード ( Ctrl と caps の入れ替え)

 Linux は最近、GUI でのアクセスがメインとなっているが、プログラムの作成、メンテナンスは相変わらずキーボードからの入力となる。その時、[Ctrl] + [C], [Ctrl] + [V]と Ctrl キーを押す機会が多いが、私は昔から [A] の左が [Ctrl] と想定しているので左手がそのように動いてしまう。
 Linux Mint Cinnamon では設定で簡単に変更できるので実行している。


メニューより
  設定
    キーボートと選択し
      レイアウトを選択する。
        右下のオプションをクリックする。


        Ctrl キーの位置を選択し
        Ctrl と Caps Lock を入れ替える にチェックをONとする。


        これだけでキーが入れ替わる。

Ubuntu ではメニューよりの選択方法はよくわからない。昔は簡単に設定できたんだけど!

 CentOS 7 ではアプリケーション ⇒ ユーティリティ ⇒ Tweak Tool  ⇒ タイピング ⇒ Ctrl キーの位置 で Ctrl とCaps Lock を入れ替える にチェックを入れれば変更可能)

 Windows では昔から Remapkey.exe を使用して変更していた。


2017年4月8日土曜日

引っ越し

 久しぶりにブログを更新、2月末に引っ越し(同じ東京小平市内)をしたのでバタバタして更新する暇がなかった。 
 大きな変化はなかったのですがパソコン周辺はではデスクトップPC にデュアルブートでWindows 10 と Linux を使用可能としていたのですが。Linux を CentOS から Mint Cinnamon (18.1)に変更しました。
 理由は最新版の Linux を使って見たかったからです。CentOS ではアプリケーションを最新版にするためにはソースをダウンロードしてビルドすれば可能ですが、 タマに失敗してあれが無い、これが無いと探しまわることがある。
 (これは、これで勉強になるのだが、年寄りはイライラする羽目になる。)
 また、Cinnamon は見た目が私の好みにあっていたので、暫く使って見ることにした。
(見た目、これって重要な要素だと思う)

 気に入ったソフトがあれば紹介していきます。 
とりあえず使用しているソフト

  • テキストエディター........Geany(簡易IDEとしてもOK)、Visual Studio Code ( Golang 用 )
  • メールクライアント........Thunderbird, (はじめから入っていた)
  • FTP クライアント............FileZilla
  • ブラウザー.....................Chromium 
  • バージョン管理.............Git ( version 2.7.4 )


2017年2月9日木曜日

Visual Studio で Raspberry Pi のリモートデバッグ

 Visual Studio Community 2015 で Raspberry Pi 用 の C ソフト(ARM用)を作って、リモート・デバッグを行って見ます。

0.事前準備
 Raspberry Pi と PC は SSHによる通信を行いますので通信ができることを確認して下さい。(鍵の作成は必要ありません。)
 本ブログを参照してください。

1.Raspberry Pi 側の準備

1-1.GCC と GDB のインストール。
 $sudo apt-get install g++ gdb gdbserverとして
 (g++ gdb gdbserver は既にインストール済みとなっているかもしれません?)

1-2.WiringPi のダウンロード
 GitHub より、ダウンロードします。

 $ git clone git://git.drogon.net/wiringPi

Cloning into 'wiringPi'...
remote: Counting objects: 1059, done.
remote: Compressing objects: 100% (877/877), done.
remote: Total 1059 (delta 752), reused 212 (delta 142)
Receiving objects: 100% (1059/1059), 329.48 KiB | 243.00 KiB/s, done.
Resolving deltas: 100% (752/752), done.
Checking connectivity... done.

1-3.WiringPi のビルド&インストール
 $ cd wiringPi
 $ ./build

  ・
  ・
  ・
  ・
 All Done.

NOTE: To compile programs with wiringPi, you need to add:
    -lwiringPi
  to your compile line(s) To use the Gertboard, MaxDetect, etc.
  code (the devLib), you need to also add:
    -lwiringPiDev
  to your compile line(s).

2.PC 側(Visual Studio )準備
2-1.Visual C++ for Linux Development
 Visual Studio で ツール(T) 拡張機能と更新プログラム(U)  を選択し、オンライン --> Visual Studio ギャラリーを指定し、Linux を検索する。
  Visual C++ for Linux Development が表示されるのでクリックしてダウンロードする。  ( VC_Linux.exe を適当なフォルダーにダウンロードする。)

 Visual Studio を一旦終了し、VC_Linux.exe を実行する。

2-2.VC_Linux のインストール


 インストールが終了したら Visual Studio を再起動する。

3-1.新しいプロジェクト... を選択する。

3-2.Blink(Raspberry) を選択する。

3-3.ソースが表示される。

3-4.デバッグ開始(F5) を選択

3-5.Connect to Linux
 必要事項を入力し、 Connect をクリックするとリモートデバッグが可能となります。



3-6.ブレークポイントで停止
  ( delay の時間は上図の様に変更可能です。)
 デバッグ開始(F5)で20行目で停止します。

 逆アセンブルを表示したところ

保存したソリューションの bin --> ARM --> Debug フォルダーに Blink1.out が出来上がっています。適当な転送ソフト( WinSCP 等)でRaspberry Pi に転送し、chmod +x Blink1.out で実行権を与えば LED の点滅が可能になります。

0x0001072C の行が2行表示されている!?(ご愛敬か?)

/home/pi ディレクトリに projects ディレクトリが出来ており

projects --- Blink1 --+-- bin -- ARM -- Debug -- Blink1.out
                      +-- obj -- ARM -- Debug -- main.o
                      +-- main.cpp

Blink1.out を実行しても LED の点滅は始まる。