ラベル

Server (108) work (77) Idea (68) Car (31) PC (29) DAW (28) other (19) MakingWEBsite (18) 趣味 (18) health (13) CentOS (11) drupal (11) 山 (9) android (4) スマホ (4) communication (3) drupal7 (3) hint (3) meno (3) モバイル (3) 歯医者 (3) 第二種電気工事士 (3) 英語 (3) PC Server (2) drupal8 (2) ms access (2) uwp C# (2) めし (2) 整備 (2) 音楽 (2) MIDI (1) diy (1) 会計 (1) 動画再生 (1) 生活 (1) 郵便 (1) 食べ物 (1)

2018年8月19日日曜日

ゴルフ4 golf4  窓枠 レギュレーター交換

ゴルフ

昨日、運転席の窓ガラスが落ちたまま上がらなくなった。
何日か前からちょっと変な動きをしていたんだよなぁ。

とりあえず、今日、レギュレータが見えるところまで外した。
https://www.youtube.com/watch?v=OSFWZugODNs&t=323s
ここが丁寧な説明のある動画。

外し方順番
1.ドアハンドルの内側を外す。
2.ドアスイッチなどがついているスイッチパネルを外す。
3.ドアスイッチのスイッチパネルのコネクターを外す。
4.スイッチパネルを外すと外したところのドア側に見える内側のプラスネジ3つを外す。
5.ドアパネル内張りの下側にある3つのT20トルクスボルトを外す。
6.ドアパネル内張り前側の上側の内側にある細長いプラスネジ1つを外す。
7.ドアパネルのクリップを外しながらドアパネルを外す。
8.ドアオープナーのフックを外す。
9.ドアオープナーの所のコネクタを外す。
10.盗難防止警告ランプの上から下に来ているコードのコネクタを外す。
11.ドアを開けたときに点灯して後ろに知らせるランプのコネクタを外す。
12.スピーカーの横のドアパネル側の3つ又で出ているコネクタを外す。
13.前上のコネクタ2つを外す。
14.スピーカーコネクターを外す。
15.パワーウインドウのコネクタを外す。
16。コードを固定しているT型のプラスティックからコードを外す。
17.T30ボルトで、パワーウインドウのモーターを固定しているネジ3つを外す。
18.レギュレータにドアガラスを固定しているボルトの位置をレギュレーターパネルの丸穴に合わせて、ボルトを外す(T20ボルト)。
19.窓枠内側下側にはまっているガラスの内側についているガラス押えを上に引っ張って外して、その後でガラスを引っ張り出す。
20.レギュレータパネルの10ミリボルトを10個外す。
21.ドア後方のコードが外側から内側に入っている穴のすぐ左のクリップを押して、裏でコードを固定しているプラスチックのクリップみたいなものをパネルから外す。
22.ドアロックの所にある細長いプラスティックの板を割らないように抜きながらレギュレータパネルを外す。
23.ドアロックの所にきているコネクタを外す。


ドアロックから出ているコネクタが外れなかったので、ちゃんと見ながら外せるようにドアロックを外した。コネクタはちゃんと見ながら外せば簡単に外せた。写真と動画で撮っておいた。
ドアロックを外すためにキーシリンダーも外した。キーシンダーを外す時にトルクスネジ(T20)を12.5回転位緩めた。手だけで抜こうとしても抜けるもんではないので、抜けなくても13回転まででやめておき、マイナスドライバーで軽くこじって抜く。それ以上緩めてネジが抜けてしまうと面倒なことになるらしい。
ドアロックシステムを外すのにトリプルスクエアの8mm2つも外す。
最後にドアノブから出ているケーブルを引っ張って外す。

https://www.youtube.com/watch?v=igRemo1luDU
ここがそこいら辺の丁寧な説明のある動画。

プラスチックの部品が欠けて、そのせいでモーターでワイヤーを駆動しているところでワイヤーが絡んでいた。
対象純正品番
(1J4837462D)
(1J4837462DS)
(1J4837462F)
(1J4837462H)
(1JM898462)右側1J4837461H⇒これらは左側
1J4837461F
1J4837461D
1J4837461G
上の型番がゴルフ4に合うレギュレーターの型番らしい。
これが一万円くらいだと思う(純正ではない)。

注文したもの
TAKADAR タカダ化学 ブチルテープ3mm×5M 業務用ロープシーラー / スワンボンド9300 830円 送料290円(楽天)(レギュレーターパネルを土の上の落として元からついていたブチルゴムの粘りがなくなったので新しいのに張り替えた。)


