Speed Wi-Fi HOME L01s はSIMフリー端末だった!

au版 Speed Wi-Fi HOME L01s (HWS32)はSIMフリー端末でした。

L01Sのページ
https://www.au.com/mobile/product/data/hws32/

 

L01SのSIMカードはnanoSIMで本体底面のスロットから簡単に抜き差しできます。

IMG_6366

このSIMカードはオレンジ色のau Nano IC Card 04 (VoLTE)です。
したがって、VoLTE専用SIMであり、従来の黒SIM用端末にオレンジSIMを挿しても基本的には使えません。

上記とは逆に、L01Sに他社のSIMカードを挿入した場合は通信できるかを本ブログでは検証します。

【結論】L01Sでドコモ系格安SIMは動作します。

IMG_6363

上記は、イオンモバイルのデータ専用SIMを入れて再起動やハイスピードエリアのスイッチ押すを行った様子です。
ライトが緑に点灯して問題なく動作しています。

 

設定としては、まずイオンモバイルのSIMをL01Sに挿入します。

IMG_6369

 

L01Sを起動して、PCから設定ページを開きます。
設定ページについては下記にサイトを参考にしてください。

https://www.au.com/support/faq/view.k20000000182/

プロファイルにデフォルトで「Internet」という名前の項目がありますが、
これがauのデフォルトのAPN設定です。

 

IMG_6372
これとは別にイオンモバイル用のAPNを追加します。

APN n-aeonmobile.com
ユーザ名 user@n-aeonmobile.com
パスワード 0000
認証タイプ PAPまたはCHAP

IMG_6361

 

プロファイルの追加が完了したら、設定を切り替えてL01Sを再起動します。
起動後にボタンをおしたりしていると、緑のランプが点灯します。

また、接続設定のページの接続ステータスが以下のように表示されます。

IMG_6362

通信速度は、136kbpsでした。

IMG_6364

 

以上より、au版L01SはSIMフリー端末であり、ドコモ系SIMでも利用可能でした。
UQ系のL01Sについては未検証ですが、UQモバイルのサイトに下記の記載がありました。

*****************************************
【L01s】SIMロックはありますか?
回答
SIMロックフリー端末です。
*****************************************
https://faq.uqwimax.jp/faq/show/5348?category_id=679&site_domain=wimax

 

※本記事に記載してある内容について、追試を行う場合は自己責任で行ってください。

g07+でSMSが受信できずハマった話。

別にg07+のせいじゃないんだけど、SMSが受信できずにハマった。

iphone4S(au)からg07+にSIMを入れ替えたのだけど、SMSの疎通確認のために手持ちのiphone6s(Softbank)からSMSを送信したが全然届かない。

いろいろ調べた結果、iphoneに問題があるのでは?と疑って下記にサイトにたどり着いた。

電話番号の登録を削除して iMessage をオフにする – Apple サポート

実は、iphone同士でショートメッセージを送る場合、SMSではなくiMessageというプロトコルが使われるらしい。
このiMessageの宛先はAppleが端末と電話番号を紐付ける形で管理しており、解除しないと継続して古い端末にiMessageが届き続けるらしい。

さらにまだ届かない。
これは送信側にも問題があると睨んで、iphone6sのiMessageの設定を見たところ、相手がiMessage端末でない場合にSMSを使わないように設定されていた。
オフにした覚えはないんだが。。。
つまり、今までもiphone以外の端末にSMS送ろうとしても届いてなかったということか。

これでSMSが届くようになった。
こんなんで、2時間ほど潰れたわ。

 

SIMフリーのAndroidスマホでauのezwebメールを使う話

SIMフリースマホでauのezwebメールを使う方法.

そもそも、
auから発売されていないAndroidスマホ(SIMフリーなど)ではezwebメールが使えないようになっている.
SIMフリーのiphoneでau回線を使っても特に不都合がないのにこれは謎仕様だ。

auマーケットからダウンロードできるKDDI Eメールアプリを使えばできそうだが、
ダウンロードしようとすると、端末が対応していません的なエラーになる.
では手動で設定するからSMTPのアカウントとか知りたいと思うと。。。何だか大変な手順を踏んだ.

