Raspberry Piについて パート005
はい、前回(Raspberry Piについて パート004)の続きです。
webdavでファイルの共有を試そうかと、思ったのだが、これまたうまくいかず。(権限がないなど。)
だんだん腹が立ってきたので、止めました。
へぇ。
技術力、知識の無さですな。
ドはまりして、無駄に時間潰すのも勿体ないので、他に何かいい方法はないかと、
模索していたところ、ノートPCの隣にUSBメモリが…。
あ。
もう、ネットワークにこだわらなくていいや。
最初はノートPCで作った、テストモジュールを更新してはラズパイで実行と思っていたのですが、
進まなけりゃ、ちょっと、それも違うので、とりあえず、先に進めるようにしました。
ちゅうことで、USBメモリで、ファイルを渡すことにしました。
さて、Windowsだったら、FAT(FAT32)やNTFSがよくつかわれますが、
Linuxって、ext3とか4とか?
USBはどうしたらいいのだろう。
そういえば、WindowsでexFATなるものが、搭載されていて、
それはどちらのOSでも使えるような事を見たはずなので、
それを使うことにしました。
というのも、そのUSBメモリ、exFATでフォーマットされていたというのと、
LinuxでFAT32やNTFSが使えるか、知らないので、ちょうどいいやと。
ノートPCで作成したモジュールをUSBに入れて、ラズパイに挿入。
すると、どうしたことでしょうか。
Error mounting /dev/sda1 at /media/xxx/xxxxxx: Command-line `mount -t "exfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,iocharset=utf8,namecase=0,errors=remount-ro" "/dev/sda1" "/media/xxx/xxxxxx"' exited with non-zero exit status 32: mount: unknown filesystem type 'exfat'
エラー出ましたね。
やっぱり。
で、調べたわけですよ。
sudo apt-get install exfat-utils exfat-fuse
上記のコマンドでexFATが使えるらしい。
早速、実行。
そして、USBを抜き差し。
あ、認識。
すばらしい。
今までのネットワーク共有やwebdevは何だったのだろう。
しかし、できなかったところは悔しいな。
また、今度、対応します。
以上
Raspberry Piについて パート004
そいで、とりあえず、せっかく開発者なのだから、それチックなことをしたいなと思って、ググりました。
そしたら、
【C#】RaspberryPi 3に.NET Coreを入れてHello World!
とりあえず、やりたいことが書かれてあったので、参考にさせていただきました。
いやー、っもう、そのままでOK。
ラズパイのアップグレードしている間に、別PCでサンプルコンソールアプリを作り、
それをちょこっといじりました。
引数を受け取り、第一引数に何か指定されていたら、それを合わせて、helloworldを出力するものです。
PCの方でうまくいったので、それをラズパイに渡そうと。。。
しかし、そこで問題が。
どうやって、ラズパイに渡そうか。
プログラムを。。。
あ、ネットワーク経由でいいか。
たしか、Linuxってsambaだっけ。
ファイルマネージャーでネットワークにつなげることができそうなので、とりあえず、それを。
しかし、ノートPCが見つからない。
ノートPCのネットワーク設定を見てみる。
指定のワークグループ名になっている。
なぜだ。。。
この間の話は省略しますが、
簡単に言うと、一度ワークグループに戻して、さらに、カスタムのワークグループ名にして、
それでも結局、変りがなかったので、何か、いじっていたら、ネットワークの設定らしきものがあたので、
ウイザードで、設定していったら、うまく行けたっぽいです。
要は、よくわからないという事で。。。
よく、ありますよね。(てへ
で、webdavというと、IISでできたはずなので、IISをインストールしました。
とりあえず、話がそれてきたというか、いったん、これで終わります。
(続く)
以上
Raspberry Piについて パート003
というわけで、現在やり直しているわけですが、
簡単にさくっとするためにも、NOOBSで行いたいと思います。
Download NOOBS for Raspberry Pi
で、コマンドラインは好きではないので、デスクトップ版にしたいと思います。
ファイルをダウンロードして。。。(1.5GBですが、結構ありますね。)
ダウンロードが終わったら、解凍するわけですが、7-Zipと書かれてあったので、
7-Zipをダウンロードしたのですが、既にファイルのダウンロードで結構、時間がかかっていたので、
その間にめんどくさいという事になって、いつもどおり、winrarで解凍しました。
うまく行けたっぽいので、いいという事にします。
次におかしくなっていたSDカードを
SDメモリカードフォーマッター - SD Association
これで、フォーマットしました。
っと、その前にWindowsのディスクの管理でパーディションを削除して、
きれいにしてから、上記のフォーマッタでフォーマットしました。
Windowsでフォーマットする前のSDカードを確認すると、パーティションが3つぐらいに分かれていましたので、
それを削除しました。(さらに、Windowsでフォーマット)
フォーマットした後、先ほどの解凍したファイルをそのままWindows上でコピーしました。
コピー後、ラズパイに差し込んで、ラズパイを起動しました。
Wifiを使えるような感じだったので、メニュー上で自宅のWifiにつなげて、ネット通信をできるようにしました。
こうすると、追加できる機能が増えましたが、とりあえず、OSだけでいいので、OSだけにチェックを入れました。
ちゃんと、図ってはいませんが、時間的に30分ぐらいだったでしょうか。
それなりにやっぱり、時間はかかりましたね。
CUIだったら、もっと時間は少なくて済むのでしょう。
再起動すると、きれいなデスクトップの画面が出てきました。
これが、こんな小さいコンピューターで動くなんて、かなり感動ですね。
オフィスソフトもついてたり、Pythonついてたりとか。
普通のPCですね。
とりあえず、用意はできたので、このまま続けたいと思います。
以上
Raspberry Piについて パート002
とりあえず、急いでSDカードを買いました。
引き続き、調べると、
https://www.raspberrypi.org/downloads/raspbian/
という、ラズパイ専用のOSがあるという事で、それを利用することにしました。
そんなものがあるんですね。
と、その前に。
前回(Raspberry Piについて パート001)の投稿でちらっと書いた通り、
この記事を作っている時点で、だいぶ、時間がたっています。
ということは。。。
はい、忘れました。(汗
メインPCのダウンロードフォルダを見ると、私はRaspbianとNOOBSの2種類と、
それぞれのCUIとデスクトップをダウンロードしていました。
ちゃんと、ダウンロードしていたんですね。
さらに、SDフォーマッタとイメージファイルの書き込みソフトをダウンロードしていました。
記憶を辿ると、imgファイルをどうのこうのした覚えはないので、きっと、NOOBSでやったのではないかと思います。
SDカードの中身を見たらいいじゃないかといわれるかもしれませんが、今回、久しぶりにしようとしたら
うまく、立ち上がらなかったので、さっさと消しました。(SDカード読み込みエラーなのか、スキャン中になる。)
一応、調べたのですが、やり直した方が早いみたいでしたので、そうしました。
別の投稿に記載しようと思いますが。(というか、エラーを忘れた。。。)
そんなこんなで、久しぶりにやり直しました。
それについては次回分の投稿にしたいと思います。
当時の事で覚えているのは画面を見る所までです。
ただし、電源の問題なのか、とても不安定だったことを覚えています。
てっきり、ラズパイに関してはいくつか、投稿していると思っていたのですが、
全くしていなかったので、記憶がさら~~っと、どっかへ。。。
ちゅうわけで、ある程度知っている今の状況でやりなおすのも、面白いかなと。
次回の投稿からは仕切り直しとして、今やり直している状況を記載していこうと思います。
以上
Raspberry Piについて パート001
かなり前から、気になっていたラズパイ。
とうとう、買ってしまいました。(購入したのは2017年8月です。)
1万以上かかるなら、ちょっと。。。だけど、何とか買いました。
そして、さすがにボードむき出しなのはちょっと、あれなので、プラスティックケースも買いました。
さて、買ったものの何をやったらいいのだろう、、、
ぐぐる。ぐぐる。
記憶装置がいるのね。
SDカード。
買わなくちゃ。
そういえば、どうやって画面と繋げたらいいのだ。
あ、HDMIで接続するのか。
そういうコネクタ部分は最新だわ。
D-SUBとかと思ってた。
ということは音声も大丈夫だな。
とりあえず、いつの日か使うだろうと思って間違って買ってしまったアマゾン製のHDMIケーブルを探す。
ディプレイ切り替え器で接続しているので、大丈夫。
ん?そういえば、うちのディスプレイ切り替え機、D-SUBだった。。。
切り替え器、使えないじゃん。
ということで、直でディプレイと接続。
最近、デュアルディプレイにしているので、メインPCも古ディスプレイで接続。
そうしないと、ラズパイはHDMIだけなので、古いディプレイは逆にHDMI非搭載なので。
ま、ちょっとやるだけだからいいや。
ちゅうことで、なんだかんだ、設備投資も必要という事で、
SDカード待ちです。
以上
Dockerについて パート005
以前(Dockerについて パート002)のコマンドの続き
●削除系のコマンドの実行
C:\WINDOWS\system32>docker rmi microsoft/nanoserver
Error response from daemon: conflict: unable to remove repository reference "microsoft/nanoserver" (must force) - container a90985624dac is using its referenced image 6c367cf4cb98
C:\WINDOWS\system32>docker rm microsoft/nanoserver
Error response from daemon: No such container: microsoft/nanoserver
C:\WINDOWS\system32>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
microsoft/nanoserver latest 6c367cf4cb98 2 weeks ago 1.02 GB
⇒★削除できなかった。
●よくよく調べてみる。(ダウンロードしたイメージを消したい。)
C:\WINDOWS\system32>docker rmi -f image microsoft/nanoserver
Untagged: microsoft/nanoserver:latest
Untagged: microsoft/nanoserver@sha256:86fa413540250b8de248da0a095f13fa119e00a212a855df98947d6948892b54
Deleted: sha256:6c367cf4cb9815b10e47545dc9539ee4bd5cd0f8697d33f4d9cb1e1850546403
Error response from daemon: No such image: image:latest
C:\WINDOWS\system32>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
⇒★消せた
C:\WINDOWS\system32>docker pull microsoft/nanoserver
Using default tag: latest
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Already exists
4a8c367fd46d: Already exists
Digest: sha256:86fa413540250b8de248da0a095f13fa119e00a212a855df98947d6948892b54
Status: Downloaded newer image for microsoft/nanoserver:latest
⇒★今度はpullしてみる。
C:\WINDOWS\system32>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
microsoft/nanoserver latest 6c367cf4cb98 2 weeks ago 1.02 GB
⇒★成功。(以前はコンテナの種類をlinuxにしていたから。そりゃ、msだもん。)
以上
Xamarinについて パート005
カスタマイズ部分の実行成功
自分でお題を出して、それをXamarinで作っているのですが、
モデルの部分をSQLiteにして、テンプレから作っています。
テンプレの状態ではモックがあり、そこにテストデータが定義されており、
それを呼び出して表示している状態でした。
その状態(=何もいじっていない)ではちゃんと動いていたのですが、
SQLiteにしたら、動かなくなりました。
(元々、itemというModelだったのですが、自分のテーブルに再定義しました。)
結果的にはサービスのクラスのタグの指定がおかしかったようで、
その間にも(結果的に)色々いじっている間に、エラーがエラーを呼んで、
どうにもこうにも、という状態になっていたようです。
[assembly: Xamarin.Forms.Dependency(typeof(xxxxxxx.Services.xxxxxxTaskService))]
で、上記の色々いじってのところですが、どんなことをしたかというと、
・EF Coreを使っているので、 クロス(シェア)部分を.NET Coreで定義しなおした。
・Model部分を切り離した。
・UWPのターゲットをcoreやstdに変えたり、テンプレの指定をVS標準にして、Xamarinに仕立て直した。
まとめたら、これ位なんですが、とても時間がかかりました。
うーん、20日ぐらい。。。
まあ、自分の技術力のなさを痛感します。。。
で、これまでにもXamarin関係で、記事を投稿していますが、
今回のこの一連の流れで出てきたものです。
やっと、スタートラインのような感じなので、まだまだ出てきそうですが。
ようやく。。。とはいえ、自分のカスタマイズのところが動いたので、
大きな一歩ではないかと思います。
よく見ているところ。
Getting Started with EF Core on .NET Core Console App with a New database
以上
Xamarinについて パート004
You MUST call Xamarin.Forms.Init(); prior to using it. at Xamarin
というエラーが出た。
なので、調べたら
バックグラウンドサービスからDependencyServiceを使ってはいけない
正しくはXamarin.Forms.Init()を呼ぶ前に使ってはいけない。
という事だったので、
Xamarinと通常のテンプレとでコンペアとってみた。
そうすると、下記の違いがありました。
+ rootFrame.NavigationFailed += OnNavigationFailed;
+
Xamarin.Forms.Forms.Init(e);
- if (e.PrelaunchActivated == false)
- {
if (rootFrame.Content == null)
てことで、とりあえず、Initを呼ぶと、実行時エラーはなくなりました。
以上
redmineについて パート003
チケットの編集をしたくて、編集ボタンを押下しても、注記のテキストボックスしか出ず。。。
やり方を検索して、
http://redmine.jp/faq/issue/edit-issue-description/
に、載っていたので、管理者、開発者ともにロールを確認したけど、ちゃんとチェックが付いていた。
まあ、そもそも変えた覚えないし。
で、何でかなと、色々確認してみたら。。。
今回、プロジェクトに対して、プロジェクトを作っていた、
つまり、サブプロジェクト。
サブプロジェクトに自分が使用しているユーザーが登録されていなかった。
親プロジェクトには登録していたんだけど。
ちゅう、しょうもない、ミスでした。
(といいつつ、作業中は内心、なんでやねんと、思っていたけど。)
以上
ジェネレーションギャップについて パート002
車や家での音楽の聴き方
(各世代の20歳代時点)
20代:スマホ
30代:ipodやMDとCDチェンジャー
40代:CDチェンジャー(車で6連装以上は金持ち)
50代:カセットテープ
以上
