頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


iPhone 6の近接センサーを交換した

泉大津にある某iPhone修理屋でiPhone 6のバッテリー交換をしてきたら、電話の声がイヤースピーカーから聞こえなくなってしまった。もちろん修理屋はバッテリー交換とは関係無いと当然言う。

iPhone6のフロントパネルが浮いてる

↑こんなフロントパネルが浮いた状態で納品(バッテリー交換直後は画面が表示される、くらいしか確認しなかったので気付かず、家に帰ってから気が付いた)する業者なのですっかり信用できなくなっており自分で修理することにした。

iPhone 3GSのバッテリーが膨らんできたので交換してみた
↑ちなみにだいぶ前にiPhone 3GSのバッテリーは自分で交換したことはあったけど、今回は工具もなかったのでお店にお願いしたんだけどこんなことになるとは。

不具合の状態を再チェックしてみると、、、
普通のスピーカーに切り替えると聞こえる(イヤホンもOK)がイヤースピーカーだと聞こえない。
イヤホンジャックが故障してると常にイヤホンジャックが刺さっているとiOSが勘違いしてイヤースピーカーから音が出ないってことが起きるらしいけど、イヤホンジャックの抜き差しは検知してる。
近接センサーの動きが怪しい?5sも7+も電話中に顔を近づけると画面が暗くなるのに6だとならない(たまになるときもあるが音はやっぱり聞こえない)。
近接センサーとイヤースピーカの動きがどう連動してるのかは俺には調べがつかなかった(近接センサーが顔が近いと判断した時だけイヤースピーカーから音を出してるとすると、悪いのはイヤースピーカーではなく近接センサーなのかも)。

ということでまずは近接センサーがおかしくなってんのかな?ということでイヤースピーカーではなく近接センサーを交換してみることにした。



↑AmazonでiPhone 6用の近接センサーあたりを購入(購入したのはモノが111円、送料460円だった)。フロントカメラも付いてる?



↑工具も購入。購入時は699円。

分解工房・iPhone 6/フロントカメラ・近接センサー交換修理方法

↑このサイトを参考に作業を進めていった。感謝、感謝!

フロントパネルを剥がしたところ

↑ホームボタン近くのネジを外してぱっかーんとフロントパネルを引っぺがしたとこ。

切断してるケーブル

↑おい、待て。よく見るとすでに基盤とフロントパネルをつなぐ薄いケーブルがざっくり5mmくらい切れてるやん。
修理依頼した時にねじったのか力をかけてしまい切っちゃったのかな?
幸か不幸かこの切れてるケーブルは購入した交換部品の近接センサー、カメラにつながるケーブルである。近接センサーというよりケーブル切断が原因?

ケーブルを全て外したところ

↑ケーブルを全部外して基盤側とフロントパネル側を分離。

近接センサー取り外し完了

↑近接センサー・カメラ周りのを外したところ。

切断してるケーブル

↑やっぱり切れてる、、、なんでや、、、

新品の近接センサー

↑購入してた交換部品。平べったい状態なんだけど、iPhoneに装着するにはかなり曲がった状態にせねばならない。

固定板取り付け後

↑だからこの状態のようにイヤースピーカーと一緒に固定板で固定するのにえらい苦労した。この工程が今回一番難しかったな。
後は逆に組み立てて行って、ドキドキしながら電源を入れてみる、、、

電源入れた後

↑リンゴマークが見えた!けど喜びで写真を撮るのを忘れ、すでにパスコード入力画面に切り替わった後だけど。とにかくディスプレイはいけてる!
さらにフロントカメラも動作すること、イヤースピーカーからの音声も聞こえるようになったことを確認できた。
ということで無事に修理完了〜!


Python、datetimeの落とし穴

Pythonで日時を扱いたかったんでdatetimeなるものをいじってたんだけどさ。

date1 = datetime.date(2017, 8, 3)
print("date1 = "+date1.isoformat()) # date1 = 2017-08-03

↑これはええねん。期待通りね。

ところがここに至る前に
date1 = datetime.date(2017, 08, 03)
みたいな記述をしてたんよ。そしたら

Unhandled Python exception
Program ended with exit code: 6

とか言って落ちるんよ。これが出るとどこがおかしいのか調べるのに難儀するんだよな。
ホント厳しいのう、Pythonさんは、、、

あ、もしかしてと思って確認したら整数型に
a = 01
としただけで落ちるやん。datetimeというよりPythonの仕様なのね、、、



memo
Python 3.5.2 :: Anaconda 4.1.1 (x86_64)



PyQt5でサブウインドウ内のボタンが押せない

PythonでGUI欲しくてPyQt5をインストールしてみた
↑PyQt5をいじってるんだけど、、、
サブウィンドウの扱いってのがもう一つよくわからん。
メインのウィンドウを作るように作ってもダメっぽく、QDialogってので作成しないといけないらしい。

PyQt5メインウインドウ
↑メインのメニューバーみたいなのを作って、そこをクリックすると、、、

PyQt5サブウインドウ
↑サブウィンドウが表示された!ここまではええねん。

