iOS」カテゴリーアーカイブ

サーバ⚙

アーカイブ

カテゴリー

Apple WatchのProxyダメだな

最近、少しでもキャッシュの効果が出ることもあるかと、squid のキャッシュproxyを動かしていた。

また、自宅内アクセス時に、proxyがかかると、不都合もあったので proxy.pac の自動設定を設定したけど、その頃からApple Watchの天気のコンプリケーションが表示されなくなった。

どうもproxy.pacをうまく処理できないのか現在地情報がとれないようで、天気情報が出てこない。

ということで、iPhoneでApple Watch使うなら、proxyは使っちゃダメだな。

IFTTTのwebhooksトリガーでLINEメッセージ送信

家に帰る時に、家族のLINEに「今から帰る」とメッセージを送りたいんだけど、iOSのショートカットだと、メッセージ文面をいちいち入力する必要がある。そこで、LINEのメッセージ送信は、IFTTT に任せることにして、スマホでショートカットなり、ショートカットのオートメーションから、LINEメッセージ送信を起動したい。

また、IFTTTの JSON形式を返すWebhook trigger だと、safari が開いたままになるので、webhook trigger を起動し、x-callback-url を返す trigger ページを作ってみた。

<?php
// IFTTTのwebhookトリガを呼出す
//  x-callback-url の機能で呼び出し側(shortcut)に戻る

// ifttt webhook url
$ifttt_webhook = "https://maker.ifttt.com/trigger/%s/with/key/xxxxxxxxxxxxxxxxx_xxxxxx" ;
$mykey = "yyyyyyyyyyyyyyyyyyyyyy" ;

// パラメータを読み込む
$key = isset( $_GET[ "K" ] ) ? $_GET[ "K" ] : "" ;
$command = isset( $_GET[ "C" ] ) ? $_GET[ "C" ] : "" ;
$json = file_get_contents( "php:input" ) ;

// 想定外の接続は無視
if ( $_SERVER['HTTPS'] != 'on' || $key != $mykey )
    exit( 1 ) ;

// 時間によるwebhook呼出し制限の前処理
$localtime = localtime( time() , true ) ;
$l_hour = $localtime[ "tm_hour" ] ;
$l_week = $localtime[ "tm_wday" ] ;

// webhookの呼出し
function post_webhook( $trigger , $json ) {
    global $ifttt_webhook ;
    $url = sprintf( $ifttt_webhook , $trigger ) ;
    $opts = array(
        'http' => array(
            'method' => 'POST' ,
            'header' => 'Content-type: application/json; charset=UTF-8' ,
            'content' => $json ) ) ;
    $context = stream_context_create( $opts ) ;
    header( "Content-Type: application/json; charset=utf-8" ) ;
    // x-callback-urlで処理後はショートカットに戻す
    header( "Location: shortcuts://" ) ;
    // IFTTTのtriggerを呼出す
    print file_get_contents( $url , false , $context ) ;
}

// GETパラメータで呼び出しするwebhookを切り替え
if ( $command == "go_home" ) {
    // ショートカットからの呼出し用
    // go_homeリクエストを中継
    post_webhook( "go_home" , $json ) ;
} else if ( $command == "go_home_time" ) {
    // オートメーションからの呼出し用
    // 平日の帰宅時間のみ中継
    if ( 17 <= $l_hour && $l_hour < 21
         && 1 <= $l_week && $l_week <= 5 )
        post_webhook( "go_home" , $json ) ;
    else
        exit( 0 ) ;
} else {
    exit( 1 ) ;
}
header( "Content-Type: application/json; charset=utf-8" ) ;
?>

icloudの200GBファミリー共有

icloudを今まで無料の5GBで頑張ってきたけど、端末それなりにあるとバックアップだけで、そろそろ無理だな。
ひとまず、130円/月の50GB契約にしてみた。
{CAPTION}

今まで無料で通してきたけど有料ストレージ契約に踏み込んじゃったら、奥さんも icloud の容量不足とか言ってたし、子供もきちんとバックアップしてるか怪しいし、心配のいらない 400円/月 の 200GB プランで、ファミリー共有に即変更。

