人気ブログランキング |

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

<   2018年 01月 ( 19 )   > この月の画像一覧

ストアからインストールしたBash on Ubuntu。
BashとVcXsrvで表示したXクライアントアプリに日本語表示。
globalでソース解析。
ファイル操作とgit。
XlibでGUIアプリ開発環境。

これだけをとりあえず可能にする設定とインストールアプリが以下の通り。
a0034780_02151546.png
set-locate
locate-gen
update-locate

nautilus
最初に$HOMEにコンフィグが入る
sudo synaptic

language-pack-gmone-ja
server-xorg
xorg-dev

x11-server-utils
x11-apps

.bashrc
export DISPLAY=:0

#include <string.h> 4行目に追加
cc xlib-2.c -o a2 -I/usr/include/X11 -lX11 (-L/usr/lib/X11はいらない)

global

.vimrc
set visualbell
map <c-g> :Gtags
map <c-h> :Gtags -f %<cr>
map <c-j> :GtagsCursor <cr>
map <c-n> :cn <cr>
map <c-p> :cp <cr>

(Bash)
sudo apt install language-pack-ja

sudo update-locale LANG=ja_JP.UTF-8

takaoフォント

gitk

git-gui

そういえばストアアプリに秀丸が無償版であった。一番後ろがそれ。全然変わらん。
a0034780_02253531.png

by k1segawa | 2018-01-30 13:09 | X-Window | Comments(0)
Linux for Windows (Windows10 Fall Creators Update 1709)で、ストアからUbuntuをインストールしたが、bashで色んな所でベルが鳴る。エラーなのかもしれないけど、どうもうるさい。

端末のベルを消すのに、こちらのサイト様で解決方法が。

/etc/inputrc を $HOME/.inputrc にコピーして、該当の場所のコメントを外す。
# set bell-style none

bashを再起動すると音が鳴らなくなった。
a0034780_03354274.png
ついでにvi も set visualbellで音を無くす。ビジュアルベル機能は該当行の下にあるがコメントアウトしてあるので問題無し。

by k1segawa | 2018-01-30 03:41 | X-Window | Comments(0)
Let's note が 何も触っていないと スリープする。

電源ケーブルを接続して使っているのでWindows10 の 設定で電源をつないでいてもスリープ「なし」に設定しているのに2,3分で勝手にスリープする。

ただ、メディア再生中はスリープしない。
このPCは電源が切れると、さらにWi-Fiが切断されてしまうので、設定で再接続が手動/1時間後/.../1日後で、最短で1時間なのでPCの前にあるWi-Fiスイッチをわざわざ操作しないとならない。

外部出力でHDMIディスプレイにつないで使っているのでノートPC本体に手を伸ばすのが面倒くさい。

そもそもスリープにならなければいいのに、コントロールパネル(Windows10 の設定画面とは別のアプリ)から詳細に設定しても、ダメ。
インテルの管理アプリから電源設定を調べても同じ。

手に負えない感じがして諦めていたら、ひょんなことからネットで下記サイト様を発見。

サイト様もだいぶ苦労したようでその過程が書いてあり、最後にやっと解決策が。
要は、
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0]
"Attributes"=dword:00000002

というレジストリを追加すると出てくる詳細画面で2分になっているためらしい。
戻すには以下の通り。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0]
"Attributes"=dword:00000001

レジストリなのでバックアップしてから、試してみる。
コルテナさんでregeditと入力して、起動後エクスポート。セーフモードで起動した時簡単に探せるようにC:\の直下に。
C:\syslpto.regとでも。
一応エクスプローラでサイズを確認。
236MB。まあまあかな。

サイト様の先の海外のサイト様が元なので、そこのregファイルをダウンロードして適用すれば簡単。
Windows10 では 統合なのね。
下記のようにして適用。
a0034780_10332935.png
特に再起動しなくとも以下の通り、電源オプション画面(設定-システム-電源-詳細設定)に新しい項目が追加される。
a0034780_10372918.png
からの
a0034780_10385294.png
展開すると、海外サイト様の通り、2分になっている。
変えるのは日本語のサイト様の言う通り安全を考えて60分に設定。
(夜中の自動アップデートで2分→60分で自動スリープして欲しいし)

おお~うまくいった~再起動しなくても大丈夫だ。

regファイルは上記の記述をテキストファイルにペーストして拡張子を.regにすれば同じ。
60分でスリープするので、切断後Wi-Fi設定で手動→1時間にすれば、再接続もされる。
実際にスリープで画面が暗転した直後に再度スリープが解除された。Wi-Fiは切断なし。




by k1segawa | 2018-01-27 10:45 | パソコン | Comments(0)

