はりうすブログ (のすけのメモ)

湘南にある小さな会社 代表 ”のすけ”のブログです

MacのELcapitanでL05Aを使ってネットに接続する(DTIのsimで)

こんにちは、のすけです。

DTIのsimがなんか半年無料で使えるとかいうキャンペーンがあって、ついつい申し込んで手に入れてしまいました。 ユビキタスプロバイダ DTI: 料金は大手最安値帯 2回連続No1評価獲得

そこで、このDTIのsimを有効活用するためにMacbookに挿してインターネットに接続してみました。

2500円(端末代他)+3000円(初期費)で半年間ネット接続がMacbookからできるなんて凄すぎ。。。しかも毎月 3GBとか。

Macbookにsimを挿すには

iPhoneiPadのようにMacbookにsimがそのまま挿せればいいのですが、残念ながら挿すところはありません。

そこで、先日手に入れたDOCOMOのUSBモデム「L05A」にsimをに挿して使おうとしました。

L05Aはこやつ。Amazonで中古品を1800円で購入。激安ですね。

このUSBモデムにsimを挿して、MacbookとUSB接続して連携するという寸法です。

なお、L05Aは標準SIM(mini-SIM)なのですが、DTIにはnano-SIMで注文してしまったので、下駄を履かせています。

使ったのは↑です。他にも安いやつがあるみたいですが、評価が良かったので。

L05AはOSX 10.9(OS X Mavericks)までだった

しかし問題が、、、

、、、

僕が持っているMacのOS10.11(OS X El Capitan)ではドライバがないということがわかりました。

L-05A | お客様サポート | NTTドコモ

こちらからドライバとMac用の接続ツールが配られています。

OSX 10.9(OS X Mavericks)までしか対応していません。

一応ダウンロードしてインストールしてみましたが、接続ツールを起動しても「端末初期化中・・・」がずっと続いて全く使えません

なんてこった><;

YosemiteやELcapitanで使う方法

そりゃ、DOCOMOさんはこんな古いUSBモデムはもうサポートしないでしょうし、ドライバももう出ないでしょう。 そんなわけで、接続ツールを使わないで僕のMac10.11.2(OS X El Capitan)をインターネットに接続させてみました。

多分Yosemiteでもいけると思います。

接続ツールをアンインストール

まずDOCOMOの接続ツールをインストールしていたら、アンインストールします。

もし、入れていなければこの手順は飛ばして大丈夫です。

アンインストールは、接続ツールのインストール用zipの中に入ってます。

端末をMACに接続して、Finederからデバイスを取り出す

まずは端末をMACのUSB端子に挿します。

f:id:hollywis:20160122133925j:plain

MacbookはUSB Type-cなのでハブみたいのに接続してますが、AirとかProなら直接させばOKです。

そしてFinederを開いて、デバイスのDOCOMOというやつ右にある取り出しマークを押します。

f:id:hollywis:20160122134207p:plain

ネットワーク環境設定で接続設定を記述

次にネットワーク環境設定を開きます。するとL05Aのやつが3つ出てきました。

f:id:hollywis:20160122134347p:plain

この1番上のやつを選択して、構成のところで「構成を追加」を押します。名前は「L05A」とかにして作成します。

f:id:hollywis:20160122134547p:plain

次に右下の「詳細」を押します。

f:id:hollywis:20160122134347p:plain

モデムのタブのところで、「機種」を「GPRS(GSM/3G)」に、APNを「dti.jp」にします。*他のsimならそのsimのAPN設定を入れる感じです。

そして「OK」を押す。

f:id:hollywis:20160122134652p:plain

次に「アカウント名」と「パスワード」を入れます。DTIならdtidtiです。

f:id:hollywis:20160122135205p:plain

最後に「接続」を押せば、インターネットに繋がります。やったーー!

f:id:hollywis:20160122135339p:plain

速度はどんなもんかな?

Wifiの接続を切ってから、速度を測定するサイトで見てみました。

f:id:hollywis:20160122140024p:plain

1.11Mbps あんまり速くないけど、ブラウジングとかなら問題なさそうですね。

Wifiが使えないカフェとかで活躍しそう!

新宿の電源wifi付きカフェ BASE POINTに行ってきました

こんにちは、のすけです。

たまたま用事があって新宿に行きました。その際に、せっかくだからこの辺りで仕事できるコワーキングというか電源カフェないかなぁと探したところ、見つけました。

その名も、BASE POINT(ベースポイント)

新宿・貸し会議室・電源ノマドカフェ「BASE POINT」(ベースポイント)

