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

ラズパイでボンディング eth0とwlan0をbond0に統合 [ラズパイ]



本日は、ラズパイのお話である。

ラズパイ3には、WiFiと100Mの有線LANが付いている。

デバイス名は、eth0とwlan0となっている。
でもって、eth0には固定のIPアドレス192.168.0.81を割り当てているが、wlan0はDHCP取得となっている。

eth0 192.168.0.81
wlan0 192.168.0.100 (DHCP)

どちらかしか使わないが、両方使ってもいいか。ならボンディングじゃない?
ということで、やってみることにする。

DSC_0294.JPG


ifenslaveっていうモジュールが必要なのか。

sudo apt-get install ifenslave

なんか入った。
これで、bondingのカーネルモジュールも入ったぽいので、bond0インタフェースを作成してみる。

/etc/modprobe.d/bonding.conf ファイルを以下の内容で作成
alias bond0 bonding


ここで一度リブート。
立ち上がるのを待って、lsmodでみてみたが、bondingのモジュールは入らなかった。

インタフェースを作らないとダメか。

/etc/network/interfacesを以下のように修正した。

# interfaces(5) file used by ifup(8) and ifdown(8)

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

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
    bond-master bond0

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    bond-master bond0
    bond-give-a-chance 10

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto bond0
iface bond0 inet static
    address 192.168.0.81
    gateway 192.168.0.1
    netmask 255.255.255.0
    dns-nameservers 192.168.0.1 8.8.8.8
    bond-mode 0
    bond-miimon 100


カーネルモジュールは入ったかな?

lsmod | grep bond
bonding               122586  0


入ったっぽい。
がしかし、dhcpcdが全インターフェースにアドレスを振ってしまっている。

insserv -r dhcpcd
insserv dhcpcd,stop=2,3,4,5


として、dhcpcdを停止。-> 再起動
あれー、dhcpcd止まんないんですけど。

/etc/dhcpcd.confを以下のように修正

interface eth0
static ip_address=0.0.0.0

interface wlan0
static ip_address=0.0.0.0

interface bond0
static ip_address=192.168.0.81/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1


これでなんとなく、動いてる。

有線のLANを抜いても...
WiFiが使えなくても...

通信できる。
ちなみにリンクアグリは無理です。


関連記事
ボンディング・チーミングのその後 NETGEARのインテリジェントL2-SW
Ethernetのボンディング Linuxのサーバーマシンにbond0インターフェースを作成
ラズパイGPSモジュール LCDに緯度経度を表示












サイト内を検索


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

ラズパイを車載する モバイルバッテリを購入 [ラズパイ]



いやー春ですなぁ。

DSC_0406.jpg

えーと、本日もラズパイの話題である。

ラズパイを車載する

せっかくGPSを搭載したので、車載したいのである。
うちの車には、シガライターが付いている。タバコは吸わないけどね。シガライターからUSBの電源を取れる。スマフォをドライブレコーダーとして使えるようにと、車の保険屋さんからもらったもの。
スマフォを接続するのが面倒なので、ドライブレコーダーとしては使っていないが、いざという時に、充電できるので、シガライターに接続できるUSBケーブルは、車に常時積んでいる。

で、シガライターUSB電源にラズパイをつなげてみると...
お、ちゃんと起動するじゃん。
OK。
でも、車のバッテリーが上がっちゃうと「とっても面倒」なので、モバイルバッテリーも買ってみた。
ラズパイ3は2.5A以上でないと起動しないとか... こいつは、大丈夫か?とちょっと心配であったものの、出力が2ポートあるし、合計3Aとか書いてあるので、大丈夫でしょうということで、近所のノジマでポイント使って購入してきた。





なんか、充電しながらは使えないみたい?
充電してから、ラズパイにつないだら、使えた。

まぁこんなものか。スマフォ用の外部電源としても使えるので、何かと活躍するでしょう。

DSC_0397.jpg

ラズパイをWiFi APにする

えーと、車載する際には、車内でPCやらスマフォを使いたいので、ラズパイが、WiFiのAPになってくれた方が良い。さらには、外部との通信ができれば、なお嬉しい。
そうなれば、モバイルルーターになってくれる。であれば、それこそ「役に立つデバイス」になりそう。
それはさておいて、まずは、WiFiのAPにするのである。