Tinkercad で 電子工作 (1/26)

Web上でGUI上で電子部品を置いて、電子工作し、回路シミュレーションできるのが、Tinkercad。

以前Autodesk Circuitsで123D Circuitsを提供していたのが名前が変わった。
3D 老舗のAutodeskなので使い方で出てくるのは3D CADが多いが、回路も組める。

123D Circuitsの使い方で検索するといい感じ。
公式サイトは以下の通り。


初めての場合アカウントを作成する。
Autodeskや123D Circuitsで作っていたアカウントでもOK。

サインアップボタンで作成。
電子メールアドレスがアカウント名になる。

早速サインインすると次のような画面になるので上の[学習]ボタンを押す。
a0034780_16441804.png
学習(Learn)モードになって、3D Design と Circuitsの2つのボタンがあるので、Circuitsを押す。
a0034780_16482096.png
ボタンを押すと電子工作のページが表示。
初心者ならArduinoだろうから、3つのボタン、Basic Circuit Design Arduino Projects のうち、Arduino Projectsを押す。

a0034780_17052235.png
この種類の画面であれば下の方にキー操作が載っている。
a0034780_17035542.png

次の画面は次のようになる。順番にイントロダクション → スタートでいいだろう。どんなプロジェクトがあるかは view all Arduino ボタンで。
a0034780_17103898.png
順番にイントロダクション(0)~1,2,3, ... , 15まである。勉強のように1つずつチェックが入る。英語だけど簡単なので雰囲気でわかる。あとは別のサイトで調べてもいいかも。

まずはイントロダクションで簡単なLチカを実際に配線し、スケッチを入力する。

以下はイントロダクションの3/5までやってみた様子。画面左上の直角三角形2つが部品の回転、LEDは + components を押すと、色んな部品が表示されてそこから選べる。
線は単にマウスで引っ張ると出て来る。それぞれ5Vと + 、GNDと - をつなごう。
線を選択した状態だと、右上に色を変えるColor というボックスが表示されるので、red や black を選んだ。
a0034780_17415259.png
(続く)



by k1segawa | 2018-01-26 17:20 | パソコン | Comments(0)
Raspberry Pi に samba設定しているのだが、Windows共有やsamba設定、Windows資格情報を変えてもつながらない。

なんでかなーと、ping で ノートPC同士送ってみたら届かない。
あー、セカンダリSSIDでWEP(ゲーム用)をステルスで追加したから、ルータでネットワーク分離機能がONになっていたらしい。

マニュアルを読むとセカンダリSSIDを使うようにすると、マスタもセカンダリもネットワーク分離機能がONになるらしい。セカンダリSSID側はONにした記憶があるが、マスタもかー。

ネットワーク分離機能がONになると、他ネットワークSSID間はもちろん、同一SSID間のLAN接続も出来なくなるらしい。

セカンダリSSID側はアタックに弱いWEPなのでONにして、マスター側は一応WPA2なのでOFFにした。

やっと ping が通るようになった。
(最初Wi-Fi間のみpingが通らないのかと思った)

しかし、ルータの設定画面に入るのに、新しいルータはLANポートにケーブル接続しなくともWi-Fiから入れるのか~

危険だな~近くからWi-Fiで外部アタック出来るということか。

設定はマスター側SSIDもセカンダリもONの時マスターSSIDで接続して入れたからネットワーク分離機能は関係ない。

ひえー、こえ~。管理ユーザ名固定だし。ログインされたら終わりだ。

ルータの設定画面は、SSIDをユニークにかつステルスにして、かつ設定画面のパスワードを変更して、さらにMACアドレス制限掛けてやっと安心できるな~あとは動作スケジュールで使ってない時はルータ不動にするか~

最近はWi-Fiしかないからなんだろうけど、LAN接続時のみ設定画面開けないように変更出来ればいいのにな。

P.S.
このようなルータはコンビニのFree Wi-Fiに置くとまずいな。
LAN接続のみ設定画面が開け、かつ管理ユーザ名も変更できないと。WAP2の暗号化やMACアドレス制限掛けていたとしても、プロトコルだけだといつかは破られるのだから。

by k1segawa | 2018-01-25 07:15 | Raspberry Pi | Comments(0)
古いDVI接続のディスプレイにつなぐと4:3の1024x768で自動設定される。
縦のピクセルが足りないので、せめて1024ぐらいにしたいと思い、LDXEでの設定を調べた。
こちらのサイト様を参考に。

xrandr というコマンドで出来るとあるが、
cvt 1280x960
で取得した値で60.0kHzを指定したが、
Failed to get size of gamma for output default
というエラーになるので、旧来通りraspi-config で。

a0034780_05165037.png
a0034780_05170634.png
a0034780_05175092.png
周波数60.0、4:3の1280x960を選ぶ。

reboot後、画面が広くなった。

P.S.
最後の画面で選択した項目とは違う位置に黒いカーソルがあるが、選択後に32という番号が出るので正しく選択されていた。
(DMT Mode 32 1280x960 60Hz 4:3)

それでも縦長な比率だったので、5:4を選ぶと正方形になった。
(DMT Mode 35 1280x1024 60Hz 5:4)

満足。

by k1segawa | 2018-01-25 05:22 | Raspberry Pi | Comments(0)
新しいノートPCで Arduino 1.8.5 を入れたので、各種ライブラリのソースを確かめるのに global と vi が欲しかった。
なので、 MicrosoftストアからUbuntuをインストール。

インストール容量が気になったのでチェック。インストール前の空き容量。
[結論]
700MB
a0034780_19211682.png
インストール後。
a0034780_19225525.png
400MBくらいだ。

ところが、実行しようとMicrosoftストア上の起動ボタンを押すと、エラーが。
a0034780_19242590.jpg
https://aka.ms/wslinstallに行け、とのことなので入力すると次のサイト様に飛ばされる。
管理者権限のPowerShellで次のコマンドを実行せよ、とのこと。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
a0034780_19262791.png
サイト様の言うことに従い、実行した様子。
a0034780_19335380.png
a0034780_19350135.png
a0034780_19363990.png
開発者モードをONにしたのかな?(違う)

再起動すると、Windows Updateの時のようなメッセージで x/xx % 終了とか出て新たなシステムがインストールされている模様。最後に「構成を変更中」のようなのが出てうまくやっているようだ。

再起動後、ショートカットでUbuntuを実行するとエラーはなくなった。そしてまだインストールとの事。数分待ってUNIXのユーザ名とパスワードを決める。これはrootのパスワードではないので、セキュリティを考えるならrootのパスワードも設定する事。
a0034780_19424197.png
容量は再起動する前と変わっていない。
a0034780_19413390.png

vi(vim)やtopは入っていたので、Windows用XサーバのXvsrvを入れる。
a0034780_19525696.png
容量は100MBか。
サンプルのxcalcやxclockは動いた。

x11-apps をいれてoclock(xclockのおしゃれ版)やxeyes、ico(ワイヤーフレームの多面体をウィンドウ内で動かすデモ)を入れる。
sudo apt install x11-apps

容量は70MBくらい。

export DISPLAY=.0
echo $LANGはen_US.UTF-8なので、
export LANG=ja_JA.UTF-8

/etc/hostsにはlocalhostがきちんと定義されていたので何もしない。

どれもちゃんと動いた。
日本語入力はen_US.UTF-8の状態でもバックスペースで漢字1文字が半分になることもない。
PATHも結構長くなっている。
a0034780_19591558.png
Windows側の実行形式格納エリアやログインユーザ固有のエリアが追加されているので、Linuxで作ったプログラムをWindows上で実行しやすいようになっているのかな。

あとSSH Server は以下のように起動していないようだ。
a0034780_20025725.png
もちろんLinux上でも。
a0034780_20033334.png
開発者モードは不要になった。
a0034780_20040395.png
そろそろアップデートも(ここでglobal インストールしようとしてエラーになったので)。
sudo apt update
sudo apt upgrade

容量は300MBぐらいか。
途中perlでLC_ALLが未定義でwarrnigっぽかったが、LANGを定義していればよいようだ。
ネットワーク環境もあり、30分ほどかかった。
a0034780_20331184.png
ここでやっとglobal がインストールできた。
sudo apt install global

大して容量は変わらない。
ここまででトータル700MBか。

【目的のglobal】
global を zip展開したarduino-1.8.5の下で実行してソース解析。
一応 export LC_ALL=C 。export 定義は.bashrcへ。

以前の記事で、

cd /mnt/c/Users/<ユーザ名>/Downloads/arduino-1.8.5*
gtags
vi .

ソースは
arduino-1.8.5/hardware/arduino/avr/cores/arduioの下。
あとは説明に従い、プラグイン導入や色々キーマップ定義すれば便利に使える。sh も bash でOK。

ダイレクトに移動してもいいし、一個ずつ移動してもいい。
<ctrl+g>analogWriteで検索した画面がこれ。
a0034780_21130579.png

そしてviのカラーが見づらいと感じたら、以前の記事、

完了かな。

by k1segawa | 2018-01-24 20:59 | パソコン | Comments(0)