いかにも、自分のBASE(基地)にしてくださいといった感じのネーミングでホームページを見たところ良さげだったので行ってきました。 f:id:hollywis:20160119143932p:plain

ちょっと奥まったところにある

f:id:hollywis:20160119144031p:plain

新宿の北西、新宿駅より西新宿駅の方が近いかもしれません。昼間に行ったのですが、ちょっと奥まった狭めの道のある場所にあり、営業マンや配達のおじさんが行き交う感じの中小企業が集まるエリアといった場所にありました。

大通りに面しているというわけでもなく中の様子も見えないので、ホームページで事前に調べていなければ入るのに若干勇気がいる感じです。

中はこんな感じで、かなりイケてます。

f:id:hollywis:20160119144917j:plain

変わったシステム

まず、入って認識しなければいけないのが、この店特有のシステムです。

ありていに言えば、漫画喫茶みたいなシステムです。

基本的には時間制のカフェとなっています。10分毎に従量課金です。お値段は2時間で1000円ほど。

また、パック料金もあり3時間や1時間、1日コースもあります。漫画喫茶式ですね。。

そして、料金にはフリードリンクがついてきます。やっぱり漫画喫茶式ですね。。でも、漫画はありません><;

ここはあくまでご飯を食べたり、仕事したり、勉強する場所ですので、当然かもしれません。漫画がずらっと並んでいたら仕事どころじゃないですし

あとは、ランチプランなんのもありました。これは「時間60分とランチ」がセットになったものです。このランチプランを頼んだ場合には、フリードリンクと60分居座れる権利とランチがついてきます。お得ですね。

メニューはタコライスとかそういう、おしゃれカフェ的なメニューでした。

http://b-pt.jp/wp-content/themes/basepoint/images/food/lunch_01.jpg *HPより引用

僕は食べていないので、味はどうなんでしょうか。店内の数名は食べている感じでした。

60分じゃ足りないよって人は、普通に従量制やセットにして、フードを単品で頼んでくださいとのことでした。

電源がどの席にもある

実はこの、「電源がどの席にもある」というのはかなりの重要なポイントです。

よくある電源カフェなんかは、一部の席だけ電源があるだけでそこが埋まっていると充電できない!!みたいなことになります。わざわざ電源カフェを探してきたのに埋まってるし。。。とか辛いですよね。

でも安心してください!このカフェはどの席にも電源ありあります。コンセントから遠い場所には電源タップで延長されていて椅子のすぐ場所に置いてあったりします。

また、店の真ん中あたりでは電源が天井からぶら下がってるので、安心です!

f:id:hollywis:20160119150035j:plain

しかも、小学校とか中学校とかにあったやつ!!

懐かしい、引っ張るとカチカチ音を鳴らしながら下がってきます。

WiFi完備

電源があれば、あとはwifiも欲しいところですがバッチリありました。壁にSSIDとパスワードが張ってあるので誰の目にも明らか!セキュリティとかは、ご愛嬌という感じです。

f:id:hollywis:20160119150456p:plain

速度もなかなか速いです。

でも思ったほどPC利用者は少なかったですね。勉強とかしている人と半分半分でした。

平日の昼間に行ったのですが、結構席は埋まっていました。でも勉強だったりPCだったりしているので、店内は比較的静かですね。作業する場所という感じです。

細部にこだわりあり

僕の中でいいなぁと思ったポイントなのですが、フリードリンクのコップがステンレスコップでした。

漫画喫茶とかによくあるフリードリンクのコップは、透明なプラスチックのやつですけど、あれだとありがたみが薄いですよね。ステンレスコップだと、コップがよく冷えるため口当たりが良くドリンクが美味いです。氷も全然溶けないですしね。

f:id:hollywis:20160119150639j:plain

素晴らしい。

おみくじが引ける

会員になるとセットプランが使えるので、会員になりました。会費は¥150で安かった。

QRコードで登録画面に飛んで、名前とメアドを入力して登録完了です。

こちらが会員用の画面 f:id:hollywis:20160119153211p:plain

システムはWebで作られていて、ポイント機能もついているようです。デザインは全体的にbootstrapっぽい印象。多分レスポンシブ。

職業病でこういうwebシステムみたら分析してしまいます;

下の方に「おみくじを引く」とかあったので押してみました。

f:id:hollywis:20160119153150p:plain

一等兵。。。BASE(基地)に掛けているのでしょうか。

「訓練で汗を流したぶんだけ、実戦で血を流さなくてすむ」名言ですね!?

