愛車のカーナビを交換した話
以前、スピーカーを交換した記事に出てきた日産モコMG22Sに搭載されていたカーナビを新しくしました
交換前のカーナビがEclipse AVN118Mだったのですが、2008年製ぐらいのもので新しい道路が表示されてなかったり、USB、Bluetooth、AUXなど対応してなかったので、交換したいと思ってて
けど、あと3年半ほどで廃車予定なので、あまりお金をかけたくない+どうせなら車の電装を勉強したいので、安くいカーナビを自分で付け替えることに
カーナビ自体、地図データなどが入っていて高くなるんですが、Google Mapさえ表示できればカーナビの代用として機能するのでAndroid Auto対応かAndroid搭載どちらかのカーナビを買うことにしました
こちらはAndroid搭載で、Wi-Fi・Bluetooth・AUX・USB・GPS搭載の希望通りで評価もまーまー良かったので、即決でポチりました
けどこれ、Android搭載なんでインターネットに接続できないと使い物にならないので、スマホのテザリングがほぼ必須
注文して次の日には届いて作業開始
いかにも古そうなナビですね
背面がこちら
なぜか、アンテナケーブルとかいろいろささってなかったので、新しいナビでは手抜きせず配線しようと誓い、取付した結果
むっちゃスマホみたい!ってなり、Androidだから当たり前か・・・
説明書とかよんでると、バックカメラ、スピードメータ、ドライブレコーダー機能など色々あって約17000円はすごいって関心してました
交換後ドライブに行って、Google MapとかGoogle Play Musicとか正常に使えて最高でした
そうそう、最近ニュース沙汰のあおり運転とかありますが、マナー守って快適にドライブしましょうね(自分は安全運転の意識はしてます
新しくゴルフクラブを購入した話
前回のゴルフ記事から、またもや新しく中古ゴルフクラブを二本買いました
その二本がこちら
ヘッド | シャフト |
---|---|
Titleist Vokey Spin Milled 58-12 | Dynamic Gold |
ヘッド | シャフト |
---|---|
ダンロップ SRIXON Z545 | Diamana R60 |
いつも練習で通ってて、お世話になってるゴルフ練習場と販売店が併設されてるところで、いくつか試し打ちさせてもらって選びました
小学生のときからドライバーを振ってなかったので、まともに当たらなく珍しく凹んでしまったけど、とりあえず父親とお世話になってる店員さんの意見を聞いてチョイスしました
サンドウェッジは思った以上に使いやすくて即決でした
恥ずかしくならない程度でコースに出れるのはいつになるのやら
今回の報告はこれぐらい
ゴルフ再開したよ
小学6年生ぐらいのとき、父親とゴルフしてて、結局やめちゃったゴルフを再開することにしました。
理由は、社会人になって、体も動かさないし、土日ひまだしってことで、父親にうちっぱなしにつれってってもらったのが2週間前の話
んで、その時、体が覚えてたのかわからないけど、わりと飛んでたってこともあって先週も一人で打ちっぱなしに行って
今日は、車のスピーカーを取り換えた後に、父親とまたうちっぱなしに行って、父親の助言もあってクラブを買うことになりました
その購入したクラブがこれ
ダンロップ SRIXON Z725(23,200円)
なんで、これにしたかって言うと、うちっぱなしのとこのスタッフさんに5,6本違う種類のを試打ちさせてもらって、しっくりくるのでこれにしました
まークラブ買ったからには、三日坊主にならないよう、がんばってやっていこうと思います
今後も、少しだけどゴルフの記事もかいていこうかな
車のスピーカーを取り換えた話
音楽をならしてると助手席側のスピーカーから音がでてて、運転席側から出る時もあったり出ないときもあったりと、こんな状態が続いたので、初めてでビビりながら自分でスピーカーを変えることにしました。
原因探すべく、ドアの内張を左右外して(むっちゃ大変)運転席側と助手席側のスピーカーを入れ替えるました。
そうすると運転席側からなったので、スピーカー自体が悪いことが分かったので、新品のスピーカーを買いに行って取り換えました。
環境
日産モコ 平成18年式(DBA-MG22S)
KENWOOD 16cmカスタムフィットスピーカー KFC-RS163
ケンウッド(KENWOOD) 16cmカスタムフィットスピーカー KFC-RS163
- 出版社/メーカー: ケンウッド(KENWOOD)
- 発売日: 2015/10/09
- メディア: Automotive
- この商品を含むブログを見る
感想
内張を外したら、蜘蛛の巣が張っててくっそきたない
まー平成18年式だし多少はね?ってことで、買ってきたスピーカーをつけようと思ったら、ネジ穴合わないし自分でドアに穴をあける始末に・・・・
ドア自体、1mmぐらいで余裕ぶっこいてましたが、やっぱり鉄は偉大だった
んで、もって穴あけて配線して、スピーカー取り付けて、内張をつけて、元通りにしたので4時間ぐらいかかりました。
スピーカーを買いに行った時間もふくまれてるけど、この季節に長時間作業はやばいって痛感
んで、そのときの旧スピーカーとの比較
やっぱり、音が左右ともなって、音量もおおきくなりました
nginx+php-fpm on CentOS7で別々のサーバで構築する方法
実は、恥ずかしながら、WEBアプリを開発したことはありますが、2層構造やWEBサーバをApacheでしか構築した経験がありません。
そのため、今回はそんな初心エンジニアでもできるCentOS7がインストールされた2台のサーバ上でnginxとphp-fpmをそれぞれ導入して連携させたいと思います。
構築環境
今回の環境は以下の通りでやっていきます。
OS:CentOS7.6
nginx:1.17.0
php:7.0.33
目標
nginxがインストールされたサーバ(192.168.1.101:80)とphp-fpmがインストールされたサーバ(192.168.1.102:9000)を構築し、パソコン(192.168.1.100)からPHPが実行されたら目標達成。
構築
まず、CentOS7には、SELinuxというものとFirewalldがあり、標準のPHPバージョンが5.4っていう感じです。
SELinux無効化
SELinuxを切ります。
[user@web ~]$ getenforce Enforcing [user@web ~]$ sudo vi /etc/selinux/config
[/etc/selinux/config]
SELINUX=enforcing ↓ SELINUX=disabled
[user@web ~]$ reboot #再起動 [user@web ~]$ getenforce Disabled
firewallの設定追加
[user@web ~]$ systemctl status firewalld.service Active: active (running) [user@web ~]$ sudo firewall-cmd --add-service=http --permanent #http許可 [user@web ~]$ sudo firewall-cmd --add-service=ssh --permanent #ssh許可 [user@web ~]$ sudo firewall-cmd --reload
nginxインストールと設定
[user@web /etc/yum.repos.d/]$ sudo vi nginx.repo #新規ファイル作成
[/etc/yum.repos.d/nginx.repo]
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1
[user@web ~]$ sudo yum install -y nginx #nginxインストール [user@web ~]$ sudo systemctl enable nginx #自動起動設定 [user@web ~]$ sudo systemctl start nginx #起動 [user@web ~]$ sudo vi /etc/nginx/conf.d/default.conf #編集
[/etc/nginx/conf.d/default.conf]
server{ location / { index index.html index.htm index.php; #index.phpを追加 } location ~ \.php$ { root /var/www/html fastcgi_pass 192.168.1.102:9000; #phpアプリケーションサーバの指定 fastcgi_index index.php; fastcgi_parm SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
[user@web ~]$ sudo systemctl restart nginx #nginx再起動
php-fpmインストールと設定
nginxサーバと違い、こちらのサーバはパソコンとか直接通信しないので、SELinuxとfirewalldを無効化しておいてください。
[user@app ~]$ sudo yum install -y --enablerepo=remi,remi-php7.0 php-fpm #php-fpmインストール [user@app ~]$ sudo systemctl enable php-fpm.service #自動起動設定 [user@app ~]$ sudo useradd nginx #ユーザ作成 [user@app ~]$ sudo passwd nginx #ユーザ(nginx)のパスワード設定 [user@app ~]$ sudo groupadd nginx [user@app ~]$ sudo usermod -aG nginx nginx #ユーザをグループに追加 [user@app ~]$ sudo vi /etc/php-fpm.d/www.conf #php-fpm設定
[/etc/php-fpm.d/www.conf]
user = apache group = apache ↓ user = nginx group = nginx listen = 127.0.0.1:9000 #アプリサーバ(自身)の待ち受けIPアドレスとポート指定 ↓ listen = 192.168.1.102:9000 listen.allowed_clients = 127.0.0.1 #アクセスできるWEBサーバの指定 ↓ listen.allowed_clients = 192.168.1.101
[user@app ~]$ sudo systemctl restart php-fpm #php-fpm再起動 [user@app ~]$ sudo vi /var/www/html/index.php #新規作成
[/var/www/html/index.php]
<?php echo "192.168.1.102"; phpinfo(); ?>
これでパソコンのブラウザのアドレスバーにhttp://192.168.101/index.phpでアクセスできるんではないでしょうか?
はてなブログに引っ越した話
今年の3月に大阪の某工業大学を卒業して4月から社会人になったので、心機一転してはてなブログに引っ越しすることにしました。
理由は、これだけじゃなく、大学時代はGoogleサイトってサービスで少しだけ技術記事とか書いてたけど、色々使いにくいってのもあって、こちらに引っ越しました。
(Googleサイトの方の記事はこちらに全部移動させました)
今のところ会社でコアな技術使ったり、内製開発とかできてないってこともあり使えないエンジニアと呼べないエンジニアになっちゃうので、家とか勉強会とかで知見とかスキルを上げていくのに、アウトプットとかメモ代わりがほしいので、精神的に余裕があるときに、はてなブログに記事を書いていこうと思います。
あと、初心エンジニアから見たミドルウェアの導入の難しさとかコーディング中に引っかかったとことか、書ければいいかな、なんて思ってます。
ということで、引っ越したばかりのはてなブログを少しずつ記事を書いていくので、よろしくお願い致します。
[Android6.0]Wi-Fiビーコンをスキャンしても同じ結果になる
動作環境
Android6.0(API23)
現象
以前、ここにアップしたこと延長です。今回は、Android 6.0 で数秒間隔で端末周辺のアクセスポイントから発せられるWi-Fiビーコンを受信して、その情報を表示したいなと思って開発を進める中で、序盤の方はWi-Fiビーコンを受信して毎回異なる情報を表示できていました。 しかし、ここ数日Wi-Fiビーコンを受信してデータを表示しても、以下の様にすべてのアクセスポイントのSSID・BSSID・受信電力・タイムスタンプが同じになっていました。(内容は適当に書き換えました)
===================1回目============================= スキャン開始 [No.] BSSID SSID Level Timestamp [0] aa.aa.aa.aa.aa.aa LAN1 -45 123456789 [1] bb.bb.bb.bb.bb.bb LAN2 -58 234116784 ===================2回目============================= スキャン開始 [No.] BSSID SSID Level Timestamp [0] aa.aa.aa.aa.aa.aa LAN1 -45 123456789 [1] bb.bb.bb.bb.bb.bb LAN2 -58 234116784
ビーコンデータを格納する配列を初期化し忘れているのかな?って思ってnullをいれたり空文字を入れたり試行錯誤しましたが、結果は変わらず...... もしかして、Androidの開発者設定とか触っておかしくなっちゃったかな?と思い、Googleストアに出ているWi-Fiアナライザーアプリを入れて確認すると、周囲のWi-Fiビーコンを間違いなく表示できていました。 あと思い当たる節としては、WifiManagerクラスの使い方を間違ってるのかと思い、一からAndroidデベロッパーサイトを読みました。 間違いなく、getScanResults()で最新のアクセスポイントスキャンの結果を返すと書いてるし.....
public void WifiScan(){ /* 初期化 */ for(int i=0 ; i<MAX ; i++){ sortResult[i] = null; } List<ScanResult> scanResults = wifiManager.getScanResults(); sort(); //wifiビーコンを受信電力で降順ソート log(); //wifiResults内のデータを表示 }
しっかり変数にgetScanResults()で代入してるしなぁと思いながら、Androidデベロッパーサイトを眺めていると、getScanResults()の説明にスキャン結果を返すと書いていてもスキャンするとは書いてないのを気づき、メソッドすべて目を通すとstartScan()というメソッドを見つけました。 とりえあず、自身のコード内の初期化のためのfor文終了後に追記して、実行すると、なんと毎回Wi-Fiビーコンの結果が変わってるじゃないですか。 開発序盤では、これらのことが起きてなかったので、ほんとに今回は悩みました。私の、卒業研究もほぼほぼ終盤ですので、来年から始まる仕事とかでAndroidアプリ開発をしない限りは、もうAndroidさわらなさそう。