Windows10 Fall Creators Update 1709 以降では、既存のプログラムの関連付け(.docをOfficeで開くなど)は「設定」というプログラムが管理しており「既存のアプリ」で変更できる。
[設定]→[アプリ]→[既存のアプリ]
a0034780_16142719.png
a0034780_16162275.png
a0034780_16215118.png
ストアアプリ(UWP)でないプログラム(拡張子がexe, com, msi, bat, vbs, ps1など)を"デスクトップアプリ"と呼んでいるが、従来の拡張子による関連付けプログラムがWindows8.1以降無くなってしまったので諦めて以下のような事は手間はかかるが次のサイト様のように行う。

(1) "新規"に関連付ける時、ストアアプリではなく、デスクトップアプリにする
(2) zipでダウンロードしてインストールしていないデスクトップアプリに関連付けをする
(3) ファイル選択時に開くプログラムを一時的に指定できるように、関連付けを"削除"する

関連付けたいファイルを右クリックして別のプログラムを選ぶ
assocコマンド(管理者権限)で削除する

しかないらしい。
コントロールパネルは次の手順で残っているのに残念。
[コルテナさん][半角英字c][コントロール パネル ]

P.S.
この手順、arduino IDE をいくつもの異なるバージョンで使い分けるためにインストールせずzipで落とすので必要。またインストールして関連付けしたバージョンも選択に戻したい時に"削除"が必要になってくる。

by k1segawa | 2018-01-23 16:38 | パソコン | Comments(0)
(2018/1/20追記)
IDEのメニューから[ツール][シリアルモニタ]を開き、通信速度を変えると、マイコン書き込みでエラーになる。

表示内容:
最大1024バイトのフラッシュメモリのうち、スケッチが776バイト(75%)を使っています。
最大64バイトのRAMのうち、グローバル変数が37バイト(57%)を使っていて、ローカル変数で27バイト使うことができます。
avrdude: Expected signature for ATtiny13 is 1E 90 07
Double check chip, or use -F to override this check.
選択と異なるマイクロコントローラが見つかりました。ツール>ボードメニューから正しいボードを選んでください。

どうやら[ツール][ブートローダを書き込む]をやれば正常になるようだ。
通信速度を9600→19200もその逆も同じだ。

書き込みに使っていた通信速度がデフォルトで9600らしく、シリアルモニタで変更した通信速度で、マイコンに書き込むようavrdudeへ指定するには一度"ブートローダを書き込む"を行わないといけないらしい。
Arduino 1.8.5のいつからそうなったのかわからないが、前はこんなことはなかった。シリアルモニタで変更したときもavrdudeの設定に反映させておけばいいのにな~(bitDuinoだけ?)

もしかして今回の記事にあるように、EEPROMが未保護→保護に変更になり、そしてマイコンの通信速度はEEPROMに存在(?)し、ブートローダ書き込み時のみEEPROMに通信速度が書き込まれる?そしてシリアルモニタで変更した通信速度はマイコン書き込み時に使われるが、EEPROMには書き込まれなくなった(回数削減のため)?

(ここまで)

以前の記事で、Fuseビットを書き換えるのは工場出荷状態だと8分周なので9.6MHz/8=1.2MHzと記述した。

しかし音がどうも低い。
なので書き込みで使っているavrdudeでFuseビットを読み出してみる。

場所はダウンロードディレクトリにzip展開したので、インストーラとは違う場所に。
C:\Users\<ユーザ名>\Downloads\arduino-1.8.5-windows\arduino-1.8.5\hardware\tools\avr\bin

インストーラだと以下のようになるのかな(自信なし)。
C:\Windows\Program Files\arduino\arduino-1.8.5-windows\arduino-1.8.5\hardware\tools\avr\bin

コマンドプロンプトを開き、ディレクトリ移動する。
cd C:\Users\<ユーザ名>\Downloads\arduino-1.8.5-windows\arduino-1.8.5\hardware\tools\avr\bin

confファイルが一つ上のetcにあり、Fuseビットの下位バイト読み出しするので次のように入力。
ATtiny13 は hfuse(fuseビットの上位1バイト H)は0xFF固定。Eは拡張ビットでATtiny13にはない。
COMポート番号は自分の環境に合わせて。

avrdude -C ..\etc\avrdude.conf -c avrisp -P COM4 -b 19200 -p attiny13 -U lfuse:r:con:h

詳しい仕様は以下のサイト様へ。

自分のサイトでも一度解説している。

[出力結果]
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x1e9007 (probably t13)
avrdude: reading lfuse memory:
Reading | ################################################## | 100% 0.02s
avrdude: writing output file "con"
0x2a
avrdude: safemode: Fuses OK (E:FF, H:FF, L:2A)