他になにがあるのかわかりませんが、10ポイントゲットしたようです。他のやつ気になります。知っている方がいたら教えてください!!

f:id:hollywis:20160119153228p:plain

どうやらこのポイントで割引券とかと交換できるようです。初期登録で200ポイントもらえて、さらにおみくじで10ポイントもらえたようです。

でもなぜが、合計が230ポイント。。20ポイントは何かのボーナスでしょうか。

会議室・パーティルーム

一階が通常の時間制カフェ営業なのですが、2Fと3Fは場所貸しになっていました。 ちょっと値段はお高めという印象ですけど。。。

f:id:hollywis:20160119152445j:plain *HPより引用

4席や6席のテーブルや部屋が合計5つありました。部屋毎に値段が違ってパーテーションで区切られた ところなら30分¥400から、個室なら30分¥800からという部屋代です。時間も朝9時から夜22時と中々遅くまでやっています。詳しくはホームページをみてください。

部屋代だけでなくフリードリンク料金が別途人数分かかるので、注意かもしれません。一人あたり2時間で¥430から、4時間以上で¥700などといった感じ。

3Fはワンフロア貸しで18時まで30分¥1200、18時から22時までが30分¥1400です。土日はさらに料金が上がります。マイクやプロジェクターなどの貸し出しもあるようです。

f:id:hollywis:20160119152536j:plain *HPより引用

まとめ

作業場所としてはかなりオススメ。静かなためはかどります。フリードリンクなので、コーヒーとか飲み放題ですし。

僕らは結構会議することも多い為、たまにはこういった場所で会議するのも良いかもと思いました。

新宿・貸し会議室・電源ノマドカフェ「BASE POINT」(ベースポイント)

Arduinoで映像を超絶劣化させるマシンを作った話 | さいぞうのArduino初心者日記7

f:id:hollywis:20160119150031p:plain

ごぶさたしております。

さいぞうです。

     

前回更新は昨年のクリスマス。

hollywis.hatenablog.com

面倒くさくて最近更新してませんでしたが、気づいたら年があけていました。今年もよろしくお願いします。      

次のチュートリアルはLEDを複数つなげるというだけの回で、つまらないのでやる気がでなかったのですが、 簡単にできるネタを思いついたので書きます。    
           

Arduinoで映像を超絶劣化させるマシン

この動画がArduinoで映像を超絶劣化させるマシンを動かしたところです。

www.youtube.com

     

こういうことです。

つまり、Macのカメラに写った映像を赤緑青に分解し、比率をみて多かった色のLEDを光らせます。 ただし、青色LEDはキットに入ってなかったので、青が多い時は白LEDを光らせます。

     

一応、映像を左右に分けて、それぞれのエリアごとに色を判定することにしました。

     

PCのディスプレイでも、LEDでも、幾つかの光の点を集めてで画像を表しているという点では同じです。

私の使っているmacbook pro 15inchのカメラは720pらしいので、92万1600の画素で映像を表しています。 APPLE MacBook Pro Retina Display(15.4/2.3GHz Quad Core i7/16GB/512GB/Iris Pro/GeForce) ME294J/A

それを3色ずつのLED2組、つまり2画素で表すので、46万800分の1に劣化させています!

f:id:hollywis:20160116214445j:plain

        

        

続きを読む

nodeでクエリストリングを取得する

nodeもう少し進めてみます。

今回はhttpのgetリクエストにあるクエリを取得してみたいと思います。

クエリストリングというのは、次のようなURLにあるidarticleのことです。

http://hollywis.com?id=1&type=article

この例では次のデータが格納されています。

  • id:1

  • type:article

やってみる

var http = require('http');
var PORT = 8080;
var url = require('url')
var pages = [
        {id:'1' ,route:'',output:'HelloWorld!\n'},
        {id:'2' ,route:'foo',output:'fooのページです\n'},
        {id:'3' ,route:'var',output:'varのページです\n'},
        {id:'4' ,route:'another page',output: function(){ return 'これが'+this.route+'ページです\n'}}
    ];
http.createServer(function (request,response){
    var id = url.parse(decodeURI(request.url),true).query.id;
    if(id){
        pages.forEach(function(page){
            if(id === page.id){
                response.writeHead(200,{'Content-Type':'text/html'});
                response.end(typeof page.output === 'function' ? page.output() :page.output);
            }
        });
    }
    if(!response.finished){
        response.writeHead(404);
        response.end('ページが見つかりません!');
    }
}).listen(8080);