このサブウィンドウ内にボタンを追加してみたんだけど、これが有効にならない。
なんか色まで違うけど、それくらいはええわ。
いくらクリックしても関数がコールされないのはどういうことや?
調べてもさっぱりわからなかったので、、、諦めた!
サブウィンドウではボタンは使わないことにする。まあ自分用だからな。


(参考)
PyQt5とPythonでサブウィンドウを出してみる - Qiita


Nintendo SwitchでNAT超えができなかった理由

めでたくNintendo Switchを手にいれてARMSを楽しんでるんだけど、パーティマッチをやってみようとしたけど、いくらやっても相手が見つからない。あー、ちなみに俺はまだ人様と戦えるレベルまで行ってないです、はい。
詳しくみるとどうもインターネットの接続に問題があるとか?
へ?ストアにだって接続できてるし、アカウントのログインだってできてるやん?

インターネットへの接続をチェックしてみると、、、

Switchのネット接続テスト1

↑NATタイプがDってなってるやん?これはまずいらしい。

【Switch】エラーコード「2618-0516」が表示されました。どうしたらいいですか?

で、ネットで情報を漁ってSwitchのIPアドレス固定したり、ルータの設定をいじったり奮闘したんだけどいくらやってもNATタイプはD。

対戦するのに今までiPhoneでも何か特別な設定したとかないし、3DSではネットで誰かとモンハンできるのに。Switchの画面見てもグローバルIPアドレス書いてるし。だからルーターかSwitchの設定でなんとかなるんだろうと思ってたんだが、、、

いくらやってもダメなので、Nintendoのヘルプに真っ先に書いてる「契約してる回線の確認」をしたら、ウチにはグローバルIPアドレスは与えられてないことが判明。
ウチはマンションなので、マンションにグローバルIPアドレスがあって、そこからプライベートIPアドレスってのが各戸に与えられるとかなんとか。
そういうことかよ。

それで解決策はというと現在使ってる回線にグローバルIPをもらえるオプション(もちろん有料)があるので、それを申し込んでみた。
うちで使ってる無線LANルータはバッファローのWHR-1166DHP2 でファームウエアのバージョンは2.91。
ここでそれ用の設定画面(192.168.11.1な、取説にあるよね)に入り、グローバルIPアドレス申し込みでもらえたPPPoE接続用のID、パスワードなどを設定。
バッファロールータのPPPoE 接続設定説明
↑こちらのブログが参考になりました。

ところがうちの場合「IPアドレス取得方法」が「インターネット@スタートを行う」と表示されるだけで選択することができなかったんだわ。
バッファロー本家のヘルプを確認したら、ルーター本体背面のスイッチを切り替えるべし、とあったのでAUTOになってたのをROUTERに変えたら

ルーター設定画面

↑このような「IPアドレス取得方法」を選択できる画面が現れた。ここを「PPPoEクライアント機能を使用する」に設定。
Switch本体は特別な(IPアドレス固定するとか)設定はしてない。

その結果、、、

Switchのネット接続テスト2

↑輝かしいぜ、NATタイプ A!!
早速ARMSやってみる。
お〜お〜おお〜 お〜お〜おお〜 お〜お〜お〜〜!(ARMSのテーマね)
するとめでたくパーティマッチ繋がった!!けどやっぱり下手なのでカモられてばかりだけど。
これでスプラトゥーン2も楽しみだ!


SwitchのARMSはJoy-Con一台で遊べるのか?

購入前に色々調べたんだけど、ARMSってJoy-Conを追加購入せずに家族で対戦したり出来んのかな?ってのがよくわからなかった。
ほら、いろんなサイト見ても大抵は左右の手にJoy-Conを一つずつ手にして(「いいね持ち」と言うらしいよ)パンチ!とかしてるじゃない?こんな感じでさ↓

ARMS対戦

ってことは家族で対戦しようとするとJoy-Conセットを購入せんとあかんの?と思っていたんだけど、、、

いざARMSを買って遊んでみたところ、、、できるじゃないか!

「Joy-Con横持ち」ってのがあって、1台で移動やパンチなど全部の操作ができる。これだとデフォで2台あるから家族や友達などと一緒に対戦や協力して遊べる。

操作方法 - ARMS(アームズ) 攻略
↑持ち方についてはこの辺りに詳しく載ってる。

ただやっぱり「いいね持ち」が楽しいし、「横持ち」だと誤操作で何度も一時停止やスクショ撮影とか押しちゃったりしてしまう。やっぱりJoy-Conセット欲しい!ってなっちゃう。まさに任天堂の思う壺だよ。

ともかく息子と対戦してなかなか盛り上がったよ!


あと、一番最初に戸惑ったのがストラップを付けずにソフトを起動して進めていったせいか、「横持ち」を前提にチュートリアルが進んでわけわからず、何かさせるのにいろいろ試すだけという状態になった(こちらは「いいね持ち」で構えていたわけで)。両手でやるなら最初からストラップつけとかないとダメみたい。





Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad