hiroykyの個人日記

@hiroyky IT系エンジニアのまったりブログ

初Qiita投稿してみました。TypeScriptでの開発準備

はじめてQiitaに投稿してみました。markdown拡張などがプログラミングネタ用に便利に強化してあって驚きました。

qiita.com

Raspberry Pi3とGrove PiとGrove 温湿度センサで温湿度REST APIを作ってみた。

はじめに

I2C通信用コネクタ同士をケーブルで接続するだけで使えちゃうGroveセンサシリーズの温湿度センサとRaspberry Piを連携してREST APIを作ってみました。Raspberry PiにHTTPでRESTのリクエストするとセンシングしている温湿度を返してくれる仕組みです。

REST APIにすることで一般のPCやサーバからも扱いやすくなり、最近バズってるいわゆるIoTになりますね。

用意したもの

今回、用意したものは以下の通りです。

Raspberry Pi 3 MODEL B

Raspberry Pi 3 MODEL B

GROVE - デジタル温度・湿度センサ

GROVE - デジタル温度・湿度センサ

GrovePi+

GrovePi+

加えて、Raspberry Pi3の電源(USB micro type B, 5V3A出力)とmicro SDカード(16GB class10)です。 また、温湿度センサにはケーブルが属していたので別途購入する必要はありませんでした。

やってみた

前提

Raspberry PiにはRaspbianをインストールし、SSHでログインできる状態であるものとします。

GrovePi+の取り付け

接続するだけです。端のピンに合わせれば良いようです。

こんな感じ。 f:id:hiroyky:20161207003425j:plainf:id:hiroyky:20161207003432j:plain

Raspberry Piのセットアップ

www.dexterindustries.comに沿って進めていきます.

インストール

こちらのリポジトリからクローンしてきます。 github.com

($ sudo apt-get install git)
$ git clone git@github.com:DexterInd/GrovePi.git
$ cd GrovePi/Script
$ sudo sh ./install.sh

しばらく待ってると完了し、再起動します。 f:id:hiroyky:20161207203121p:plain

起動後、不要なパッケージができているかもしれないので、autoremoveしておきます。

$ sudo apt-get autoremove

GrovePi+ 接続確認

次のコマンドを打って04と表示されればOKです。

 $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

温湿度センサの接続

温度センサを接続します.コネクタがきちんとしているので,向きを間違えることはないです.今回はD8ポートに接続します. f:id:hiroyky:20161211214329j:plainf:id:hiroyky:20161211214333j:plain

Pythonから温湿度取得

PythonからGroveのデバイスを操作するために次のライブラリが提供されています. www.dexterindustries.com

ページの最初にある動画をみると雰囲気がつかみやすいと思います.


Write Your First GrovePi Program in Python

つまり,grovepiの提供するAPIを使用していますね.

import grovepi

github.com

ただgrovepiライブラリがインストールされていなかったためインストールします. (grovepi自体は先ほどクローンしたGrovePiのGrovePi/Software/Python/にあります.)

$ cd GrovePi/Software/Python
$ sudo python setup.py install

以下のようにして気温と湿度を取得します.今回はD8ポートにセンサを接続しているのでdht関数の引数に8を与えています.

Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import grovepi
>>> grovepi.dht(8, 0)
[24.0, 37.0]

OK! (小数点一桁目まで表示されてますが測定精度はどうなんってたっけ??とりあえず今回はスルー)

Webサーバ化

温湿度が取れることは分かったので,Webサーバ化してREST APIとして取得できるようにします. 今回は,WebフレームワークにFlaskを使用します.

インストール

$ sudo pip install Flask

実装

まあ,こんな感じですね./V1/enviromentにエントリポイントを設けて,温度と湿度をJSONでレスポンスします.

import flask
import grovepi

app = flask.Flask('sensor_api')

@app.route('/V1/enviroment')
def enviroment_handler():
    (temperature, humidity) = grovepi.dht(8, 0)
    return flask.jsonify(temperature=temperature, humidity=humidity)