console.log('Server running at http://localhost'  + ':' + PORT + '/');

実行して以下にアクセスしてみます。 http://localhost:8080/?id=1

$ hotnode server.js

するとクエリストリングidが取れて別々のページにルーティングできるかと思います。

Airbnbで外国人と話がしたいので英語を勉強します

こんにちは、のすけです。

f:id:hollywis:20160111224502p:plain

全然技術ネタじゃないんですけど。

最近Airbnbのホストをかなりやられている方にお会いして、Airbnbで結構面白い外国人が来るという話を聞きました。

なんでも、ある程度高額な部屋には日本にビジネスをしにくる外国人が多く宿泊することが多く。 なかなか面白い話が聞けるとのこと。

「例:僕はTEDで話すために日本に来たんだよ!」

それを聞いて、「俺も話ししたい!」と思ってしまいました。

しかし、、、僕は英語はできません。そしてAirbnbのホストもしていません。

まぁAirbnbのホストはお金とやる気で解決する話なので問題ないですが、英語力はそうはいきません。

そんなわけで、英語を勉強することにします。

DMM英会話とかやろうかと思っていましたが、もっと鍛えてからやらないと洗礼で挫折するとか言われているので、まずは英語の勉強から入ります。 確かに大学の時にはブラジル人と英会話してましたが、結局まともに喋れるようにならなかったので、いきなり英会話するより2ヶ月くらい座学した方が良いと考えました。

まずは、うちの本棚に眠ってた↓をやります。

英語を話す力が一気に身につく!! 瞬間英作文ドリル (AC MOOK)

英語を話す力が一気に身につく!! 瞬間英作文ドリル (AC MOOK)

これは、英語の文章を反射的に作る訓練をするもので、中学英語だけで話したいことが話せるようになるというやつです。

なんで眠らせてたかというと、ちょっとやってみて効果が出たのですが、他の事が忙しく放置しそのままになっていたためです。何度も本棚整理でいらない本を捨ててきましたが、この英語本だけはとってありました。

瞬間英作文と言います。あらためてネットで調べてみたら、とにかくこの本を10周やるだけでも違うらしいので10周を当面の目標にしましょう。

さて、英語がスラスラと言えるようになるのか。。。

ちなみに瞬間英作文だとこの本の方が売れているみたい。

どんどん話すための瞬間英作文トレーニング (CD BOOK)

どんどん話すための瞬間英作文トレーニング (CD BOOK)

でも、せっかく眠らせていたのでドリルの方で頑張ってみます。

実は簡単だった。nodeを使ってみる

こんにちは、のすけです。

JavaScriptでサーバサイドとか面倒そう!ということで今まで敬遠していたのですが 実は手軽に利用出来るようです。

面倒そうと考えた理由としては、JavaScriptはクライアントサイドが普通ですので、何でわざわざJavascriptでサーバサイドまで作らにゃいけないのさ!

もっとWebで使いやすい専用言語とかFrameworkとかあるじゃん!

と思っていたのですが、、、書籍をサラッと見た感じだと、どうやらシンプルなHTTP通信ならnodeいいんじゃね? という認識に変わりました。

f:id:hollywis:20151226225042p:plain