【auスマートフォン】Gmailからezweb.ne.jpアカウントを利用する方法 – うたての境地
http://d.hatena.ne.jp/utate/20130404/1365011157

auのimap/smtpサーバアカウントを取得する | jikkenjo.net

auのimap/smtpサーバアカウントを取得する

auのキャリアメール(ezweb.ne.jp)をSIMフリースマホ等で使う方法 : 日々の出来事や感想などを記したもの。:)
http://star2.exblog.jp/22640467/

要するに、吾輩はauのiphone4Sなので

・auのSIMを挿したiphoneからSMSを送る.
宛先 : #5000
内容 : 1234

・届いたURLを開く

・メール設定画面で
「※上記以外のアプリをご利用の方は手動設定を行ってください」
を選択.
※ MMSやEメールの選択肢しか無いように見えるが、下に小さく存在している。

設定情報送信
IMAPサーバーの情報などが表示される.

同時にSMSでユーザー名 / パスワードが表示される.

URLが届く.

これでユーザー名 / パスワードが届く.

・Androidのスマホで下記の設定を行う
受信サーバ:imap.ezweb.ne.jp SSLあり(ポート:993)
送信サーバ:smtp.ezweb.ne.jp SSLあり(ポート:587)

届いたユーザー名 / パスワード

・iphoneから下記のSMSを送信
宛先 : 00090015
本文 : 1234

※これがiphoneでないauスマホだったりすると、ブラウザ偽造したりすることになるらしい.

なんて面倒な仕様なんだろ。
通信料払って、きちんとezwebのオプションまで付けているのに、SMTP使わせまいとする発想がすごいわ。

VisualStutdio2017で作成したASP.NET CoreWebアプリをCentOS7で動かしてみた。

VisualStutdio2017で作成したASP.NET CoreWebアプリをCentOS7で動かしてみた。
基本的な流れは以下のサイトと同じ。

CentOS 7.2上に.NET Core 1.1をインストールして、Visual StudioでビルドしたASP.NET Core Webアプリをデプロイしてサービス化する – Qiita
http://qiita.com/yamaokunousausa/items/f9f2b157e0fdca045a14

上記のサイトの手順で実行しようとしたところ以下の差異があった。

・Visual Studio 2017が出力するターゲットフレームワークはデフォルトで.NETCoreApp1.1
=> jsonファイルの編集を行う必要はない

・Visual Studio 2017が出力するターゲットフレームワークはデフォルトでは1.1.2である。
=> 末尾のマイナーバージョンが0ではなく2のために実行時にエラーになる。
後述する手順で回避する。

[.Net Core 1.1.2が必要と言われる]
下記のサイトから、dotnet-centos-x64.1.1.2.tar.gzをダウンロードする.
https://www.microsoft.com/net/download/linux

※Curlなどで直接DLする際は以下のURLを使用する。
https://download.microsoft.com/download/D/7/A/D7A9E4E9-5D25-4F0C-B071-210CB8267943/dotnet-centos-x64.1.1.2.tar.gz

下記のコマンドを打つ。
sudo mkdir /opt/dotnet-1.1.2
sudo tar zxf dotnet-centos-x64.1.1.2.tar.gz -C /opt/dotnet-1.1.2
ln -s /opt/dotnet-1.1.2/dotnet /usr/local/bin

※ lnする前に先ほどの記事で作成した/usr/local/bin/dotnetをunlinkしておくこと.
unlink /usr/local/bin/dotnet

実際に動作するvagrantのVMイメージを公開できないものか検討中。

Scalaで既存のListの末尾に値を追加する

Scalaで既存のListの末尾に値を追加するのにハマった。
一応解決したけど、それが正しいやりかたかもわからん。

リストを宣言して、
scala> var list = List(1, 2, 3)
list: List[Int] = List(1, 2, 3)

::で末尾に追加しようとして怒られる。
scala> list = list :: 4
<console>:8: error: value :: is not a member of Int
list = list :: 4

::でリストの先頭に追加するのは問題なく通る。
scala> list = 4 :: list
list: List[Int] = List(4, 1, 2, 3)