フォルクスワーゲン VW 右フロント ウインドウレギュレーター ゴルフ 1J ボーラ 1J マイレ製 10260円(ヤフーショッピング)


スピーカーのついているパネルごと取り換えるのも売っている。それだと2万円以上する。
レールもスピーカーもリベットで止まっているので
どっちにしてもリベットを外してボルトで締めなおすかリベットを打ち直す必要がある。

リベットは10㎜のドリルで掘って外した。


外しついでに運転席ドアスイッチの型番をメモしておく
1j4959857

2018年6月14日木曜日

www.value-domain.com バリュードメインの DNS 設定例  ダイナミックDNS ・DDNSの設定

www.value-domain.comのネームサーバーを使うときの設定例

下の部分だけを書いておけば、その他の設定(逆引き部分など)は自動でされる(みたいだ)。

mx @ 10               ;メールサーバーの優先順位設定、10は優先順位
a @ 12.345.67.890     ;12.345.67.890をメールサーバーにする。

a www 12.345.67.890   ;サブドメインの設定

----------------------------------------------------------------------

ダイナミックDNSの設定。
DDNSはできるだけ使わない方がいい。
短期間使うときのアドレス変更設定の仕方。

ブラウザから手動でやる時は
https://dyn.value-domain.com/cgi-bin/dyn.fcg
にアクセスする。

wgetなどをCRONで回すときは
https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン名&p=パスワード&h=ホスト名&i=IPアドレス
ドメインは素のドメイン名。hoge.comなどと書く。
パスワードはvalue-domain.comのパスワード。
ホスト名は、一つずつ設定してもいいのだろうけど、*を使えばまとめて更新されるそうだ。wwwなどを一つずつ設定する場合はDNSレコード編集画面のホスト名と全く同じ仕様だそうだ。
IPアドレスは指定しなければ自動で現在接続中のアドレスが設定される。

リクエストした結果はステータスとして帰ってくる。
status 意味
0 更新に成功
1 不正なリクエスト
2 不正なドメインとパスワード
3 不正なIPアドレス
4 パスワードが一致しない
5 データベースサーバーが混雑している
9 その他のエラー

2018年4月3日火曜日

golf git mk4 coolant  ラジエータ液漏れ

クーラント液、ラジエータ液 液漏れ。

最初はサーモスタットハウジング接続部からの液漏れだと思って交換したがなおらず、ウォーターパイプのオーリングを交換したら、とりあえず、今のところ漏れが止まっている。

2018/0430
昨日、Oリングを交換して、今日、クーラント液を継ぎ足した。
約2.7L補充した。クーラント液:水 = 1:1。   172772km時。
(後述:後に0.3L程付け足した。サーモスタットの所から水を抜くと、いつも3Lの補充になる。)
2018/04/28
今日、ウォーターパイプのネジをゆるめた。
2か所。ネジの種類が違う。一つは10mmの六角ボルト(運転席から見てエンジンブロック前面の左側)。もう一つは8mmヘックスボルト(運転席から見てエンジンブロック左側面の手前側)。
関連している部品以外はエンジンプラスチックスのカバー以外はどこも外さずに2つのボルトを緩められたけど、ヘックスボルトは目視できないから手探りで緩めた。
2018/04/24
その後(サーモスタットハウジング交換後)、大阪一回、東京一回の遠乗りをした。その時は大丈夫だったのだけど、一昨日あたりから又水漏れが始まった。どうもエンジンが熱い時の圧力がかかっている時は漏れない。少し暖めた後に放っておくと大量に漏れ出すみたいだ。
どういうことだ?
先日のサーモスタットハウジングの取り付けが悪かったのか?
よく見てみるとサーモスタットハウジングからでななくて、サーモスタットの根元からエンジンブロックに沿って引いてある鉄のパイプのつなぎ目から漏れている。(と思う。)
部品番号は
06A121065AK ウォーターパイプ
(VWディーラーで部品を注文すると40000円位。
VWのパーツ屋さんで純正を買うと16000円位)
でも、たぶんこれ自体は鉄パイプだから、ゆがむとかひびが入るとかの可能性は低いと思う。たぶん根元についているオーリングがダメになっただけだと思う。
(Oリング注文時にディーラーの整備士の方が、このパイプがやせてしまうことがある。そうするとOリング交換だけではだめ。と言っていた。)
N90365302 O-ring
N-903-653-02-INT
(後述:ディーラーで頼んで380円)
Heater Pipe Seal VW Audi Parts 20x3mm, N90365302 (Corteco OEM)
BMWなどでも同じオーリングを使っていて
Mfg Part #
11531435808
11-53-1-435-808
だそうだ。
内径20mm(もしかすると外径が20mm) リングの幅が3mmで耐熱耐水ならどれでもいいのだろうけど、日本で探したらこの規格のオーリングがない。そんなに高いもんじゃないだろうし、VWディーラーで取り寄せようと思う。