if __name__ == '__main__':
    app.run()`

github.com

サーバを起動してみましょう.

$ export FLASK_APP=app.py # pythonスクリプトを指定
$ flask run --host=0.0.0.0

で,curlなりWebブラウザなどからアクセス

curl http://localhost:5000/V1/enviroment
{
  "humidity": 44.0,
  "temperature": 23.0
}

OK!

まとめ

  • Raspberry PiとGrovePiを接続して,ソフトウェアのセットアップしました.
  • Grove温湿度センサを接続して値を取得しました.
  • Flaskを使ってWeb APIを作成しました.

参考文献など

8からアップグレードしたWindows10は直接クリーンインストールできるのか?

はじめに

Windows8 proからアップグレードしたWindows 10があります。このWindows10を削除して、新しいPCにWindows10をクリーンインストールする必要ができたので、できるか試してみました。

Windows10をインストールするのにWindows8をインストールしてからアップグレードするのは面倒でイヤなので直接Windows10をクリーンインストールしたいのです。しかも自分の場合、Windows8自体がXPからのアップグレード版なので最悪

  1. WindowsXPのインストール(いまさら)
  2. Windows8 proにアップグレード
  3. Windows10にアップグレード

f:id:hiroyky:20161210212943j:plain

なんてことをする必要になったら大変です。Windows10は一度インストールされるとその環境をマイクロソフト社が覚えてくれて2度目からはアクティベーションがかなり簡略化されるという噂も聞いたことがありますが、今回は全く異なったPCです。(OSも未インストール)

最初に結論

結論から言うと、できました。無事アクティベーションされました!

やり方の確認

一応手順を簡単ながら書いておきます。

PCにWindows10のインストーラとするUSBメモリを挿入します。 f:id:hiroyky:20161210213258j:plain

Windows 10からMediaCreationTool.exeをダウンロードして実行します。

f:id:hiroyky:20161210213742p:plain で書き込んで。。

USBメモリをインストールするPCにつないで、USBからブートします。 f:id:hiroyky:20161210213347j:plain

プロダクトキーが求められたときに、Windows8のを入力します。 f:id:hiroyky:20161210213400j:plain

f:id:hiroyky:20161210213354j:plain

これで、インストール&アクティベーションが無事にできました。

留意点

以前Windows10までアップグレードしたことがあるプロダクトキーで実施しています。 正規のWindows10ライセンスですので、むしろできなかったらメーカーに問い合わせるレベルです笑

あくまでも自分ができたよ、というお話です。

FF15が届いた

出勤前に届いた!

朝,出勤直前にヨドバシカメラの配達員がさっそうと現れて届けてくれました.

キタ━━━━(゚∀゚)━━━━!! FINAL FANTASY XV

制作期間約10年の集大成! いやコンピュータソフトに10年かけるってありえないでしょっと思いつつも楽しみにしてました.いまやってるテイルズオブエクシリアを終えるまでガマンしてプレイするぞ〜.

f:id:hiroyky:20161130033700j:plain

ファイナルファンタジー XV 初回生産特典 武器「正宗/FINAL FANTASY XVオリジナルモデル」アイテムコード同梱 - PS4

音楽

それはともかくFF15は音楽もノリノリで楽しんでいます.今回は下村陽子さんが作曲を担当されたようですね.PVを見ただけでもいいなぁって思ってたのですが,このオーケストラ動画を見て感無量でした!


Final Fantasy XV Live at Abbey Road Studios

オリジナルサウンドトラックも予約済みです!

とりあえず

今プレイしているRPG(テイルズオブエクシリア)を終えるまでガマンしてから満喫します.音楽は,サントラが届いたら仕事中に聞こうと思います.

はてなブログ始めました

はてなブログ新設

物凄〜く今更感あるのですが,はてなブログ始めました.Google Bloggerからのお引っ越しになります.技術系やIT系のお話がメインになると思いますが,程よく書いていこうかと思います.

今までは,いろんなことを全てBloggerに書いていましたが,日常のちょっとしたこと小ネタや, 趣味, 日記,”やってみた”などははてなブログに書いて,まとまった技術的な内容はQiitaに書いていこうと思います.

自分のリンク

今後ともよろしくお願いします.