2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|

2020-03-28 Bad Elf 2300の位置情報をキャプチャするhtmlファイル [長年日記]

常日頃から御指導頂いているSさんから、Bad Elf 2300の位置情報をキャプチャするhtmlファイルの内容を教えて頂いた。忘れないように、残しておく。

Bad ElfをBTでリンクしたiPadで稼働を確認済み(iPhoneでは稼働確認できなかった)

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>geolocation-sample</title>
</head>
<body>
  <div id="output"></div>
 
<script>
    var output = document.getElementById('output');
 
    // 位置情報の取得に成功した際のコールバック
    const successCallback = (position) => {
        console.log(position);
		output.innerHTML += "<P>==========";
		output.innerHTML += "<P>time:" + position.timestamp;
		output.innerHTML += "<P>latitude:" + position.coords.latitude;
		output.innerHTML += "<P>longitude:" + position.coords.longitude;
		output.innerHTML += "<P>altitude:" + position.coords.altitude;
		output.innerHTML += "<P>accuracy:" + position.coords.accuracy;
		output.innerHTML += "<P>altitudeAccuracy:" + position.coords.altitudeAccuracy;
		output.innerHTML += "<P>heading:" + position.coords.heading;	
		output.innerHTML += "<P>speed:" + position.coords.speeed;	
    };
 
    // 位置情報の取得に失敗した際のコールバック
    const errorCallback = (err) => {
        console.log(err);
		output.innerHTML += "Error\n";		
    };
 
    // 位置を監視する構成オプション
    // オプションの内容は次のリンクに書かれています。
    // https://developer.mozilla.org/ja/docs/Web/API/PositionOptions
    const options = {
        enableHighAccuracy: true,
        timeout: 5000,
        maximumAge: 0
    };
 
    let watchPositionID;
 
    window.onload = () => {
        // navigator.geolocation.watchPositionについては次のURLにかかれています。
        // https://developer.mozilla.org/ja/docs/Web/API/Geolocation/watchPosition
        watchPositionID = navigator.geolocation.watchPosition(successCallback, errorCallback, options);
    };
 
    // ブラウザーを閉じる前に位置の監視を止めます
    window.onbeforeunload = () => {
        navigator.geolocation.clearWatch(watchPositionID);
    }
</script>
</body>
</html>
syntax2html

2020-03-20 ワイルドカードTLS証明書の作成 [長年日記]

http://kobore.net/wildcard_TLS.html


2020-03-16 iPad向け外付けGPS [長年日記]

_ 【CoreLocation】位置情報を取得する

https://qiita.com/chino_tweet/items/db3a536234a43a3c31d9

_ iPhoneアプリで位置情報と地図を使うための基礎知識

https://www.atmarkit.co.jp/ait/articles/1104/04/news117.html


2020-03-15 go webassembly experiments をローカルPCで動かす [長年日記]

go webassembly experiments をローカルPCで動かす