-----------------------------------------------
2018/04/03
水道水400ml補充。20180402

昨日、久しぶりにクーラント液の警告が出た。

見てみると
車の下に液の漏れた跡、薄い水たまりができていた。
どこから漏れたのだかちょっと見ただけではわからない。

エンジンの前側下の方にもクーラント液が溜まっている。
そこからあふれた液が伝って、オイルパンの下に水滴がついている。

ホース類、プラスチックの継ぎ手のパイプなど、漏れそうなところをチェックしたけど、漏れた跡が見つからない。あれだけ漏れているのだから跡があるはずだけど・・・。

ラジエータ下のアンダーカバーの淵の上側をティッシュペーパーでふき取ってみると、少しだけラジエータ液がティッシュに付く。ここに少しだけついているってどういうこと?
ラジエータから漏れているのか?それがエンジンの方にも飛んできているのか?

今日、時間のある時にエンジンを温めて圧力かけて漏れ箇所をチェックしてみようかと思う。
で、チェックしたけど、漏れが止まったのかなぁ?
あれだけ漏れてたのに、回転を上げ気味で走っても漏れていない。
もう少し様子お見てみることにする。

2018/04/06---よく見たらサーモスタットハウジングからの漏れ。みたいだったので交換をしておいた。何かの条件が重なるとドバーッと漏れる。みたいなんだよなぁ。クーラント液は2.8L位交換後につぎ足した。外したのを見てもひびが入っているわけでもなく・・・。
今回サーモスタットは交換しなかったけど、ちょっと錆びてた。もしかして錆びが原因の漏れか?事前にわかっていれば新品に交換したのだけど、とりあえず、できるだけ丁寧にサンドペーパーにオイルをつけて磨いておいた。
クーラント液の管理はちゃんとしているつもりだけど、どうして錆びるんだ?下に書いたように、ワーゲンの純正クーラントは(環境を考慮して)車には良くない仕様なのか?(まぁ、この前から少し安くて手に入りやすいマレーのクーラント液にしたけど。たぶん成分は同じじゃないかと?未確認だけど・・。)
次からはワコーズのにしてみるか?

ワーゲンのクーラント液はあまり(車にとっては)良くないのかもしれないと言っている人がいた。
純正のクーラント液を使っている人からよくラジエータトラブルを聞くような気がするそうだ。
ヨーロッパ車は環境に配慮する度合いが日本よりも高いから、(そういうことで、プラスチックス部品も弱い。自然に帰りやすい物を使っているそうだ。)クーラント液もそうなのかもしれない。防錆効果が低いのかもなぁ。
ワコーズのクーラント液を使っておけば間違いないと言っていた。

2018年3月25日日曜日

C# UWP WEBサイトの操作

メモ 情報収集中

C# UWPでは、WEBの操作に
Windows.Web.Http.HttpClientクラス
を使うのが一番いいみたいだ。
https://docs.microsoft.com/ja-jp/windows/uwp/networking/httpclient

このHttpClientクラスをインスタンス化したものに自分の扱いたいWEBサイトを代入する。

例えば、インスタンス化されたものをhttpClientとすると、
httpClient.GetAsync(new Uri("http://hogehoge.com"))
とか、
string result = await httpClient.GetStringAsync(new Uri("http://hogehoge.com"));使い終わったら
httpclient.Dispose();と、破棄しておく。

メソッドとしては
GetAsync
PostAsync
PutAsync
DeleteAsync
など。
https://docs.microsoft.com/en-us/uwp/api/windows.web.http.httpclient

注意点
Windows.Web.Http.HttpClientの方が、System.Net.Http.HttpClientよりも新しい。
似ているから最初違いが判らなかったのだけど、
MSによると
「System.Net.Http 名前空間と System.Net.Http.Headers 名前空間は、Windows の将来のバージョンでは Windows ストア アプリ用に使用できないことがあります。」
だそうだ。

