So-net無料ブログ作成
検索選択
ラズパイ ブログトップ

ラズパイGPSモジュール LCDに緯度経度を表示 [ラズパイ]

ラズパイGPSモジュール

えーと、本日も引き続き、ラズパイにつなげたGPSモジュールの話である。

NMEAデータをUART経由で受信することに成功している。NMEAデータには、現在地の緯度、経度が含まれているので、これを解析して、LCDに表示させてみるのである。

GPSモジュールは、測位できると、LEDが点滅する。電源がONになると点灯する。なので、電波状況が良い場所で、電源ONすれば、数分後には、点滅状態になる。NMEA的に言うと、「$GPGGA」センテンスで位置情報がわかるようになる。
NMEAを解析する、と言ってもGPGGAセンテンスから緯度と経度を取ってきて表示するだけ。
LCDにどうやって文字を表示させるか、の方が難しいかも。

LCDの制御は、I2Cで行う。
サンプルのpythonスクリプトを見ながら、C言語で書いてみた。

DSC_0294.JPG

窓際に置いておくと測位していたのだが、本日は天候のせいか、なかなか測位しない。
南側に移動してやってみる。
衛星を捉えたようで、LEDが点滅し始めた。一度、衛星を捉えると、部屋の中に移動しても測位し続けることが可能。ただし、どうも怪しくなる。やはり、屋外で使うことが前提であるようだ。
AGPSのアシスト機能があるのかも。

Mac BookにUSB電源とLANをつなげて、測位しながら車で移動してみた。途中、Mac Bookの方の有線LANが切られてしまい、NMEAデータが紛失してしまったが、GPSモジュール+ラズパイは、測位し続けていた模様。

精度はカーナビよりも少し悪い。
途中、道をはみ出してしまっている部分もあった。
車が信号で停止していると、なんか微妙にずれている。
車に積んでいるカーナビは、ジャイロとか、車速とかで補正しているから当然か。

車載する場合は、LAN接続の方法を考えないといけないかも。
というのも、AREarthroidでNMEAデータを読み込みさせようと考え中なのである。
家に居るときは、普通にWiFi接続の方が楽なんだけど。車載のときは、WiFiのAPになって欲しかったりする。
nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

ラズパイにGPSモジュールを付ける UART接続 [ラズパイ]

本日は、マイブームとなっているラズパイの話題である。

仕事からみなのだが、GPSを扱う予定になった。じゃあ、ラズパイにGPSモジュールを付けなければ、ということで早速注文するのである。
以下を購入





アンテナが付いているので、便利かなということでこいつにした。
ラズパイとの接続は、UARTでやるとなっている。
GPSモジュールって、昔はウン万円もしていたと思うのだが、今や数千円で買えるのね。

早速取り付けてみた。
ラズパイ GPSモジュール
3.3V   VCC
GND GND
14(TxD) RxD
15(RxD) TxD

TxとRxを接続するのがミソ。

DSC_0293.JPG

赤い色のやつが、GPSモジュール。LCDには、緯度・経度を表示したいと考えている。位置情報の試験には車載しないとダメか。

接続してみたものの、シリアルデバイス/dev/ttyAMA0をcatしてみても、NMEAデータが降って来ない。
どうして?

どうも、シリアルポートがコンソールになっているので、これを止めないといけないらしい。カーネルパラメータをいじる必要がある。

ラズパイのカーネルパラメータは、/boot/cmdline.txtに書かれているとのこと。
UARTは、/dev/ttyAMA0でアクセス可能との記述があちこちにあるが、raspberry pi 3では、/dev/ttyS0に変更になったらしい。serial0となっている場合もあり。
当方のラズパイ3は、console=serial0,15200となっていた。

カーネルがシリアルコンソールを立ち上げないように、以下の部分を削除する。

console=serial0,115200

serial0の部分は、/dev/ttyAMA0や/dev/ttyS0となっている場合もあるようだ。
gettyが起動しないように、inittabを編集しろ、という記事をあちこちで見たが、ラズパイ3には、/etc/inittabがない。gettyもtty1でしか動いていないようなので、これは無視した。

再起動すると、ttyS0が使えるとのこと。やってみた。

cat /dev/ttyS0
デバイスがありません。

mknodでttyS0を作ってみた。

cat /dev/ttyS0
反応なし...

cat /dev/ttyAMA0
反応なし...

どうも、ラズパイ3の場合、/boot/config.txtで「enable_uart=1」を入れないとUARTが有効にならないっぽい。Bluetoothがらみで、そうなっているそうな。

以下のURLに詳しく書いてあった
https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/using-uart-instead-of-usb


別のサイトで、「core_freq=250」って書いておくとよいとの情報もあり。
デフォルトで250みたいなんだけど、一応書いておく。

root@raspberrypi:/boot# cat /dev/ttyS0
58
$GPTXT,01,01,01,NMEA unknown msg*58
$GPTXT,01,01,01,NMEA unknown msg*58
$GPTXT,01,01,01,NMEA unknown msg*58