avrdude done. Thank you.

[ここまで]

0x2aだと自分のサイトで解説している表によると、
a0034780_21293841.png
0x2a(0010 1010)なので、下位バイトの表のビット5、3、1が1で、それ以外が0。
以前の記事では工場出荷時の値は0x6aで、EEPROM未保護だったのが0x2aで保護になっている。それ以外は規定値なので表の右端の通り、シリアルプログラミング許可、ウォッチドッグ使用しない、システムクロック8分周、低速立ち上がり、9.6M内部発振となっている。1.8.5でブートローダ書込みやった気がする。

おや?9.6MHz/8=1.2MHz(Internal)で合ってるな。

なんで音が低いのか。
スケッチをよく見ると、以下のコメントが。
// note durations: 4 = quarter note, 8 = eighth note, etc.:
4分音符、8分音符という意味かな?
配列の末尾の8。でもこれを変えても音の高さは変わらない。

//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
8分音符の時、1000/8=125か。150は少し多めか。
これは8分音符に近い音の長さになるようで、高さには関係ない。

そもそも楽譜のC4は正しい音程なのか?
C4はドレミファの開始のドに当たる音。開始のドをC4と呼ぶのが世界標準で、C3と呼ぶのは日本のYAMAHA独自らしい(C4 piano で検索)。
C4という表記はコンピュータのものでYAMAHAとYAMAHA以外(ローランドとか)で、1オクターブ違いがあり、"Wiki - 中央ハ"によると、ピアノ88鍵盤の中央に位置するドの音が、"中央ハ"と言われる音で、これは女性や変声前の男性が出せる最低のドらしい。おっさんが思う開始のドはたぶん"中央ハ"より1オクターブ低いド。カラオケでよく低く調整するやつ。子供時代ドレミや和音を覚えた時のドは""

そういえばこの楽譜はC4からG3の低い方へ音が変化していく。
C4がドレミファの開始のドだとすると、G3は普通のドレミファソラシドの鍵盤より、左の外の音になる。
あれ?普通の鍵盤の範囲で引くなら、C4は高いドじゃないと全部入らないよ。
C4が
これC4じゃなくてC5から始まるんじゃないかな。
そうするとすべて数字が1つ増えた楽譜になる。

つまり元の楽譜は海外のキーボードで弾けば、正しく高いドが鳴るはずなのか。
C4と指定すればYAMAHAより低く鳴ってしまう。そして世界標準ではそれは正しい。
そして「タンタタタンタン、タンタン」という楽譜は日本人が作ったもの。
元のサンプルで、4,4,4,...と書いてあるのはド、ドド、とひく

こんなところにずれがあるとは。tone関数自体は間違ってないのに、サンプルの楽譜をYAMAHAのキーボードで弾いたため、実際に発生する音階(世界標準)と合わなくなったのだろう。そしてpitches.hで定義してある音程はYAMAHA向けに変わってる?

正しい楽譜は次のようになる。
NOTE_C5, NOTE_G4,NOTE_G4, NOTE_A4, NOTE_G4,0, NOTE_B4, NOTE_C5,0};

日本と海外のWebピアノのサイト様を以下に示す。やはり海外はC3、日本はC4が開始のドと印字されている。
(音色は違うが音程は同じ)
日本:Web Piano
a0034780_23192939.png

a0034780_23195835.png
以前は修正後の音で鳴っていた。あれから何が変わったのだろう。

by k1segawa | 2018-01-20 21:59 | arduino, AVR | Comments(0)
だいぶ昔にIoTという言葉がまだなかった頃にマイコン(マイコントローラ)ブームの色々を考えるのに、秋月でTWE-liteというZigBee系の1km飛ぶ無線マイコンを買った。

使い方を調べる前にArduinoやRaspberryPiによって隅に追いやられてしまったが、しっかり量産化されているようだ。

小型で範囲も広く価格も少しだけ安い(Raspi Zero WHは1860円、ESP-WROOM-32は700円で容量が大きいが電源安定させるのにチップ単体で使いづらくWi-Fiのみ)。

結構優秀だと思っていたが、ホビーでは受けてないが産業界には一定数出荷されているようで何より。

そんなとっかかりの少ないTWE-LITEだが以下のサイト様に詳しい。
意外と無線マイコンの価格が高い現在、TWE-LITEが12~1400円台で電波が1km飛ぶというWi-FiやBluetoothには真似出来ない能力を生かすきっかけになればいいな。

メーカサイト:


by k1segawa | 2018-01-19 16:15 | Comments(0)