Windows.Web.Http.HttpRequestMessageクラス-
Windows.Web.Http.HttpClient から送られた HTTP 要求メッセージ
Windows.Web.Http.HttpResponseMessageクラス
データ受け取り時はこれを使うみたいだ。
普通の受け取りと、あとは、
例えば、ログイン後のサイトの情報を受け取るのには、このクラスをインスタン化したものとHttpClientをインスタンス化したものと組み合わせて使うことでそこでログインした状態を保持した情報を受け取ることができている。
-----------------------
ブラウザの起動の仕方は
https://docs.microsoft.com/en-us/uwp/api/windows.system.launcher
http://coelacanth.jp.net/metrostyleapp入門-vol29-アプリからブラウザを起動する/

private async void Button_Click_1(object sender, RoutedEventArgs e)
        {
            var uri = new Uri("http://www.bing.com");

            var success = await Windows.System.Launcher.LaunchUriAsync(uri);

            if (success)
            {
                // 起動に成功した場合の処理。
                // ブラウザは起動するがアプリも裏で動く
            }
            else
            {

            }
        }

------------------------
VBAのようにDOMを使ってC#からIEを制御する方法。がまとめてあるページ。
http://blog.clockahead.com/2015/06/cie.html
の目次
C#でIEを自動制御しよう
(1) はじめに
(2) プロジェクトの設定
(3) IEを起動する
(4) IEで指定したURLを開く
(5) IEを閉じる
(6) ページの読み込み完了まで待機する
(7) フォーム(テキストボックス)に文字を入力する
(8) ボタンをクリックする
(9) LINQでリンクを取得してクリックして開く
(10) セレクトボックス(メニュー)の選択肢を選択する
(11) チェックボックス(ラジオボタン)にチェックを入れる
(12) 画像をクリックする
(13) 表示しているページタイトル&URLを取得する
(14) フレーム分割されたページを操作する


-----------------------
HTML Agility PackはWEBから必要なデータを読み込むのに適している。
が、
webサイトにデータを入力したり、操作するのには向いていないみたいだ。

そういうことをしたいときは
WebRequest request = WebRequest.Create("http://hogehoge.com/");
などと、WebRequestを使えばいいそうなのだが、
UWPでは
https://docs.microsoft.com/ja-jp/dotnet/framework/network-programming/how-to-request-data-using-the-webrequest-class
にある例のように
GetResponse()や、Close();が使えない。

で、
https://stackoverflow.com/questions/38835974/httpwebrequest-in-uwp-c
に
In UWP, we have two HttpClient APIs, they are System.Net.Http.HttpClient and Windows.Web.Http.HttpClient. You can choose either of them according to your requirement.
と書いてあった。
System.Net.Http.HttpClientはこれから使われないようなので、
今の最新は、Windows.Web.Http.HttpClienthttps://docs.microsoft.com/ja-jp/windows/uwp/networking/httpclient
なのかな?


で、実際に使うとしたら、Windows.Web.Http.HttpClientになるのか?
ここから、MSの例の写し Windows.Web.Http.HttpClient-------
using System;

var uri = new System.Uri("http://www.bing.com");
using (var httpClient = new Windows.Web.Http.HttpClient())
{
    // Always catch network exceptions for async methods
    try
    {
        string result = await httpClient.GetStringAsync(uri);
    }
    catch (Exception ex)
    {
        // Details in ex.Message and ex.HResult.
    }
}
// Having exited the scope of the using statement, httpClient.Dispose() will be called
// automatically, thus freeing up system resources (the underlying socket, and memory
// used for the object).
-------Windows.Web.Http.HttpClientここまで
https://docs.microsoft.com/en-us/uwp/api/Windows.Web.Http.HttpClient



ここからMSの例の写し System.Net.Http.HttpClient---------------------
 static async void Main()
{

    // Create a New HttpClient object.
    HttpClient client = new HttpClient();

    // Call asynchronous network methods in a try/catch block to handle exceptions
    try 
    {
       HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
       response.EnsureSuccessStatusCode();
       string responseBody = await response.Content.ReadAsStringAsync();
       // Above three lines can be replaced with new helper method below
       // string responseBody = await client.GetStringAsync(uri);

       Console.WriteLine(responseBody);
    }  
    catch(HttpRequestException e)
    {
       Console.WriteLine("\nException Caught!"); 
       Console.WriteLine("Message :{0} ",e.Message);
    }

    // Need to call dispose on the HttpClient object
    // when done using it, so the app doesn't leak resources
    client.Dispose(true);
 }
---------------------System.Net.Http.HttpClientここまで
https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx

2018年3月23日金曜日

DOM XPhthを調べる。

DOM XPhthを調べる。

Chromeを使う方法
調べたい要素を選択して右クリック>検証
デベロッパーツールの中の該当箇所を右クリック。Copy > Copy XPath