やり方は、検索すれば結構いろいろ出てくるので割愛。
ポイントは、hostapdとdhcpdをインストールして、NATをかければOK。モバイルルーターにしたいので、ブリッジじゃなくて、NATする。dnsmasqも入れておくと良い。
専用のSSIDを設定して、Macとかスマフォとかから接続してみる。

おお、ちゃんと繋がるじゃない。いいね。

テザリング

ついでに、テザリングも出来るように仕立てる。
自分の持っているスマフォは、ちょっと古いAndroidなので、OSの機能でテザリングできない。まぁ、外出することもそんなに多くないので、別に困りはしないのだが、それもちょっと外で使いたい時もあるので、EasyTetherで接続できるようにはしている。

ラズパイでEasyTether使えるかな?と思ったが、ちゃんと使えるのである。おー、それは知らなかった。すごいなラズパイ。と言うか、Linuxなら結構いけるっぽい。EasyTetherがすごいのか。さすがに、ソースコードが公開されているわけではないが...

入れてみたらUSBを接続するだけでつながる。有線のUSB接続だからスマフォに充電もされるよぉ。これは嬉しいかも。
easytether-usbっていうプロセスが動いて、tun-easytetherって言うインターフェースができる。/etc/interfaces.d/に、tun-easytetherと言う名前のファイルがあるので、そこで設定できる。

なんと。これで、車載したラズパイが、モバイルルータになってしまったではないか。

DSC_0399.jpg

EasyTetherはBluetoothでテザリングもできる。Macだと安定しないとかで、できなくなっているが、ラズパイならどうよ...
スマフォとラズパイをペアリングして、easytether-bluetoothを起動する。起動時に、スマフォのMACアドレスを指定する。EasyTetherのBlueToothを有効にすると...

やった。BlueToothでもテザリングできた。
ブレッドボードに色々つなげて遊んでいるので、ごちゃごちゃ感があるが、基本ラズパイにバッテリーとスマフォを接続するだけで、モバイルルータとして稼働する。お出かけ用にもう一台ラズパイ買っておくか。





WiFiで位置情報がわかる?

MacBookにはGPSは付いてない。しかし、地図を立ち上げると、現在地がちゃんと表示される。これって不思議だなぁと前々から思っていた。
どうも、WiFiのアクセスポイントから発せられる電波を勝手に受信して、位置情報のデータベースを作ってしまったらしい。AppleとかGoogleにデータベースがある。
ふーん。それで、スマフォは、WiFiを有効にすると位置情報が取れるよ、といってくるのか。モバイルルータがWiFiのアクセスポイントになっていたら、どうなるのよ。

ラズパイでもできるのか?周辺のWiFi AP情報をGoogleに投げると位置情報が戻ってくるらしいが...
まずは、スマフォで実験してみよう。


関連記事
ラズパイGPSモジュール LCDに緯度経度を表示
WiFiで位置情報 ロケーションサービスを実験する



サイト内を検索


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

ラズパイ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になって欲しかったりする。

関連記事
ラズパイを車載する モバイルバッテリを購入
WiFiで位置情報 ロケーションサービスを実験する




サイト内を検索


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

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



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

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





 えーと、何回も貼り付け直してもAmazonの画像が出なくなってしまう。
 何が悪いのか...
 よくわからないのでそのままであるが、勘弁してね。

アンテナが付いているので、便利かなということでこいつにした。
ラズパイとの接続は、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

おお、取れた。

 ちなみに、NMEA形式です。「ネマ」じゃなくて、エヌメアもしくなニーマね。
 どうでもいいけど、この単語読むのが難しい。オレ的には、「ニーマ」って呼んじゃう。
 *の後はチェックデジット。
 まぁ、どうでもいいか。

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

Amazonで「Raspberry Pi」を検索

関連記事
準天頂衛星「みちびき2号」の打ち上げに成功!
ラズパイGPSモジュール LCDに緯度経度を表示
ラズパイを車載する モバイルバッテリを購入
WiFiで位置情報 ロケーションサービスを実験する








サイト内を検索


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) 
共通テーマ:携帯コンテンツ
ラズパイ ブログトップ

AREarthroidPro ARで地球を表示するアプリ

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
  • メディア: 単行本(ソフトカバー)