homebridge-peopleの設定

homebridgeの記事を探していたら、homebridge-people を見つける。ping の結果を、人感センサーの ON/OFF 情報として扱うことができる。ping のホスト名をスマホのIPアドレスを指定すれば、自宅に居る/居ないとして把握できる。

$ sudo npm install -g homebridge-people
$ emacs .homebridge/config.json
    "platforms": [
        {
            "platform": "People",
            "threshold" : 15,
            "anyoneSensor" : false,
            "nooneSensor" : false,
            "webhookPort": 51828,
            "cacheDirectory": "./.node-persist/storage",
            "pingInterval": 10000,
            "ignoreReEnterExitSeconds": 0,
            "people" : [
                {
                    "name" : "斉藤徹",
                    "target" : "iphonex-tsaitoh",
                    "threshold" : 15,
                    "pingInterval": 10000,
                    "ignoreReEnterExitSeconds": 0
                }
            ]
        }
    ]

本当は、ホームハブを導入することで、Home のオートメーションと連動させて、○○が家に帰ったら、○○するといったことができるんだけど、ホームハブが無いのでできない。そうなってくると、HomePod が欲しくなってくる。

 

HomeKit/homebridgeをラズパイで再開

一時期、google home notifier のインストールで削除した Siri を使うための HomeKit 互換の homebridge を raspberry-pi の上に再インストールを行った。

Google Home Mini を喋らせるためにインストールした google home notifier では、node.js を使うため(あとで問題がないと分かったけど)に、一旦機能を止めていたけど、機能の競合の起こりにくい raspberry-pi に暇つぶしも兼ねて homebridge を入れる。

インストールにあたり、赤外線リモコンの制御の python-broadlink を raspberry-pi にインストールしたので、単独でテレビのON/OFF/ビデオ入力切替の cec もあるから、サーバを活用しなくても済む。

手順は、過去の自分のインストールメモを参考。ちょっと手間取ったけど。

ということで、

  • テレビ,チューナー,PS4のON/OFF
  • 2つの照明のON/OFF
  • 室内/室外の温度計の表示

が、Hey, Siri で可能。

インターネット回線の速度テスト

ネットワーク速度って、Ether > WiFi としか思ってなかったけど、WiFiの方が倍以上速い結果になってら。パソコンもそれなりに古いとはいえ、そういう時代か。

改めて確認したら、パソコンが100MbpsのHUBに繋がっていたじゃん。そういえば、ルータのギガビットが埋まってて一時的に繋ぎ変えてたっけ。Edgerouter-X を HUB 接続してできた所につなぎ替え。

iPhone 10 WiFi – 11ac で、240Mbps

{CAPTION}

パソコンの Ether 経由をギガビットにつないで本来の速度。

パソコンの Ether 経由だけど100MbpsHUBに繋がってた。

iOS13のオートメーション

iOS13のショートカット・アプリには、オートメーション機能が加わった。

iOS13のオートメーション機能で行き先表示板の変更

今回、パーソナルオートメーションにて、職場からの帰宅時に、 部屋の行先表示板の内容を「帰宅」に書き換えて、 自宅に「今から帰る」というメールを送るようにしてみた。
行先掲示板は、小型のLEDメッセンジャーで、 元々簡単なメッセージを Web API で書き換えられるようにしてあった。
ちなみに、自宅に送るメールも、メールタイトルをLEDメッセンジャーで 表示できるようにしてある。

帰宅イベントは、職場のGPS中央から指定半径離れたことで起動させる。

帰宅時に実行する処理で、スクリプティングの中の x-callback 機能を使った。

