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|04|

2020-02-07 Bad Elf 2300 でGPS情報が取れなくなった時 [長年日記]

Bad Elf 2300 でGSP情報が取れなくなった時(全部のGPS衛星が消えた時)、(あらゆることを試した結果)これでたまたま上手く動き出したみたいに見える。

→2つのボタンを同時に長押しする。

(また動かなくなるのが怖くて、追試していない)

-----

GSP情報が取れなくなった理由については不明であるが、Bad Elf 2300の中にログ情報が山ほど入っていて、メモリ利用が6%にまでなっていたことが、怪しいと思っている。

iPadのBad elfのアプリから本体のメモリ(×iPadに取り込んだ方)を全部消去しても直らなかったので、これが原因ではないかもしれないが、取り敢えずログ情報は取らない設定にしておくか、定期的に消した方が良いと思う


2020-02-08 サイネージ表示中に連動しなくて困った [長年日記]

以前、ボタンを押すと全てのクライアントのコンテンツが同時に代わるように改造した

が、連動しないことが度々発生して、結構管理が面倒なことになってしまっていた。

コネクションが切れた後に、再接続できないか、色々調べた結果、以下のコード(index.html)となった。

前回との違いは、"onclose"を付け加えて、ソケットが切れた時に再接続するようにしてみた。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>WebSocket Server</title>
  </head>
  <body>
    <input id="Button1" type="button" value="スタンバイ中" onclick="onButtonClick1();" />
    <input id="Button2" type="button" value="待機中" onclick="onButtonClick2();" />
    <input id="Button3" type="button" value="移動中" onclick="onButtonClick3();" />
    <p id="input"></p>
    <p id="input1"></p>
    <p id="input2"></p>
    <p id="input3"></p>
    <pre id="output"></pre>    
 
    <iframe id="image_place" src="http://192.168.101.1:8686/red.html" width="100%" height="700"></iframe>
    
    <script>
      var input1 = document.getElementById('input1');
      var input2 = document.getElementById('input2');
      var input3 = document.getElementById('input3');      
      var img = document.getElementById("image_place");
      var output = document.getElementById('output');
 
      // socketの変数は、connect()の外に出しておかないとボタンに届かない
      var socket;
 
      function connect() {  // で、ここから connect()を括る
 
      socket = new WebSocket("ws://" + window.location.host + "/chat");
      
      socket.onopen = function() { 
      // output.innerHTML += "Connection OK\n";
      };
      
      socket.onmessage = function(e) {
      // output.innerHTML += "Get message from server:" + e.data + "\n";
 
      var obj = JSON.parse(e.data); // JSONオブジェクトに変換
 
      // output.innerHTML += "Get object :" + obj.Message + "\n";
 
      // switch(e.data){
      switch(obj.Message){      
      case '1':
      img.src = "http://192.168.101.1:8686/red.html";
      break;
 
      case '2':
      img.src = "http://192.168.101.1:8686/yellow.html";
      break;
 
      case '3':
      img.src = "http://192.168.101.1:8686/blue.html";      
      break;
      }
      
      }
      socket.onclose = function(e) {
      console.log('Socket is closed. Reconnect will be attempted in 1 second.', e.reason);
      setTimeout(function() {
        connect();
      }, 1000);
      };
 
      }  // で、ここでconnect()を閉じる
 
      connect();  // で、ここでconnect()を起動する
      
      function onButtonClick1(){
        input1.value = "1";
        socket.send(JSON.stringify( 
        {
           message: input1.value
        }
        ));
        input1.value = "";
      };
 
      function onButtonClick2(){
        input2.value = "2";
        socket.send(JSON.stringify( 
        {
           message: input2.value
        }
        ));
       input2.value = "";
      };
 
      function onButtonClick3(){
        input3.value = "3";      
        socket.send(JSON.stringify( 
        {
           message: input3.value
        }
        ));
       input3.value = "";
      };
 
      
    </script>
  </body>