おお、取れた。

窓際に置くと、測位してくれる。
測位できると、LEDが点滅する。







nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

ラズパイその後 raspberry pi に色々インストールする [ラズパイ]

勢いあまって購入してしまった、raspberry pi略してラズパイのその後である。

前回、4ギガのSDカードにraspbianが入らなかったので、16ギガのMicro SDカードを買ってきて、フルセットで導入してみた。

問題なく、X11が立ち上がり、Gnome(なのかな?)も上がり、ブラウザも起動した。ブラウザはChromium(Google Chromeの祖先にあたるブラウザらしい)
キーボードやらなんやらを「日本」に設定。
日本語が表示された。

わりとあっけなく日本語化できるのね。しかし、日本語変換ができない。FEP(って昔の言い方か)が入っていないので何か入れないと。「日本語ムズカシイです」な状態。

ラズパイには、音声出力用のジャックもある。こいつにアンプつなげれば、音は出るはず。サーバマシンに音楽データを貯めてある。いつもは、サーバ(Linuxマシン)で音を鳴らしたりしているだが、Linuxマシンを開発に使うこともあり、あまり負荷をかけたくない。ラズパイで再生できちゃうのなら、なんかいいじゃん。インターネットラジオも再生できるみたいなので、さっそくやってみた。

接続するのは簡単なので、割愛。

えーと、なにか手頃に再生する手段は...
ブラウザでYoutubeでも見るか。

CPUの性能的に、動画再生はどうか、とも思ったが、ハードウェアのエンコーダがあるっぽいので、わりといい感じで再生できた、と思ったのもつかの間。ネットワークなのか、CPUなのか、途中で調子が悪いと再生が途切れることもあった。どうも、omxplayerじゃないとハードウェアデコードされないっぽい。
Audio Device Settingsで、ミキシングの設定をしないと「ちっちゃい音」しか鳴らなかったが、ミキサーを調整することで丁度いい感じになった。

じゃあ、radikoのサイトに行って、再生すればラジオもいけちゃう?

おや?
Windows10のEdgeならradikoの再生できるのに。raspbianのChromiumでは無理なの?再生されないんですけど...
YouTubeが再生できているので、Flashプレーヤーが...というわけではなさそうであるが。なんでなのかしら。ネットで検索すると、録音の方法とかもあったりして、再生できないことはないと思うのだが...
もしかして、なんか問題になって、できないようになってしまったのかも。

まぁ、radikoはいいや。サーバに溜まっている音楽データを再生してみようか。

サーバのストレージをNFSマウントすることには成功している。

/etc/fstabに以下のようなエントリを作成

192.168.0.x:/home /mnt/home nfs rw 0 0

mount /mnt/homeでマウントできる。
rpcbindがどうのこうのと言われたので、apt-get install rpcbindとか、なんかした。

raspbianには、omxplayerっていうのが標準搭載されている。こいつで動画も再生できる。コマンドラインなプログラムなのが組み込みっぽい。
プレイリストを作って再生とかどうやってやればよいのか。vlc入れた方が良いかな。

あと、一度HDMIでテレビに繋げると、自動的にテレビから音が出るようになる。アナログの音声ジャックに出力させるには、コマンドを発行する必要がある。

amixer cset numid=3 1

2ならHDMI優先。3なら自動らしい。

IPアドレス固定。

サーバにするのなら、IPアドレスは固定の方がよい。パイだから「192.168.0.81」を割り当てたい。どうすればよいかというと...設定用のGUIはないのか。

/etc/network/interfacesで設定しろなのか。
GUIなしのminiでやったけど、dhcpcdを切れなくて、どうもちゃんと設定できなかったような。
まぁ、しょうがないのでやってみるか。と検索をかけると、以下のような記事を発見。

----------------
Wheezyでは /etc/network/interfaces を編集することで固定IP化できましたが、Jessieでは有効になりませんでした。
interfacesファイルをよく見ると、以下のようなコメントが記述されています

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

そっくりそのまま使えそうなので、/etc/dhcpcd.confに以下のように追記して再起動。
etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.15/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
----------------

よし、これをそのままやってみよう。アドレスの番号は、81に変えるけどね。

やった。成功!

WiFi
有線LANより、無線の方が何かと便利。wpa_passphraseやらで、SSIDとパスワードを設定。アクセスポイントの設定でWPA2/WPAとなっていたところをWPAに変更しないと繋がらなかった。raspberry piは5Gには対応していないようなので注意。
最初、全然繋がらなくて、apt-get update、apt-get upgradeをかけた。

Javaのインストール

開発用に、JavaVMを入れたい。と思ったら、Oracleのjavaがインストール済である模様。
asai@raspberrypi:~ $ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)

なんだぁ。

WireSharkのインストール