go webassembly experiments をローカルPCで動かす

  • 2020/03/14

  • 背景
    • ■これからは「C/C++ → Go」と「JavaScript → Webassembly」とシフトしながら色々やっていこうと思っている

      ■正直、どっちも難しい。そういう時は、サンプルをパクって勉強するのが正解 ―― と思っている

  • 目的
  • 環境
    • ■Windows7 or 10
    • ■Go と python3 をインストールしてある
  • やってみたこと
    • ■サンプルプログラムをダウンロードして、コンパイルしてみた
      • ~ https://github.com/stdiopt/gowasm-experiments/tree/master/bouncy
      • コマンドプロンプトからこんな感じでコンパイルできた
        • $ set GOOS=js
        • $ set  GOARCH=wasm
        • $ go build -o main.wasm main.go
        • ちなみに、bashの環境があれば、build.shでコンパイルできる
      • 実際には、コンパイルしなくても、バイナリコード(main.wasm)も、ダウンロードの中に入っているので、コンパイルは不要だったが
    • ■ローカルサーバとしては、色々試してみた
      • python3 -m http.server 8080
      • Goでサーバも作ってみた
      • Perlでもやってみた
    • ■動画がどうしても出てこない
    • ■ここから丸2日間の格闘のスタート
      • もう、色々探しまくった
  • 確認していた問題点
    • ■Google Chromoから、→ 「その他のツール」 → 「ディベロッパーツール」 → 
      • Uncaught (in promise) TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.

        この「Expected 'application/wasm'.」がどうにも、不味いらしい ―― が、解決方法が、どうにも見つからない

    • ■kobore.netのサーバに上げても、改善が見られず
  • ローカルサーバを作ってみた
    • ■httpsrv.pyを作った
      #!/usr/bin/env python3
        import http.server
        import socketserver
        
        PORT = 8080
        
        Handler = http.server.SimpleHTTPRequestHandler
        Handler.extensions_map.update({
        '.wasm': 'application/wasm',
        })
        
        socketserver.TCPServer.allow_reuse_address = True
        with socketserver.TCPServer(("", PORT), Handler) as httpd:
        httpd.allow_reuse_address = True
        print("serving at port", PORT)
        httpd.serve_forever()
        
  • ■httpsrv.pyを起動した
    • $ python3 httpsrv.py
  • http://localhost:8080 で起動
    • ■動いた

      ■動かなかったら、chromo → 「設定」 → 「閲覧履歴データの削除」でキャッシュをクリアてみること

      ■Windows10の環境では、独自につくったmain.wasmを動かすと、Uncaught (in promise) LinkError: WebAssembly Instantiation: Import #1 module="go" function="runtime.scheduleCallback" error: function import requires a callable というエラーが出てくることがある。この場合は、Windows10のGoの環境にあるwasm_exec.jsをパクってくる。私の場合は、C:\Go\misc\wasm にあったので、そこから取ってきた。

  • 以上


  • 2020-03-14 MAXWIN(マックスウィン) 金属タイヤチェーン タイヤチェーンの取り付け方、取り外し方 [長年日記]

    N-BOXで、スキーに行く準備と、市街地で年に1回は発生する雪の対策用にチェーンを購入しました。

    タイヤの3箇所だけをチェーンで巻くというもので、なかなか良い感じがしたので、取り付け方と取り外し方をメモ用に残しておきます。

    基本的には、マニュアルを参考にすれば良いのですが、「取り外し」で戸惑うと思うので、こっちにメモを残しておきます。


    2020-03-10 JS難読化対応ツール [長年日記]

    https://beautifier.io/


    2020-03-09 お名前.comとRoute53を連携する方法(その2) [長年日記]

    https://kobore.net/DNS2_memo.mm.html


    2020-02-28 NMEAを位置情報にしたいだけなのに、酷く苦労した [長年日記]

    NMEAを位置情報にしたいだけなのに、酷く苦労した

    ■ファイル名は、"nmea2csv.py"とする

    import time, serial, micropyGPS, csv
    gps = micropyGPS.MicropyGPS (9, 'dd')
    #function------------------------------------------------ ------
    def rungps ():
        s = serial.Serial ('/dev/serial0', 9600, timeout = 10)
        s.readline ()
        while True:
            sentence = s.readline (). decode ('utf-8')
            if sentence[0] != '$':
                continue
            for x in sentence:
                gps.update (x)
                if gps.clean_sentences > 20: # ちゃんとしたデーターがある程度たまったら出力する
                    print ('% 2.8f,% 2.8f'% (gps.latitude [0], gps.longitude [0]))
                    time.sleep (1.0)
    rungps ()
    
    syntax2html

    ■"python3 nmea2csv.py"で動く(といいな)。


    2020-02-24 Route53で作ったサブドメインをapach2のサーバに繋ぐ方法 [長年日記]

    Route53で、サブドメイン(admin.sea-anemone.tech,passenger.sea-anemone.tech, vehicle.sea-anemone.tech)を作ったがいいが、全部同じページに飛ぶので、変だなぁ、と思っていたが、考えてみたら、サブドメイン用の設定、何もしていななかったことに気がついた。

    因みに、つかっているwebサーバは"apache2"

    Server version: Apache/2.4.29 (Ubuntu)
    Server built:   2019-09-16T12:58:48
    

    /var/www/html/ には、

    admin  index.html  passenger  vehicle
    
    の3つのディレクトリを作って、それぞれのディレクトリに、"index.html"を作った

    そんでもって、/etc/apache2/sites-available の、000-default.conf の下の方に20行ほど追加したものが以下の通り。

    <VirtualHost *:80>
            # The ServerName directive sets the request scheme, hostname and port that
            # the server uses to identify itself. This is used when creating
            # redirection URLs. In the context of virtual hosts, the ServerName
            # specifies what hostname must appear in the request's Host: header to
            # match this virtual host. For the default virtual host (this file) this
            # value is not decisive as it is used as a last resort host regardless.
            # However, you must set it for any further virtual host explicitly.
            #ServerName www.example.com
     
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
     
            # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
            # error, crit, alert, emerg.
            # It is also possible to configure the loglevel for particular
            # modules, e.g.
            #LogLevel info ssl:warn
     
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
     
            # For most configuration files from conf-available/, which are
            # enabled or disabled at a global level, it is possible to
            # include a line for only one particular virtual host. For example the
            # following line enables the CGI configuration for this host only
            # after it has been globally disabled with "a2disconf".
            #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>
     
     
    <VirtualHost *:80>
            ServerName admin.sea-anemone.tech
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html/admin
    </VirtualHost>
     
    <VirtualHost *:80>
            ServerName passenger.sea-anemone.tech
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html/passenger
    </VirtualHost>
     
    <VirtualHost *:80>
            ServerName vehicle.sea-anemone.tech
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html/vehicle
    </VirtualHost>
     
     
    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
     
     
    

    あとは、

    http://admin.sea-anemone.tech
    http://passenger.sea-anemone.tech
    http://vehicle.sea-anemone.tech
    

    にアクセスして試してみる。


    2020-02-23 SAIに文字を入れるツール [長年日記]

    _ /home/kobore/www/soft/SAI_FON-20160309.zip