</html>
 
 
 

これが運用上「上手く動かなかった」ら、後日報告する。

一応、ラズパイをリブートして、自動的に立ち上がってくるのを、デバッグモードで確認した


2020-02-09 BadElf GPS Pro+ アプリの覚え書き [長年日記]

■BadElf GPS Pro+ アプリの覚え書き

https://minkara.carview.co.jp/userid/247151/blog/38101593/

■Bad Elf 2200 GPS Proの使い方

http://badelf.blog.jp/

■スマホと相性抜群のポケットGPS!(1/36)

https://k-tai.watch.impress.co.jp/img/ktw/docs/1188/133/html/stptncs2019-06-10_a01_o.jpg.html

■ファームウェアのバージョンアップ方法

https://badelf.freshdesk.com/support/solutions/articles/5000698434-bad-elf-gps-pro-update-the-firmware-directly-via-the-usb-port


2020-02-13 Bad Elf 2300 ファームウェア(力づく)交換方法 [長年日記]

Bad Elf 2300 ファームウェア(力づく)交換方法

Bad Elf 2300 ファームウェア(力づく)交換方法

  • 原本の場所

    • /home/kobore/www/soft/bad_elf_2300_firmware.mm

  • 1. 背景
    • Bad Elfが動作不具合になった
      • 具体的には、Bad Elf本体にログが書き込まれ続けて、容量を失い動作が変になった
      • どんな風に変になったかというと、「GPSのSearchが永遠に続いてロックしなくなった」
  • 2.やってみたこと
    • iPad/iPhoneのアプリからログを全部消去した
    • これによって、GPSのロックができるようになった…かのように見えた          
    • しかし、BlueToothの接続が外れるなどの不具合が発生しつづけて、開発したアプリケーション上でのトラッキングが大混乱状態になった
  • 3.対策1
    • 新しいBad Elf 2300を購入した
      • もう、金の問題ではない。システムは何がなんでも動かさなければならないから
      • ただし、絶対にログを書き込まないようにした。そして、ログが溜っていないことを、毎日アプリでチェックした
  • 4.対策2
    • ここから本命

      • 力付くでファームウェイの交換を実施した

      問題点

      • 基本的にはファームウェイは、アプリが自動更新を促してくるものであるが、今回の場合、ファームウェイのバージョンは最新となっているので、アプリは何もやってくれない

      対策

      • 手動でファームウェイ交換をするしかない

      手順が記載されたページ

      ===== ここから =====

      ■Bad Elf GPS Pro +:USBポート経由で直接ファームウェアを更新する 変更日:2019年2月17日午前1時31分

      ■ほとんどのユーザーには、Bad Elf Pro +のファームウェアを更新する方法として、Bad Elf GPSアプリを使用することをお勧めします。

      • 江端:アプリが何もしてくれないので、自力でやる

      ■成功を確実にするために、我々のアプリで見つかったプロセスに組み込まれた多くの追加の安全対策があります。この更新方法では、MacまたはPCを使用する必要があります。

      • 江端:私の場合、普通にWIndows7を使った

      ■まず、このファイルをダウンロードします:http://epo.bad-elf.com/fw/dfu/BEGPS-2300-v2.1.50rc1.dfu.bin

      • 江端;最新のファームが見つかれば、それを使っても良い
      • 江端:ここから見つかる http://epo.bad-elf.com/fw/dfu/

      ■ダウンロードしたファイルの名前をBEGPS-2300-v2.1.50rc1.dfu.binからfirmware.binに変更します。

      • 江端:ダウンロード先などこでも良い

      ■Bad Elf GPS Pro +の電源をオフにして、付属のUSBケーブルでMacまたはPCにElfを接続します。

      • 江端:ここでBad Elfが再起動しているように見えるが、そうではないので慌てない

      ■GPS(下)ボタンをタップしてUSBドライブモードに入るように求められます。

      • 江端:上から3つめのボタン。「タップ」であって「長押し」ではないことに留意

      ■一番下のボタンをタップした後、エルフがFinderまたはエクスプローラーでドライブとして表示されるまで1分待ってください。

      • 江端:Windowsの新しいドライブとして見えるようになる

      ■ドライブとしてElfにアクセスできるようになったら、名前を変更したファイルfirmware.binをBad Elf GPS Pro +のルートディレクトリにコピーします。

      ■firmware.binのBad Elf GPS Pro +への転送が完了したら。 Pro +の背面からUSBを取り外して、USBドライブモードを終了します

      ■USBを再び差し込み、下のボタンをタップしてUSBドライブモードに入ります。

      • 江端:上から3つめのボタン。「タップ」であって「長押し」ではないことに留意

      ■この後続の試行でUSBドライブモードに入ると、画面にファームウェアファイルが見つかったという小さなテキストが表示されます。 ファームウェアファイルが解凍されるとすぐに、大きなテキストで電源ボタンを押してファームウェアの更新を終了するよう求められます。

      • 江端:説明は長いが実際この通り

      ■電源ボタンを押すと、プロセスがまもなく完了し、エルフの電源が切れてから電源が入ります。Elfで実行されているファームウェアバージョンは、右側のテキストの起動画面にあります。

      ===== ここまで =====

      結果

      • 一回目は失敗した
        • Buletoothのコネクトとデコネクトを3秒単位で繰り返すという、青くなるような現象が発生
      • 二回目は成功した
        • 理由は不明

      考察

      • 上手くいくまで、なんどでもやりなおす