これをそのままC# UWP HTML Agility Packで使ったのだけど、htmlから情報を取れなかった。
(HAPExplorerを使えばいいのだろうけど、自分の環境では起動しなかった。)

例えばこの方法で調べて
/html/body/div/table[3]/tbody/tr[3]/td[4]
と表示された。
それをそのままコピーするとエラーが出る。

この場合、/tbody
を取って
/html/body/div/table[3]/tr[3]/td[4]
としたらうまくいった。

2018年3月16日金曜日

SMFファイル MIDI 可変長数値表現

CUBASEからSMFファイルを作って、それを秀丸のバイナリエディタで開いた。
そのバイナリエディタの中身がどうなっているのか調べた。

CUBASEで単純なSMFファイルと作った。
内容は
4分音符
ノートC4(YAMAHAはC3になるのかな?ノートナンバーが60(16進数で3C))
チャンネル0
それをフォーマット1でMIDIファイル(SMF)に出力した。
それを秀丸のバイナリエディタで開いた。

そのSMFファイルの中身の解説メモ。

MIDIファイル(smf)-----ここから

4D,54,68,64,ここからがヘッダーだという意味の記号。ヘッダチャンク。
00,00,00,06,データ長(ここからのこのヘッダチャンクのバイト数が6という意味)
00,01,フォーマット(フォーマット1が複数トラック。フォーマット2が1トラックにすべてを押し込む形式。)
00,02,トラック数
01,E0,時間単位

4D,54,72,6B,ここからがトラックのデータという記号。トラックチャンク。(このトラックは空トラック)
00,00,00,1D,データ長(4 byte)
00,デルタタイム
FF,03,06,74,65,73,74,43,33,シーケンス、トラック名、FF,03,に続く数値は文字の数(この場合は6文字がシーケンス、トラック名に使われているという意味)
00, デルタタイム、データ長が0で次の音を鳴らす。
FF,51,03,07,A1,20,テンポ
00,デルタタイム
FF,58,04,04,02,18,08,拍子
00,デルタタイムFF,2F,00,トラックチャンクの終わり

4D,54,72,6B,ここからがトラックのデータという記号。2つ目のトラック。
00,00,00,1C,データ長(4 byte)
00,デルタタイム
FF,03,0B,48,41,4C,69,6F,6E,20,36,20,30,31,シーケンス、トラック名(0Bつまり11文字)
00, デルタタイム、データ長が0。
90,3C,50,MIDIイベントノートオン(ノートナンバー60、16進数で3C)
83,60, デルタタイム、4分音符分後に次のイベント(可変長)
80,3C,40,MIDIイベントノートオフ
00,デルタタイム
FF,2F,00,トラックチャンクの終わり

----------ここまで


データ長
可変長数値表現
MIDIをバイナリエディタで開いて、デルタタイムを見てみると。
例えば可変長16進数の
8F 00
と書いてあった場合。
これを2進数で表すと
10001111 00000000
と16桁になっている。
可変長数値表現は2進数の桁が必ず8の倍数桁になっていて、8桁毎の一番左の桁は
数値を表すものではなくて、可変長数値の表示範囲を表している。
始まりと途中が1。最後は0。のビットが立つ。つまり、8桁の左端が1で始まって8桁の左端が0で終わる。

実際の16進数の数値を求めるには、各8ビット左端の
10001111 00000000
から上の例で色付きの1と0を取って、それぞれを7ビットにする。
それをドッキングさせて、
0001111 0000000
これをこのまま16進数に戻せばいい(780)。

別の例で、16進数を可変長16進数に変換してみる。
例えば16進数80を可変長16進数に変換してみる。
16進数80は2進数で表すと下の8桁。
10000000
これを7桁毎で区切ると、
1 0000000
これを各8桁の左端に途中1、終わり0、のビットをつけると
10000001 00000000
これは16進数で8100。
よって、16進数80は、可変長16進数で8100になる。





2018年3月15日木曜日

samba

samba3.5以下の場合
セキュリティ上の理由でWindows側のSMB 1.0/CIFSクライアントが無効になっているからそれを有効にしないとつながらない。
3.5以下の状態のまま一時的につなぎたいときにはそれをONにする。
コントロールパネルから「Windows 機能の有効化または無効化」を開く。
SMB1.0/CIFSファイル共通のサポートのすべてのチェックを入れる。

sambaは3.5以下と3.6以上で別物。CentOS6を普通にアップデートしていると3.6にはならない。
現行最新のsambaはバージョン4。


samba3.6を使うときは
[global]
  min protocol = SMB2
  max protocol = SMB2
を追加しないと今のWindowsからはつなげないらしい。