Blue Flower

    こんにちは、@opt_HohenheimことJN1GUWです。

    きょうは、ThumbDV™を使ってRaspberry Pi3でAMBEserverを構築してみたいと思います。

 

 1.Bootイメージを作成する

    Compass Linux imageをダウンロードします。(下記) 

http://archive.compasslinux.org/images/wilderness/

     最新日付をダウンロードし、zipを解凍します。

    今回は、lite版ではないものをダウンロードしました。

    その後、Win32DiskImager (フリーソフト) を使い、imageファイルをSDカードに焼き付けます。

    わたしは、class10の16GBのSDカードを使いました。

 

 2.Compass Linuxを起動する

    次に焼いたSDカードをRaspberry Pi3にセットして、HDMIモニターとUSBキーボード、マウスを付けて

    Raspberry Pi3を起動します。

    Login  (User: pi, Password: raspberry)は、これですが、GUIの場合、何もせずにデスクトップが使えます。

    GUIが起動したら、Prifarence => Raspberry Pi Configurationを開いて、SSHをEnableにします。

    ターミナルを起動して、パスワードを変えましょう。

# passwd

    古いパスワードと新しいパスワード、確認のパスワードを入れます。

    次にDHCPで払い出されたIPアドレスを確認します。(例:192.168.11.7)

# ip a

 

    次に払い出されているIPアドレスを固定化します。

    vi /etc/dhcpcd.confで編集します。

    最下行に下記を追記します。(IP:192.168.11.7、ルーター,DNSが192.168.11.1の場合)

 

interface eth0
static ip_address=192.168.11.3/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

    ここで、ThumbDV™をRaspberry Pi3のUSB端子にさします。

# ls /dev/ttyU*

    上記コマンドで、/dev/ttyUSB0が表示されれば、Okです。

 

 3.AMBEserverをインストールする

    次にAMBEserver(リフレクターサーバ)をインストールします。

# sudo apt-get update -y
# sudo apt-get upgrade -y
# sudo apt-get install ambeserver -y
# sudo systemctl enable ambeserver@ttyUSB0.service

    次にコンフィグレーションファイルを設定します。

# cd /etc/opendv
# cp ambeserver-ttyUSB0.conf ambeserver-ttyUSB1.conf
# vi /etc/opendv/ambeserver-ttyUSB0.conf

    /etc/opendv/ambeserver-ttyUSB0.confファイルは、以下のように設定します。

#
# Configuration file for the AMBEserver program started by systemd.
# Adding flags to AMBESERVER_FLAGS will pass this to the daemon.
# For example, to change the speed to 460800, use the following line:
# AMBESERVER_FLAGS="-s 460800"
#

UDP_PORT=2460
AMBESERVER_FLAGS="-s 460800"

 

    それでは、AMBEserverを起動します。

# sudo systemctl start ambeserver@ttyUSB0.service

 

 4.AMBEserverの確認

    それでは、AMBEserverの簡易テストをしましょう。

    /etc/opendv/ambesocketest.pyファイルを下記内容で、作成します。

import socket   #for sockets
import sys  #for exit

# create dgram udp socket
try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except socket.error:
    print 'Failed to create socket'
    sys.exit()

# host = 'localhost';
host = '127.0.0.1';
port = 2460;

while(1) :
    getProdId = bytearray.fromhex("61 00 01 00 30")

    try :
        #Set the whole string
        s.sendto(getProdId, (host, port))

        # receive data from client (data, addr)
        d = s.recvfrom(1024)
        reply = d[0]
        addr = d[1]

        print 'Server reply : ' + reply

    except socket.error, msg:
        print 'Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
        sys.exit()

 

    下記手順で、実行結果のようになれば、Okです。

root@compass:/home/pi# cd /etc/opendv/
root@compass:/etc/opendv# python ambesocketest.py
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
Server reply : a
                0AMBE3000R
^CTraceback (most recent call last):
  File "ambesocketest.py", line 23, in <module>
    d = s.recvfrom(1024)
KeyboardInterrupt

    確認が取れたら、Raspberry Pi3のUDPポート2460番を外部に公開します。

 

   5.クライアントソフトについて

    外部公開したルーターのグローバルアドレスに対してUDP2460番を使用すれば、外部からアクセスできます。

    クライアントソフトは、わたしは、BlueDV for WindowsとBlueDV AMBE for androidを使用してます。

    特にandroid版ですと出先で、スマホだけでQRVできます。

    注意点としては、AMBEserverは、1つのクライアントしか許容できないことです。

    2つ以上同時に接続するとキョロキョロになって使い物になりません。

    その点だけ気をつければ、あとは、動作は安定してます。

    下記が、当局のAMBEserverです。

AMBEserver

 以上です。

最後までお読みいただきありがとうございました。

 

 


CloudManagerAdvance 2.2 以上
カテゴリ: ツール
Google Playで詳細を見る