ただし、元々のLEDメッセンジャーに表示する CGI では、呼び出された後にブラウザが起動状態のままで停止してしまう。このため、詳細表示にして「X-Success URL」をチェック。
X-Success URL とは、iOS が Web アプリと連動するための機能で、表示処理をした後に CGI のヘッダ出力にて、”Location: shortcuts://callback\n” を出力すればいい。今回は、元々の CGI をちょいと書き換えた。メールを送る機能も、単純にメールを送る…では、メールアプリの送信画面で止まってしまう。同じく要塞表示にして、「作成シートを表示」を off にする。

x-callback は HTTPSが必須

これらの機能は、ショートカットアプリのテスト実行機能ではうまくいった。
ただ、事前の実験で、ショートカットの試運転機能ではうまく動いたが、実際に仕事場から帰る時に、オートメーション機能は起動したが、X-CallBack の URL が http で指定したのが原因なのか、URL を開けない。まあ、HTTPSが使えないような怪しいサイトから callback の URL をもらっても、信用できないよな。
ただ、職場のLEDメッセンジャーは公開鍵の登録が手続き的に煩雑なので、http のみ。
# さて、どうしようかな。

iOS 13 とトヨタ・ナビ接続のトラブル

iOS 13 を早々に入れたけど、車のナビから iPhone のテザリングが上手くいかない。探してみるとトヨタのナビで発生している様子

WiFiを選んでパスワード入力すれば使えるのだけど、次回にパスワードが保存されない。優先ネットワークの選択の画面では、接続の度に別なWiFi登録として扱われている様子。

ナビに登録されているWiFi登録の詳細を見ると、MACアドレスと接続チャンネルが違っている。最近はMACアドレスを使ったユーザトレースが問題視されているので、MACアドレス違いで別扱いしていると想像している。ただ、ナビが自宅WiFiに繋がった情報も複数残っていた。もしかすると接続チャンネルの問題かなぁ…。どちらにしろ、早く治ってほしいな。テザリングが使い物にならない。

追記: WiFiの登録で、SSID,Password,通信方式を手作業登録て行えば、繋がるとの報告で無事繋がるようになったかな。

Apple Watch series 5

Apple Watch 5 GPS を購入。

アプリの起動がSeries2と比べたら、キビキビしていて惚れたのもあり、買ってしまった。

最初の感想は画面が大きい。38mm →40mm なので大したことないはずなんだけど、画面端の丸みの部分も表示範囲になったため、それ以上に大きくなった感じ。便利便利。

まだ設定が不完全なので、LINEの表示が今一つ。慣れるにはもう少しかかりそうだな。

Watch OS 6でメールのURLがリンク表示されタップするとイメージや簡単なWebテキストなら表示できる。
{CAPTION}

Apple Trade In で Apple Watch Series 2を下取り

今回の購入にあたって、古い Apple Watch 2 は、Apple 公式の下取り(Apple Trade In)を使った。購入時に下取りのためにシリアル番号など入れて機種確認のうえ、送られてくる返送用の箱に入れて送るだけ。

下取りにあたって、古い箱やUSBケーブルとか探したけど、いざ送ろうとしたら本体だけ。時計のベルトさえ不要。そんなんなら、もう少し違うデザインのベルトで買ってもいいと思った。

ちょうど、別の Amazon の買い物が、返送用の宅配業者(佐川急便)と同じで明日届く予定なので、事前に連絡を入れて下取りの集荷も頼んでおいた。

PWなしWiFiとVPNの利用

夏休みの家族旅行でホテル。ただ、最近は減ってるけど、ホテルのWiFiがパスワードなし。こういうWiFiは、通信データが盗聴される可能性がある(参考「ホテルのWiFiの危険性は高い?)」ので、最近は使用を避けたい。

でも、家では以前から VPN サーバを使えるようにしているので、この際、家族にも使い方を説明して積極的に使ってもらおう。サーバ,ユーザID,PW,事前共有キーは、別途メールするとして、設定方法は他の人の解説記事をみてもらおう。

VPN接続だと、セキュリティが安心というのもあるけど、自宅だけに制限している機能(WordPressへの記事の投稿とか、自宅ネットワーク状況の表示など)も使える。

検索 🔎

  My Google     Yahoo

便利サイト