2020-02-19 Bad Elf 2300 トラブルシューティング(私向け) [長年日記]

Bad Elf 2300□トラブルシューティング(江端メモ)以上6. 結論もっとも、そういう思い切りによって、システムが動かなくなることは、確かにあるけど(腹を括って)BTもWebブラウザも、キレイさっぱりにすることだと思うファームウェアの強制交換は、やってみる価値はあったと思うなにせ、GPSがロックできない状態が続いていたから5.考察(2)Webブラウザの再起動では足りず、キャッシュまで全滅させることが必要これは2号機の環境を覚えていたからではないか、と推測している(1)BTのリンクを全部破壊して、再構築することが必要BTのリンク情報が中途半端に残っていたからではないか、と推測4.その後やってみたこと一覧(6)Webブラウザの表示が変だったので、キャッシュを全部クリアにしてみた直った(ような気がする)(5)Webブラウザを再度立ち上げしなおしてみた状況が改善しているように見えてきた(4)Bad Elfアプリを見てみた接続が不安定に見えることがあるダメ(3)再度1号機をOFFして、ONしてみたダメ(2)1号機のみONして、ペアリングを再構築したダメ(1)設定画面から、BlueTooth(BT)のリストから1号機2号機の登録を両方とも削除し3.交換直後の状態 動作が変。トラッキングが飛び飛びになるし,Connected と Disconnected が交互に表われるという現象が発生したダメ2.交換後にやったこと1号機が接続されているのを確認した具体的に言うと、2号機をOFFして、1号機をONした(言うまでもないが)BlueToothのペアリングの変更は実施したBlueToothを無効にして、再度有効にしてみた1. 背景Bad Elf2300が利用するのは、お願いして開発して貰ったWebブラウザのプログラム本日、ようやく実証実験が終ったので、交換したBad Elf 2300(2号機という)を、ファーム入れ替えをした元のBad Eld 2300(1号機という)に交換してシステムで使ってみたhttp://www.kobore.net/diary_techno/?date=20200213 でファームの強制交換を実施したが、これが動いているかどうか分からなかった原本の場所/home/kobore/www/soft/bad_elf_2300_troubleshooting.mm

2020-02-22 お名前.comとRoute53を連携する方法 [長年日記]

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


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

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


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-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"で動く(といいな)。