WireSharkはapt-get install wiresharkでインストールできる。
root権限でどうのこうのといわれるが、「いいえ」だったかな、を選択してインストール。sudo wiresharkで実行する。
root権限で実行するのは危険。みたいな警告が出るが無視。
Luaスクリプトを入れたかったのであるが、なんかダメ。

WireSharkの自作Luaスクリプトはちょっと保留。

apache+PHPのインストール

これも問題なし、SSLは設定がちょっと面倒なので、後でやっとくとして、次は、SQLite入れてみるか。

SQLiteのインストール

apt-get install sqlite3
apt-get install php5-sqlite3
apt-get install libsqlite3-dev

くらいをやったかな。これでバッチリ。

本日は、ここまで。







nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

raspberry pi 買っちゃいました。 [ラズパイ]

前々から気になっていたのではあるが、とうとう買っちゃいました。「raspberry pi」。
仕事で、こういう機械を扱うのは、慣れているというか、なんというか、もう見たくないというか、そうとはいえ、なんか興味があるというか。ちょっと複雑な気持ちではあるが、購入してみた。

amazonで買ったら翌日には届いていた。ネット社会「バンザイ」である。

DSC_0260.jpg

うーん。
噂には聞いていたが、本当に小さい。これが第一印象。

これなら、持ち運びでも便利だし、車載してもいいし。結構手頃な大きさである。モバイルバッテリーが使えるのもいいよね。

でやはり、注目な部分は、GPIO端子であろう。

DSC_0263.jpg

他の端子は、USBやら、LAN、HDMIなので、普段見慣れている。しかし、GPIOってたんなる金属のデッパリでしかなく、トゲトゲしていて、よくわからないものでしかない。
ここに、何を挿せば良いというのか?いや、どうやって挿せば良いのか。

ですよね。

でもまぁいいか。とりあえず、セットアップしてみよう。
まずは、SDカードにOSを入れないといけない。えーと、SDカードは、どっかにあるよなぁ...

4GのマイクロSDをを発見。こいつにraspbianを入れてみる。うーん、raspbianの綴り合ってる?
アイ ハブア「raspberry pi」 アイ ハブア 「debian」
んぅー「raspbianパイナポー」みたいな感じなので、ちょっと自信がないが...

と少々遅れ気味のギャクネタはさておき、SDカードにOSイメージを書き込むのである。
おや、最新のraspbianは4ギガくらいなんだけど、4ギガのSDカードには入らないっぽいぞ。
微妙に、大きいのか。えー、SDカード買いに行くの面倒。
とりあえず、minimumってなっているやつにした。

こいつなら、200Mくらい。展開したらもっとあるかもだけど。

イメージwriterでごっそりSDカードに書き込む。LinuxならddコマンドでOKらしいが、そんなことを素人の人に言っても多分、何?ってなってしまうので、割愛。ダウンロードしてきたイメージをSDカードにそのまま書き込んだら多分OK。

じゃあ、HDMIつないで、LANにもつないで、USBのキーボード&マウスもつないで、USBケーブルをつないで電源ONだぁ。
どうなる...

オーーー

ディスプレイにブート時のメッセージが流れている。

オーーーー

これで5000円なのかぁ。

オーーーーーー

HDMIだよぉ。キーボード、マウスもつなげられるよ。有線LANだけじゃなく、WiFiもBluetoothもあるよ。でも5000円だよ。
これは...
時代は、進むもんだねぇ...つくづく。

DHCPでアドレスを取って、ネットにも一発で繋がるよ。
minimum版なので、X11が立ち上がらない。よってブラウザまでは起動できないが、中身はLinuxそのもの。16ギガくらいのSDカードを買ってきて、本格的に環境整備するか。
gccやら開発環境が入っているので、遊ぶにはもってこいな感じ。

やるのならやっっぱりGPIOで「Lチカ」とかかな。
WebのプロキシサーバーにしてもOKか。

USBポートが4個も付いているので、何かと差し放題。シリアルケーブルはもちろん、RS485もOK?。カメラもつけちゃう?
BlueToothもあるし、オーディオのポートもある。動画再生はきついかも知れないが、4コアもあるし、何とかなるかも?

まぁ、夢は広がるがとりあえず、実用で、Modbusがしゃべれるマシンに仕立てることにしよう。






nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ
ラズパイ ブログトップ



AREarthroid
AREarthroidPro ARで地球を表示するアプリ
AREarthroid ARで地球を表示するアプリ(無料)
AREarthライブ壁紙(無料)
Copyright Atsushi Asai Google+朝井淳

[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/02/18
  • メディア: 単行本(ソフトカバー)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/03
  • メディア: 単行本(ソフトカバー)
C言語 ポインタが理解できない理由 [改訂新版] (プログラミングの教科書)

C言語 ポインタが理解できない理由 [改訂新版] (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/04/08
  • メディア: 単行本(ソフトカバー)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)