僕はサーバサイドは今までサーブレッット(Java)や.NetFramework(C#)、Rails(Ruby)を使ってきました。 最近はWebでのライブラリの豊富さからRailsばかり触っていましたが、ついにNodeを使ってみることにしました。

なお下記の書籍を購入してしまったので、これを参考に実装しながら学習していこうかと思います。

Nodeクックブック

Nodeクックブック

Nodeの特徴

NodeはどうやらWebサーバとアプリケーションサーバが分離していないようです。 また、Webサーバ機能はプログラミングで作ってしまうことができるため、極めて手軽にWebを始めることができるとのこと。

プログラミング言語JavaScriptです。 クライアントサイドのプログラミング言語として最近は使われまくっているので、言語の敷居は低いですね。

パッケージ管理システムとしてRailsでしたらbundlerがありますが、Nodeではnpmというものがあるようです。安心ですね。

また、個々のリクエストは非同期で処理されI/Oをブロックしません。そのため、多くの同時接続を処理することができます。 シングルスレッドであるため、リクエスト毎にプロセスを生成&メモリ割当をするということもないようです。

実はNodeを使おうとした理由としてチャットシステムを作ろうとしたというのがあります。 従来のサーバサイドプログラムと比較して、同時接続という部分では一番パフォーマンスが良いのではないかと勝手に期待しています。

環境

Macにあらかじめ入れていたNodeを利用していきます。いつ入れたんだろう?

$ node -v
v5.0.0
$ npm -v
3.3.9
$node -p process.versions.v8
4.6.85.28

nodeを起動

有名なFrameworkとしてexpress.jsというのがあるようですが、Nodeを基本から理解するためフレームワークなしでnodeに触れてみたいと思います。 どうやらNodeではかなりシンプルにWeb機能が実装できるようですので。

server.jsというファイルを作る

一般的にサーバ生成用のファイル名はserver.jsという名前にする慣例があるようです。

中身に次のように書きます。

var http = require('http');
var PORT = 8080;
http.createServer(function (request,response){
    response.writeHead(200,{'Content-Type':'text/html'});
    response.end('HelloWorld!\n')
}).listen(8080);

console.log('Server running at http://localhost'  + ':' + PORT + '/');

httpというモジュールをrequireして、createServerでサーバ起動しています。 これだけのようです。シンプルすぎる。。。

ヘッダーにHTTPヘッダーとして、ステータスコード200、Contet-Type text/htmlを設定します。 htmlのbodyとしてHelloWorldを入れています。

なおHTTPについての知識が曖昧な場合には、こちらの書籍がオススメです。 そもそも、HTTPやHTMLとは何なのかが分かりやすく記載されています。 僕も分かっていたつもりでしたが、知らないことも多く読んでかなり頭の中がスッキリしました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

hotnodeをインストール
$ npm -g install hotnode
hotnodeでnodeを起動

server.jsというファイルがある場所に移動して、下記でnodeを起動します。

$  hotnode server.js

なお、通常は次のように起動します。hotnodeの利点は、実行ファイルの変更を検知すると再起動して読み直してくれます。 そのため、hotnodeで起動した方が良いでしょう。

$  node server.js

この状態で localhost:8080にアクセスすると「HelloWorld!」と表示されました。

超シンプルだ。

URLルーティングの作成

このままだと localhost:8080/fooも localhost:8080/varも全て「HelloWorld!」になるため アクセスしてくるURLのパスを見て、適切な場所にルーティングし表示を変えてみます。

var http = require('http');
var PORT = 8080;
var path = require('path');  // 追加
http.createServer(function (request,response){
    var lookup = path.basename(decodeURI(request.url));  // 追加
        //・・・

pathモジュールをrequireしています。 request.urlからurlパスを取得しdecodeURIでデコードします。 basenameはパスの最後の部分を取り出します。

ルーティングを記載

ルーティングは配列pagesで定義してみます。 forEachでpages配列を参照して、lookpupとマッチする場合に該当のoutputを出力します。

//・・・
var pages = [
        {route:'',output:'HelloWorld!\n'},
        {route:'foo',output:'fooのページです\n'},
        {route:'var',output:'varのページです\n'},
        {route:'another page',output: function(){ return 'これが'+this.route+'ページです\n'}}
    ];
http.createServer(function (request,response){
    var lookup = path.basename(decodeURI(request.url));
    pages.forEach(function(page){
        if(page.route === lookup){
            response.writeHead(200,{'Content-Type':'text/html'});
            response.end(typeof page.output === 'function' ? page.output() :page.output);
        }
    });
    if(!response.finished){
        response.writeHead(404);
        response.end('ページが見つかりません!');
    }
}).listen(8080);
//・・

これで以下でそれぞれ違う出力が出ました。 なお、ブラウザのエンコードUTF-8にしないと文字化けます。

まとめ

nodeはかなりシンプルにwebサーバを作ることができました。 ルーティング機能すらプログラミングで作ってしまえるなど、自由度が高いのが素晴らしいです。

簡易的なHTTP通信が必要なIoT系の通信なんかはサラッと実装できそうですね。

毛嫌いしていましたが、なかなか有用な技術だと思いました。 とりあえず、nodeでチャット作成を目指して勉強していこうと思います。

クリスマスソングにあわせてLEDを光らせる話 | さいぞうのArduino初心者日記6

こんばんは。

さいぞうです。

この記事は、Arduino入門連載の6回目。

前回は、LEDを使ってモールス信号練習機を作った。

本来のチュートリアルからはかなり脱線してきたが、まあ面白かった。 hollywis.hatenablog.com

今回も脱線して、クリスマスなので、Soundcloudからクリスマスソングを取得し再生してそれに合わせてLEDをチカらせてみようと思う。

要はArduinoで簡単なオーディオビジュアライザを作る。

 
 

続きを読む