新しいリストを作って:::でつなげると、一応リストの末尾に追加できた。
scala> list = list ::: List(5)
list: List[Int] = List(4, 1, 2, 3, 5)

うーん、めんどい。
そういえば、昔Lispで同じような経験をしたような…
まぁ動くし、これでいっか。

Spring Bootでwarファイルを生成してTomcatで動かす雛形

Spring Bootでwarファイルを生成して、Tomcatで実行するための雛形ファイルを公開します.

http://www.loxsols.com/files/src/misc/loxsolsboot_004_war.zip
動作条件
・JDK 1.7
・Tomcat 8.5.16
・Spring Boot 1.5.4

※ tomcat 6では動かないので要注意です。

warファイルをデプロイして下記のURLを開くとjspファイルの内容が返却されるはずです。
http://localhost:8080/loxsolsboot/hello-jsp

手っ取り早く、JSPが使えるSpring Bootのwarファイルを生成したい人は活用ください。

 

 

 

 

 

Loxsols Twitter Analyzerをリリースしました。

Loxsols Twitter Analyzerは筆者のTwitterのタイムラインを形態素解析するツールです。

Loxsols Twitter Analyzer
http://www.loxsols.com/pukiwiki/index.php?Loxsols%20Twitter%20Analyzer

単語を抽出して出現頻度でソートした結果を取り出せます。
(それが何の役に立つかは(ry… )

Twitter 4JとYahoo形態素解析のAPIを使っています。

 

SpringBootServletInitializerのパッケージ構成が変更されている件

Spring Bootでjarファイルではなく、warファイルを生成してアプリケーション・サーバーにデプロイする時にSpringBootServletInitializerクラスを継承することになる。

このSpringBootServletInitializerクラスのパッケージ構成が曲者で、バージョンによっては正しくないimport文を参照することになる。

筆者の環境は以下のimport文の違いがあった。

正 : org.springframework.boot.web.support.SpringBootServletInitializer
誤 : org.springframework.boot.context.web.SpringBootServletInitializer

これのせいで、30分ほどコンパイルエラーの画面と格闘した。
例のごとく、Stack overflowが参考になった。
Spring Boot: SpringBootServletInitializer is deprecated
https://stackoverflow.com/questions/38843015/spring-boot-springbootservletinitializer-is-deprecated

springも一度リリースしたパッケージ構成をさらっと変えないでほしいな。

 

Loxols OCR翻訳 LINE BOT をリリースしました.

Loxols OCR翻訳 LINE BOTをリリースしました.
http://www.loxsols.com/pukiwiki/index.php?Loxols%20OCR%E7%BF%BB%E8%A8%B3%20LINE%20BOT

ls-ocr-tl-000
Loxols OCR翻訳 LINE BOTは、画像データの翻訳に対応したLINEの翻訳BOTです。
日本語と多言語の翻訳に対応しています。
入力した文字列が日本語の場合は、英語へ翻訳します。
日本語以外の文字列を入力した場合は、日本語へ翻訳します。

ls-ocr-tl-005

画像データを受け付けた場合は、BOT内部でOCR処理を行い、テキストデータを抽出して翻訳します。
ls-ocr-tl-003
※本サービスの運営には費用がかかるため、一定期間公開して利用者が少ないようであれば公開を停止します。予めご了承ください。

 

 

 

 

 

 

Spring Bootでapplication.propertiesに定義した独自の値を読み取る方法

Spring Bootで、application.propertiesには色々な魔法のキーワードを打ち込むけど、独自にキーと値を設定することも出来る。

んで、このapplication.propertiesに設定した値が読めなくて2時間ほどハマった。
日本語の資料を探そうとして見つからず、リソースリーダーとか触りだしてハマった。

こういうときは素直に英語でググりましょう。
Spring Boot application.properties read っと。
初っ端からヒットしました。

How to access a value defined in the application.properties file in Spring Boot
https://stackoverflow.com/questions/30528255/how-to-access-a-value-defined-in-the-application-properties-file-in-spring-boot

application.propertiesで下記のよう記載した場合、

userBucket.path=${HOME}/bucket

クラスでは下記のようにコーディングする。

@Value("${userBucket.path}")
private String userBucketPath;

 

さすが、StackOverFlowでした。