ArduinoでAdafruitのGPSを使ってみる

GPSモジュールはAdafruitのものを持っていたのでそれを使った

Overview | Adafruit Ultimate GPS | Adafruit Learning System

購入はスイッチサイエンスから行える

Adafruit Ultimate 66チャンネル10Hz GPSモジュール Version 3 - スイッチサイエンス

このGPSだとなかなか情報が多いのと、Adafruitが公式でライブラリなどを出してくれているのでやりやすいイメージ


で、ArduinoのTX, RXを使ってGPSモジュールを読み取る方法はいくつか書いてる人はけっこう出てくる、例えば下記

シリアルの基本的な使い方で読み取りはできる

が、そういえばAdafruitのArduinoライブラリを使ってコマンドとか送りたいのでちょくちょく調べていく

今回はライブラリの使い方サンプル例とチェックサムの計算

Read More

No module named virtualenvwrapperが出てしまったので対処

virtualenvでpython3を使っている(構築にはpython2.7系を使用していた)

terminalを立ち上げると下記エラーが出るようになった


1
2
3
4
5
6
7
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

PATHが正しくないよみたいなエラー、今まで正常につかえていたのと解くにPATH自体は変更していないが出て来るようになった


結論から言うと、Homebrewでpythonをインストールして使用していたのと

Homebrewをアップグレード ($ brew update && brew upgrade) していたのでエラーが出るようになったみたい

参考: HomebrewでインストールされるPython(2)の変更について

たしかに、$ which pip した時に pip が使えなくなっていたのと (名前が pip2 に変更されていた?みたい)

1
2
$ which python
/usr/bin/python

というふうにシステムデフォルトのpython(2系)にPATHが置き換わってしまっていた


HomebrewでインストールされるPython(2)の変更についてに習って下記のように

.bash_profile に一行 PATH の環境を記述すれば、今まで通りのpythonとpipのコマンド名が使えるようになった

1
export PATH="/usr/local/opt/python/libexec/bin:$PATH"


以下は補足としてこれが出てきた経緯

Read More

jupyter-notebookでcartopy使ってみる

IPythonデータサイエンスクックブックを読んでる

第7章のレシピ7.6 カーネル密度推定によるノンパラメトリックな確率密度の推定のところ

matplotlibのbasemapを使用して地図表示をするらしく

公式のドキュメント読もうとしたところ

Introduction — Basemap Matplotlib Toolkit 1.1.0 documentation

Cartopy projectがBasemapに置き換わる予定、まだ全ての機能を実装したわけではないけどね

みたいな一文があったので、Cartopyも触ってみることに

Read More

mpi4pyをインストールしようとしたらエラーが出たので対処

MPI周り(というかPython自体)は初心者なのでこれで合ってるかわからないがひとまず解決した

Macにpython3.6を導入して、mpi4pyをpipでインストールしようとしたらエラーが起きてインストールできなかった

結論から書くと、最初にhomebrewで mpich をインストールしておく必要がある

ターミナルコマンドで言うと下記になる

1
2
$ brew install mpich
$ pip install mpi4py

Read More

Rで福岡温泉オープンデータのボロノイ図を描く

Rでオープンデータを扱ってみる

ぱっと検索したところ、下記が見つかったのでまずやってみたところ

オープンデータを解析する- ggplot2を用いたボロノイ分割で厚木市のコンビニ出店を見てみよう!- - Data Science by R and Python

やや関数の使い方などが変わってきてたようなので(ggmapとか)

練習がてら、九州の温泉のオープンデータを用いてボロノイ図の作成をやってみた

九州の温泉一覧|オープンデータ共有&ダウンロード|LinkData

(用いたデータはkyushu_onsen_kihon_listというやつ)

ただし全部表示すると数が多かったので福岡県に絞って表示した


Read More

Three.jsでPointLightをPlaneGeometryに使う場合はsegmentsを大きめに指定してあげる

初めてのThree.js 第2版をやってみてる

Three.jsのリビジョンは r85 を使用している

第三章 3.2.2 THREE.PointLightのところ

最初、自前のPlaneGeometryにPointLightを照射していたのだがどうもうまく光ってくれなかった

結論から言うと、THREE.PlaneGeometryする時に width と height だけでなくて widthSegments と heightSegments も大きめの値を指定してあげないとうまく照射されないっぽい

Read More

Three.jsでGeometryのVertexをアップデートする際elementsNeedUpdateをtrueする必要がある

初めてのThree.js 第2版をやってみてる

使用しているThree.jsのリビジョンが r85 で、どうも

第二章の 2.2.1 ジオメトリのプロパティと関数 のところで、自分でコードを書いてみても頂点の座標を変更してもリアルタイムで更新されない

(初版のやつだと、p42の図2-7 立方体の頂点座標を変更のところになります)

のが、どうやら使用しているリビジョンの関係で指定しないといけないパラメータのせいだとわかった

Read More

Three.jsでdat.guiとOrbitControlsを同時に使う場合はdomElementを第二引数に指定してあげる

初めてのThree.js 第2版をやってみてる

Three.jsを使っててなんとなくわかってきたが

細かいところをしっかりと勉強する時にこの本は丁寧に説明が書かれているので良さそう

で、第1章の

  • 1.7 実験をもっと簡単にするためにdat.GUIを利用

のところ、個人的にThree.jsを使用する時は常にOrbitControlsでカメラを動かしていたいので勝手に追加していたのだが

dat.GUIでパラメータを変更していると、どうもカメラも一緒に動いてしまうという挙動が起こってて

少し気持ち悪かったのを解決したのでメモ

Read More