ラズベリーパイの彼の後ろの車の監視システム。 パート1

はじめに



こんにちは

Raspberry Piを購入した理由はまったくありません-ハブに関する言及が始まってすぐに。 彼は、新しい車を購入するまで、Node.jsやその他の小さなサーバーを試し、FTPサーバーを無制限に起動し始めました。 もちろん、Linuxシステムとサーバープログラミング言語の知識が通常不足しているため、インターネット上でリモートでガレージを開くようなことはできませんでした。 車は私にとって大切になり、アイデアが浮かびました-USBデバイスをねじ込んだ車にラズベリーを入れること:GPS、ウェブカメラ、3Gモデム-2番目のラズベリーを購入しました。

この記事では、準備:Node.JSのインストール、OpenVPNおよび3Gの構成について説明します。



計画


RaspberryがGPSとWebカメラが接続された車にインストールされている必要があります。そのため、いつでも携帯電話から車の状態を確認できます。



それでは始めましょう



Node.JSをインストールする


バージョン0.6.18はリポジトリにあるため、サイトからNode.JSをインストールします。

sudo mkdir /opt/node wget nodejs.org/dist/latest/node-v0.10.20-linux-arm-pi.tar.gz tar xvzf node-v0.10.20-linux-arm-pi.tar.gz sudo cp -r node-v0.10.20-linux-arm-pi/* /opt/node
      
      





ここで、長いパスを記述する必要がないように、Node.JSへのパスを環境変数に追加します。 これを行うには、ファイルを編集します。

 sudo nano/etc/profile  : NODE_JS_HOME="/opt/node" PATH="$PATH:$NODE_JS_HOME/bin"
      
      





その結果、このファイルのヘッドは次のようになります。

 # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" fi NODE_JS_HOME="/opt/node" PATH="$PATH:$NODE_JS_HOME/bin" export PATH
      
      





一部のモジュールをグローバルにインストールする必要があります(例:npm install -g express)。そのため、ユーザーをノードディレクトリの所有者にします。

 sudo chown -R pi /opt/node
      
      





私たちはチェックします:





将来コードを作成するには、フォルダーを作成します。





検索エンジンのルールによれば、これについての詳細はここで読むことができるため、ホームディレクトリにシンボリックリンクグローバルモジュールのディレクトリを作る: nodejs.ru/doc/v0.4.x/modules.html#_u0417_u0430_u0433_u0440_u0443_u0437_u043A_u0430_u0438_u0437_u043F_u0430_u043F_u043E_u043A_node_modules_を

 ln -s /opt/node/lib/node_modules ~/node_modules
      
      









OpenVPNを構成する


SSH経由で接続する方法、またはOpSoSaを介して少なくとも何らかの方法でMalinkaと連絡を取る方法はないため、外部IPのサービス料金を支払うため、OpenVPNを構成します。



準備する




  • 静的な外部IPアドレスを持つルーターがあります
  • 1つのMalinkaがイーサネット経由でルーターに接続されています
  • 遠くにあり、3G経由でのみ利用できるラズベリーが2つあります




これを行うには、ルーターに接続されているラズベリーの物理IPアドレスを発行します。





OpenVPNリクエストを「ホーム」ラズベリーの外部からルーターにリダイレクトします。1つとSSHとHTTPの場合:

ホームRaspberryで、以前と同じ方法でNode.JSをインストールします。



設置


 sudo apt-get install openvpn -y
      
      





Habréと外部の両方での生成とチューニングについてはすでに多くのことが書かれています。 次の記事を使用しました: habrahabr.ru/post/188474、adw0rd.com/2013/01/10/openvpn / # . UmTuCBCpFZQwww.volmed.org.ru / wiki / index.php / %D0%9D%D0% B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_OpenVPN_%D1%81%D0%B5%D1%80%D0%B2%D0%B5% D1%80%D0%B0



設定のカットを行います。





クライアントの場合、リモートフィールドにはルーターの外部静的アドレスが含まれています。



3G設定


準備する


3Gにアクセスするために、専用のSIMカードを備えた3GモデムHuawei E1550をMegaphoneから購入しました。



接続すると、モデムはディスクとして定義されるため、モデムモードに切り替える必要があります。





モデムモードに切り替えるには、プログラムをインストールして再起動する必要があります。

 sudo apt-get update && sudo apt-get install usb-modeswitch -y sudo reboot
      
      







デバイスを見てみましょう。





接続を実際に設定する


ディレクトリを作成します。

 $ mkdir ~/3g && cd ~/3g
      
      





3G接続セットアッププログラムをダウンロードします。

 wget http://sourceforge.net/projects/vim-n4n0/files/sakis3g.tar.gz/download tar -xzvf sakis3g.tar.gz
      
      





UMTSKeeperでアドオンプログラムをダウンロードします(これはsakis3gのアドオンであり、同じ作者による記述=))

UMTSKeeperはsakis3Gと同じディレクトリになければなりません

 $ wget http://zool33.uni-graz.at/petz/umtskeeper/src/umtskeeper.tar.gz $ tar -xzvf umtskeeper.tar.gz
      
      





PPPサポートをインストールする

 sudo apt-get install ppp -y
      
      





それでは、3G接続を確立してみましょう。

 sudo /.sakis3g --interactive
      
      





最初のオプションで、選択します
3Gと接続する
、そして2番目の11番目の点で-
カスタムAPN


メガホンの場合、設定は次のとおりです。

  • APN:インターネット
  • APN_USER:メガフォン
  • APN_PASS:メガフォン


すべてが正しい場合、プログラムは接続の成功に関するメッセージを表示します。



接続が切断されたときに再接続するために、すでにUMTSKeeperがあります。

 sudo /home/pi/3g/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1001' APN='CUSTOM_APN' CUSTOM_APN='internet' APN_USER='megafon' APN_PASS='megafon'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --silent --nat 'no' &
      
      





12d1:1001 'の代わりに、 lsusbからデバイス番号を指定する必要があります。



ログを見てみましょう:





すべてうまくいきます!

次に、起動時にこのコマンドを記述します。

 crontab -e
      
      









おわりに



その結果、次のような状況になります。

外部の静的IPアドレスを持つルーターがあり、そこに「ホーム」Raspberry Piが接続され、OpenVPNサーバー(および将来はhttp)として動作し、「車」Raspberry Piは3Gモデムを使用して「ホーム」OpenVPNに接続します。



変更のためのいくつかの写真:








PS


私はほとんどの場合フロントエンドを行うので、サーバー側はどこか理想的ではないかもしれません。

肯定的なレビューで-次の記事では、USBハブを介してGPS受信機とWebカメラを接続および構成する方法について説明します。



All Articles