ラベル IT関連 の投稿を表示しています。 すべての投稿を表示
ラベル IT関連 の投稿を表示しています。 すべての投稿を表示

2021年12月11日土曜日

dmonitor と ircDDBGateway を Nextion で切り替える

Back




=MEMO= D*SWITCH(Nextion Software Controler)の使い方マニュアル

欧米では、リフレクタのモジュールや、サーバのトークグループに接続(サーバ・クライアント型)して、 D-STAR のみならず DMR、Yaesu System Fusion、Project 25など他の通信モードとも、プログラムによるプロトコル変換に依って、相互乗り入れしています。

ここでは、主にD-STAR の特徴を生かした方法論を掲載してきましたので、相互乗り入れはちょっと横に置いておいて、 D-STAR の大きな特徴たる狭帯域 6.25kHz(10kHzセパレーションで使用可)とコールサイン・ルーティングによるリピータ・ネットワークと、 クライアント・コネクションによるリフレクタ運用を、明確に分けることで相互に悪影響を及ぼさない運用を目指したいと思います。

実は、今回使用する ircDDBGateway にはそのコールサイン・ルーティングとクライアント・コネクションが両方とも備わっています。 そして、そのどちらも同時に使用できる設計になって居り、コールサインルーティング(ircDDB.netやQuadnet)で使用中、リフレクタで呼ばれた場合でも両方にデータが流れる事が無いよう、 しっかりとセパレーションがなされています。

従って、このコールサイン・ルーティングの一つに、JARLシステムを組み込むとircDDBGatewayだけで、リピータアクセスもリフレクタアクセスも可能になるのですが、 日本の運用基準(審査基準)には諸々の制限が有りなかなか難しい事だろうと思います。

そこで、今回コールサインルーティング運用が可能な dmonitor と ircDDBGateway のリフレクタ・コネクションを Nextion で切り替えることによって、 一台の無線機とネットワーク接続用の Raspberry Pi で持ち運び可能な超小型ノードを作成したいと思います。

記事中ではターミナルモードでの運用を例に(クラブコールが無くても使用できる為)していますが、 DVAPやDVMEGA、ノードアダプターをお持ちの方、又はICOM Access Point Modeとすることで、無線機にケーブルを取り付ける事無く運用できます。

READ ME

dmonitorのオリジナル仕様書には、bookworm での使用に関して dmonitor 02.00 を使用する旨記載されています。もしこのシステム構成に Raspberry Pi Zero W を使用される場合注意が必要です。 仕様書のセオリーどおりに bookworm + dmonitor 02.00 が使用できるのは、Raspberry Pi Zero 2W 以降 (ARMv7/v8) となります。

ARMv6 の Raspberry Pi Zero W を使用したい場合は、OS を bullseye にし、dmonitor 01.82 をインストールしてください。これは Zero 以外の機種でも CPU 依存として発生します追記 2026.02.20
最新版dmonitorイメージのmicroSDを作成


  1. Raspberry Pi OSのサイトへアクセスします。
  2. 図の Raspberry Pi Imager をダウンロードして、インストールします。

  3. 次に、イメージをmicroSDに焼くのですが、以前のようにデフォルトユーザ(Pi)とパスワード(Raspberry)が設定されていません。
  4. そこで、対策としてこの純正イメージライタに、前もって好きなユーザ名、パスワードを指定し、SSHを有効にするかや、WiFiまで設定を登録しておけるようになりました。
    (歯車アイコン)
    セキュリティ向上のためですので、Pi: Raspbarryの組み合わせは避けましょう。

  5. イメージライタの画面上で必要なOSタイプとmicroSDのドライブを選択して [書き込む] をクリックします。 (以上 1.~ 3. 2023.3.2 修正変更)

  6. 念のために、OSのアップデートを行っておきましょう。

  7. $ sudo apt update && sudo apt upgrade -y
    $ sudo reboot
    


  8. dmonitorのインストール

  9. 準備ができたらdmonitorのドキュメント・サイトからインストールマニュアルの最新版をダウンロードします。
    必ずバージョンに合ったマニュアルに従って、インストールを実行してください。

  10. Nextionタッチパネルモニターを使用しない方は、これで終了です。
  11. Raspberry Pi専用モニターを使用していない場合でも、他のWindowsマシンのWEBブラウザー(Edge, Chrome)に、dmonitorの動いているRaspberry PiのIPアドレスを入れれば操作パネルが開きます。 つまり、dmonitorにはWEBサーバとしての機能が付属していると言うことになります。

その他の機能を有効にする



これらの機能は、RaspberryPi自体にディスプレイを付けて作業している場合は不要です。後ほどircDDBGatewayとDStartRepeaterの環境設定をする時にグラフィック環境が必要になります。
  1. *2SSHを有効にする

  2. $ sudo systemctl enable sshd
    $ sudo systemctl restart sshd
    

    Windowsマシンから、コマンドにて設定できるようにします。

    ディスプレイが接続されていない場合、この設定が出来ません。 その場合は、イメージを焼いた直後、WindowsのエクスプローラでmicroSDのドライブにアクセスします。 そこは PiOS の/boot フォルダですので注意して次のファイルを作成します。[新規作成]→[テキストドキュメント]として名前を「ssh」(拡張子も無し)とします。内容は空です。 これで、Raspberryを立ち上げた直後からSSHが使用可能です。

    *2ディスプレイが無い場合や、WiFiしか使えない機種の場合、 詳しくは ⇨こちら をご覧ください。

  3. VNCを有効にする

  4. $ sudo systemctl restart lightdm.service
    $ sudo systemctl restart vncserver-x11-serviced.service
    

    Windowsマシンから、グラフィカルにアクセスできるようにします。 (WindowsにRealVNC Viewerなどが必要です。)

  5. GPIOの⑧番⑩番ピンをTxD、RxDとして使えるようにする

  6. 「Pi3/Pi Zero WのGPIOでPi-HATと送受信する」を参考にして設定してください。

Nextionディスプレイの準備


  1. 先ず、GITHUB から からダウンロードしてください。ファイル名末尾に「_e」の付いているのはEnhanced TypeのNX3224K024_011用です。また、「2.4ud」となっているのが上下反転イメージです。

  2. *3イメージファイルを、適当なmicroSDにコピー(単なるコピーです。焼きません)して、電源の入っていないNextionにセットします。

  3. 赤のラインをRasberry Piの②ピンに、黒のラインを⑥ピンに挿して5Vを供給すると、イメージがNextionのメモリーに転送されます。 成功したら一旦電源を落としてNextionからmicroSDを外してください。

  4. *4上記の電源線以外に黄ラインを⑧ピンに、青ラインを⑩ピンに接続して、準備完了です。

  5. *3 「NEXTION EDITOR LTS」をITEADのサイトからダウンロードすると、 HMIファイルを編集したりtftファイルを作成したり出来ます。
    *4 詳しくはMMDVMノード用、ネットワークモニター Nextion 2.4 も参考にしてください。

dmonitor専用として使用する場合のD*SWITCHのインストール


    これも GITHUB からダウンロードします。(厳密にはクローンします。)

  1. 先ず、クローンするために次のコマンドでgitコマンドをインストールします。

  2. $ sudo apt install git
    

  3. 次に、gitコマンドを使ってGITHUBからクローンします。

  4. $ git clone https://github.com/ytodo/nextion_icom.git
    

  5. ダウンロードしたフォルダに入ってインストールコマンドを実行します。

  6. $ cd nextion_icom
    $ make install
    

    プログラムファイルや設定ファイルがそれぞれのフォルダーにインストールされます。
    nextionプログラム本体  :/usr/local/bin
    nextion.ini設定ファイル  :/etc/
    自動起動ファイル     :/etc/systemd/system
    また、自動起動ファイルはインストール時に必要な物は有効に、不要な物は無効に設定されます。その詳細な内容については、nextion_icomフォルダー内のMakefileを見てください。

  7. タッチパネル表示プログラム nextion の設定ファイル nextion.ini を編集します。

  8. $ sudo nano /etc/nextion.ini
    
      GNU nano 3.2                     /etc/nextion.ini
    ########################################################
    #                                                      #
    # dmonitor (Copyright(C) JARL D-STAR Committee )を   #
    # 使用する時純正のWEBではなくNextion Display にて   #
    # コントロールするようにするアプリです。               #
    #                                                      #
    #  名称: Nextion4dmonitorの環境設定ファイル            #
    #        2021.02.17                                    #
    #                                                      #
    ########################################################
    
    # ターミナルモード: 個人コール、アクセスポイントモード: クラブコール
    ### コールサインが8文字未満の場合、後ろにスペースを付け8文字にしてください。
    STATION=JE3HCZ D ---> ご自分のものに置き換えてください。
    
    # 初期接続リピータ(指定しない時は=の後を削除してください。)
    DEFAULT_RPT=JL3ZBS A
    
    # 初期接続リフレクタ(指定しない時は=の後を削除してください。)
    DEFAULT_REF=REF047 C
    
    # グリーン:2016 | イエロー:65504 | オレンジ:64512 ライトグレー:50712 レッド:63488
    # Nextion IDE で作成した色番号なら上記以外もOK
    CLOCK_COLOR=2016
    
    # リピータリスト書き込みタイミング調整(マイクロ秒/デフォルト10msec)
    ### 当方のテストではPi Zero: 30000 / Pi3: 35000
    SLEEPTIME=30000
    
    # デバッグモード(デフォルト:0/有効:1)
    DEBUG=0 ---> 簡易モード。詳しくログを表示したい時は1を設定してください。
    
    # Nextionの接続ポート(dmonitorイメージ: serial0 / その他 ttyAMA0、ttyUSB0...)
    PORT=serial0 ---> ターミナルモードの場合serial0ですがDVMEGA等では変わります。
    
    # 優先モード(MAIN:切替え画面 / DMON:D*MONITORと同じ / REF:Nextion_dstarと同じ)
    MODE=MAIN ---> dmonitor専用として切替えをしない場合は DMON に書き換えます
    

    それぞれの項目にある説明に従って編集してください。初期接続リフレクタの欄は後ほどircDDBGatewayをインストールした時に必要になります。 ここでは切替えのないdmonitor専用として設定しますので、リフレクタが指定されていても無視されます。


dmonitor用設定ファイルの編集


    dmonitor純正のWEBコントローラから設定済みの場合は、これらの編集作業は不要です。

  1. 先ず、dmonitor用設定ファイルを確認します。

  2. $ cd /var/www
    $ ls
    ConnectCall    dmonitor.conf   dvmega.conf       node.conf       rpt_mast.txt
    buff_hold.txt  dvap.conf       dvmega.conf.save  node.conf.save
    cgi-bin        dvap.conf.save  html              rig.type
    

    複数ファイルが有りますが .conf と言う拡張子の付いているのが設定ファイルです。今回はターミナルモードとして設定しますので必要なのは dmonitor.conf だけです。

  3. dmonitor.confを編集します。

  4. $ sudo nano dmonitor.conf
    
      GNU nano 3.2                      dmonitor.conf
    ICOM  ---> ターミナルモードの場合このままです。
    NONE  ---> dmonitor純正の液晶表示を使用する時以外はこのままです。
    XX0XX ---> nextion.iniの STATION= と合わせます。(JE3HCZ D)
    

  5. これでインストールが完了しましたので再起動します。

  6. $ sudo reboot
    

    今までのdmonitor専用、D*MONITORとほぼ同じ画面が表示されたら成功です。

=MEMO= D*MONITOR(dmonitor専用Nextionアプリ)として利用する場合は、これで完了です。

ircDDBGatewayとDStarRepeaterのインストールと設定


  1. ircDDBGatewayとDStarRepeaterをインストールします。

  2. 最新版 ircDDBGateway と DStarRepeater のインストール (Pi OS) を参照し、「OSの前準備」から続けてください。

  3. ircDDBGatewayの設定

  4. ircDDBGateway 初めての設定(2) を参照してください。

  5. DStarRepeaterの設定

  6. DStarRepeater 初めての設定(2) を参照してください。

  7. RemoteControlの設定

  8. ircDDBGatewayをインストールすると、remotecontrolとremotecontroldというアプリケーションが /usr/bin にインストールされています。 グラフィックモード(GUI)のTerminalで remotecontrol を立ち上げてリモート環境を設定します。

    $ sudo remotecontrol
    

    メインメニューの[Edit]→[Preferences]と選択すると右図のようなダイアログボックスが表示されます。

    AddressとPortはデフォルト値ですので変更可能ですが、一台のRaspberryにircDDBGatewayとDStarRepeaterがインストールされている場合は127.0.0.1です。 ポートとパスワードは自由に設定できます。ただし、ポートを変更した場合、ircDDBGatewayの設定も合わす必要が有ります。

    保存して再度立ち上げコマンドを入力すると、コールサインの入ったコントロールパネルが表示されます。

    上記のコマンドを実行した場合、sudoが指定されているので管理者である/root/下に設定ファイルが置かれます。sudo を指定しないで実行すると/home/USER/下に置かれます。 事情によってどちらが使われても良いように、両方設定して置いた方が良いでしょう。設定ファイルをコピーしても構いません。

  9. /etc/nextion.iniの編集

  10. $ sudo nano /etc/nextion.ini
    
      GNU nano 3.2                    /etc/nextion.ini
       :
       :
    # 優先モード(MAIN:切替え画面 / DMON:D*MONITORと同じ / REF:Nextion_dstarと同じ)
    MODE=MAIN ---> MAINになっている事を確認してください。
    

Nextion用ソフトウェアのアップデート


$ cd nextion_icom
$ make update




Back



73
J E 3 H C Z / REF047 C / XLX047 B

2020年6月3日水曜日

最新版 ircDDBGateway と DStarRepeater のインストール (Pi OS)

Back



=MEMO= Raspbian は今回のバージョンから Raspberry Pi OS と改名しました。今後文中では Pi OS と略します。
=MEMO= Pi OS Bookworm にアップグレードする場合は、 こちらを参照してください。(2024.2.2)
=MEMO= Pi OS Trixie は現在ライブラリーの大幅なアップグレードのためコンパイル出来ず対応しておりません。(2026.1.23)

D-STARで個人用ノードから汎用リピータに至るまで最もポピュラーになった ircDDBGateway と DStarRepeater。 その基本はアイコム社のリピータシステムに於ける dsgwd(D-Star GateWay Daemon)とコントローラ ID-RP2C の構成と何ら変わりは有りません。

つまり、ircDDBGateway がコールサインルーティングのゲートウェイに当たり、コントローラを DStarRepeater が担っています。 無線機を一つ繋げば個人用ノードとなり、送信用、受信用に二つ繋げばリピータになります。

日本ではリピータはJARLの管理ですので、シンプレックス・ノードとしてしか使用できませんが、欧米では自作公開リピータとしても多数利用されています。 そのシンプレックス・ノードと、受信と同時にダウンリンクを持つリピータ(デュープレック)とは、ircDDBGateway の設定値で変更するだけという簡便さです。

又、ircDDBGateway はコールサインルーティング・ネットワークである ircDDB.net のゲートウェイとしてだけでなく、D-STARプロトコルで運営されているリフレクタへの接続もサポートして居り、コールサインルーティング網とリフレクタ網のセパレーション(切り替え、ループ混信の防止)にも優れています。

私は、ircDDBGateway のコールサイン・ルーティングセクションに、JARLプロトコルが追加され、法的な違いや運用基準の違いをソフトで乗り越えて、世界が一つになることを願うものです。
最新版 Pi OS の microSD 作成


Raspberry Pi OS (32-bit) with desktop
=MEMO= Bookwormでも変わりなくインストール出来る事を確認済みです。 2023.11.05 追記
最新版(2023年現在)の PI OS では、セキュリティ上の問題で、デフォルトユーザが削除されています。 従って、従来のように pi : raspberry ではログインできません。
この問題は、Raspberry Pi 純正のイメージライタ(最新版)を導入することによって、 事前にログイン情報、SSHやWIFIの使用情報などをライタに登録しておいて設定するようになっています。
2023.3.2 追記
  1. Raspberrypi.orgのダウンロードページ から 「Raspberry Pi OS (32-bit) with desktop」の ZIP をダウンロードします。余分なソフトウェアの入っていないデスクトップ版で、Lite では設定が出来ない場合が有りこのバージョンとしました。
  2. 解凍してイメージファイル(2020-05-27-raspios-buster-armhf.img=2020.6.2現在)を抽出します。
  3. Win32 Disk Imager などを使用してイメージファイルをmicroSDに焼きます。
  4. そのまま、WindowsマシンにmicroSDカードを指したまま、カードのドライブ(多分F:とかG:)にエクスプローラでアクセスします。 マウスの右ボタンで[新規作成]→[テキスト ドキュメント]を選択、内容は何も書かずファイル名を「ssh(拡張子無し)」として保存します。
    これで、Raspberryを立ち上げた時、SSHが使用可能になっています。
OSの前準備


Raspberryに専用ディスプレイ、キーボード等を接続してGUIで作業される方は、Terminalアプリにて以後、SSH同様に作業してください。
  1. 先ず、microSDの全容量が使用されているか確認します。
  2. $ df -h
    

    もし、16GBの物を使用しているのに4GB程しかサイズが無ければ、次のコマンドで拡張してください。

    $ sudo raspi-config
    

    [7 Advanced Options]→[A1 Expand Filesystem]で拡張します。(再起動が必要です)
    又、同様にこのメニューを使って、パスワードを変更するなどセキュリティ対策も施してください。

  3. 次に、OSの更新をします。
  4. $ sudo apt update
    $ sudo apt upgrade -y
    $ sudo reboot
    

  5. ircDDBGatewayとDStarRepeaterに使用するライブラリーをインストール
  6. PiOS 10(Buster)以前
    $ sudo apt -y install wx3.0-headers wx-common libwxgtk3.0-0v5 libwxgtk3.0-dev libwxbase3.0-0v5 libwxbase3.0-dev portaudio19-dev libportaudio2 build-essential libusb-dev libusb-1.0-0 libusb-1.0-0-dev
    

    PiOS 11(Bullseye)から一部ライブラリーのバージョンが変わっています。Bookworm確認済み
    $ sudo apt -y install wx3.0-headers wx-common libwxgtk3.0-gtk3-0v5 libwxgtk3.0-gtk3-dev libwxbase3.0-0v5 libwxbase3.0-dev portaudio19-dev libportaudio2 build-essential libusb-dev libusb-1.0-0 libusb-1.0-0-dev
    
    MMDVMHostをコンパイルする時は libsamplerate-dev も必要です。

  7. GPIOをアプリで使用するために WiringPi が必要です。インストールの詳細は「Wiring Pi(ワイヤリング・パイ)が必要!!?」をご参照ください。

アプリケーションのダウンロードとインストール


今後コマンドの実行ディレクトリーは、USER Loginした直後のホームディレクトリー(/home/USER/)として記述します。[$ cd]の記述はホームに戻ることを意味します。
  1. G4KLX(ジョナサン・ネイラー)のGITHUBから最新版をダウンロード
  2. URLはhttps://github.com/g4klxです。 但し、ダウンロードには gitコマンドを使用します。

    $ git clone https://github.com/g4klx/DStarRepeater.git
    $ git clone https://github.com/g4klx/ircDDBGateway.git
    

    この作業はG4KLXのリポジトリのクローンをRaspberry内に作ります。GITによって管理され、後々作者がアプリの開発を進めた場合にも、 差分が管理されているので、フォルダ内で次のようにするだけで、ソースプログラムのアップデートが出来ます。(コンパイルし直す必要は有ります)

    $ git pull
    

    GITについての詳細は検索にてご参照ください。

  3. それぞれのフォルダ内でコンパイル、インストールします。
  4. $ cd ircDDBGateway
    $ sudo make install
    $ sudo make install -f MakefileGUI
    

    $ cd ../DStarRepeater
    $ sudo make install -f MakefilePi
    $ sudo make install -f MakefileGUIPi
    $ cd
    


    =MEMO= OSにより(PiOSか否か)、又、グラフィカルかテキストかに依ってMakefileが異なるので注意 [-f]でファイルを指定しなければ標準の Makefile が使用されます。

    $ ls /usr/bin/irc* /usr/bin/dstar* /usr/bin/remote*
    /usr/bin/dstarrepeater        /usr/bin/dstarrepeaterd  /usr/bin/ircddbgatewayconfig  /usr/bin/remotecontrol
    /usr/bin/dstarrepeaterconfig  /usr/bin/ircddbgateway   /usr/bin/ircddbgatewayd       /usr/bin/remotecontrold
    
アプリケーション設定の準備


  1. グラフィックモードでの立ち上げ
  2. 専用ディスプレイで使用する場合は、キーボード・マウスを接続して立ち上げれば、即設定に入れますが、ここまでSSHで作業して来て、ディスプレイの無い方は VNC を有効にします。

    $ sudo systemctl start vncserver-x11-serviced.service  
    

    VNCViewer(RealVNC, UltraVNCなど)をインストールしたWindowsマシンなどからグラフィカルにアクセスできるようになります。 運用が開始するまでは、再起動しても VNC が常時使えるようにしたい時、またそれをやめたい時は次のようにします。

    $ sudo systemctl enable vncserver-x11-serviced.service 
    $ sudo systemctl disable vncserver-x11-serviced.service 
    

    又、VNCのサイズを変更したい時は

    $ sudo nano /boot/config.txt
    			:
    # uncomment to force a console size. By default it will be display's size minus
    # overscan.
    #framebuffer_width=1280
    #framebuffer_height=720
    framebuffer_width=1600
    framebuffer_height=1200
    

  3. GPIOのシリアル接続を利用する場合の準備
  4. 「Pi3/Pi Zero WのGPIOでPi-HATと送受信する」をご参照ください。
この続きは、ircDDBGateway 初めての設定(2)及び DStarRepeater 初めての設定(2)をご参照ください。

Back


J E 3 H C Z / REF047 C / XLX047 B

2020年5月21日木曜日

WiFiがスリープしていませんか?(接続が切れる)

Back


HS-HAT系モデム、ircDDBGatewayのターミナルモード、dmonitorなど、Pi Zero や Pi 3 などオンボードWiFiや USBドングルWiFiなどを使うことも多いと思います。

さて、それらを使用中、接続が何時の間にか切れているなんてことは有りませんか?

原因の一つが、ひょっとしたらWiFiのパワーセーブに原因があるかも知れません。

自動的にパワーセーブを解除して、WiFiがスリープするのを防ぐにはこちらをご参照ください。

2019年1月7日月曜日

新ゲートウェイ管理者向け ラストハード表示アプリ(C/PHPとD-STARを勉強する)

Back



=MEMO= 2024年1月現在のゲートウェイ・アプリケーション仕様変更(2023年の法改正による)に伴い、xchangeへの接続方法も変更になりました。 間もなくリリースされる次期D-STAR仕様書に現行6.0aより更に詳しく記載される模様ですが、初期化パケットがxchange起ち上げ時発行され、 それに返答する事によって継続的にポートが利用できます。未だ確定では無く仕様が変更される可能性は有りますが、今回そのプロトコルに対応した lastheard v2.0.0 を公開しました。以下のインストール手順には変更有りません。  (2024.01.18 追記)
=MEMO= Last Heard v.2.0.2にアップデートしました。 主な変更点は接続ユーザのデータをログからではなくmulti_forward WEBのデータから取得し、スキャン接続など瞬間の接続・切断で接続が残るのを解消しました。なお現在アプリの運用確認はRaspbian(Pi OS)のみとなっています。(2024.5.29 追記)



実際のWEBはこちらから


  D-STAR リピータも年が明けて、155ヶ所ほどが新ゲートウェイ採用となりました。今までのゲートウェイ(アイコム社製 dsgwd )は文字通り、コントローラ(ID-RP2C)とインターネットの間に入ってRF側とインターネット側の行き来を制御していました。
  今回はその機能として、JARL管理サーバのアドレス指定に、IPアドレスではなく名前(FQDN)として trust.d-star.info を指定するように変更され、これによって2台のサーバ(IPアドレスは違う)が一つの名前で参照され、安全性が向上しました。
  また、今まで UDP:40000 と言うポートに制限されていた、コールサインルーティングの復路も、ホールパンチ対応となり、往路が使用したポートを使って戻ってくるように仕様変更されました。ターミナル/アクセスモードでの 40000 ポート制限も、この方法で間もなくクリアされると思います。

その他に特筆すべきは、今回のプログラム構成の大きな変更です。図のようにコントローラとゲートウェイソフトの間に xchange と言う物が割って入っています。このためご存じのように各設定ファイルに、インターネット側、コントローラ側以外にローカルホストを使った橋渡しの設定が必要になりました。これらについては別途開設に委ねるとして、新設されたxchangeのポート分配機能を今回利用させて戴いて、ユーザサイド利用規程に則ったポート UDP:52000 から通信データを受信して、そのアクセス履歴(ラストハード)をWEB表示するようにしてみました。

=MEMO= v.2.0.0でxchageからのデータ取得でハンドシェイクに対応しました。そのためxchange WEBにてlastheardがOK表示となりました。(2024.1.19 追記)
ソフトウェアのダウンロード
ソフトウェアはあくまで、自分自身の勉強の為にC言語、PHPを使って書いてあります。著作権は保持していますが、CC-BY-NC-SA(クリエイティブ・コモンズ・ライセンス)に従って、自己責任で自由にお使いください。
  1. ゲートウェイサーバのCentOSでgit cloneします。

  2. # git clone https://github.com/ytodo/lastheard.git
    # cd lastheard
    # make
    

    これで、ラストハードをログへ出力するアプリ「lastheard」が作成されました。PHPのWEB表示プログラムはフォルダhtmlに同梱されています。

  3. httpd(apache2)を自動起動設定します。

  4. # systemctl enable httpd.service
    # systemctl start httpd.service
    

    再起動した時に、自動的に起動するよう設定した上で、手動で起動します。標準ではポート80でゲートウェイPCのIPアドレスをブラウザーで見るとテストパターンが見えます。

  5. ダウンロードしたアプリケーションを各フォルダーに置きます。

  6. # \mv lastheard /usr/local/bin
    # \cp -f html /var/www
    

    コマンドの mv と cp の前に付いている「\」は、エイリアスのお陰でコマンド通りの挙動にならないため、エイリアスをキャンセルするための物です。

  7. ラストハードアプリ自体の自動起動を設定します。

  8. # nano /etc/systemd/system/lastheard.service
    
      GNU nano 2.3.1        File: /etc/systemd/system/lastheard.service
    [Unit]
    Description = lastheard daemon
    After = xchange.service
    
    [Service]
    ExecStart = /usr/local/bin/lastheard
    Restart = always
    Type = simple
    
    [Install]
    WantedBy = multi-user.target
    

    ユニットファイルが作成できたら、自動起動を有効にします。

    # systemctl enable lastheard.service
    # reboot
    
    これで、立ち上がればブラウザーでラストハードが見られるはずです。カーチャンクしてみてください。

  9. 環境設定ファイルの編集をします

  10. # nano /var/www/html/conf/db.conf
    
      GNU nano 2.3.1        File: /var/www/html/conf/db.conf
    #
    #   D-STAR Dashboard configuration file
    #
    #   2018.12.22  Yosh Todo/JE3HCZ
    #
    
    # 自局設定
    RPTNAME=xxxx D-STAR GATEWAY --> 漢字も使えますがこのファイル自体をShift_JISで保存してください
    RPTCALL=JPnxxx A
    
    # LASTHEARD 行数
    LINES=10
    
    # リフレッシュ間隔(秒)
    INTERVAL=2
    
    # ヘッダーに表示するグラフィックスのファイル名
    # (名前は的下ですが、images に入れるファイルと一致させてください)
    #   ファイル形式はjpg gif png 幅400px 高さ200px程度
    #   ファイル容量 数十キロバイト推奨
    HEAD_PIC=header_picture.jpg
    
    # ヘッダー画像の左右/上下位置と繰り返し表示有無
    #   left/center/right  top/bottom  repeat/no-repeat
    PIC_POSx=right
    PIC_POSy=top
    REPEAT=no-repeat
    
    # バックグラウンドカラーの変更が出来ます。
    #   例 グリーン: #55AA55  名称標記も可能: white
    #   指定しない又は行そのものがない場合、規定値となります。--> シックなオレンジ
    
    BGCOLOR=
    
    

    設定値のイコール(=)前後はスペースを入れないでください。


Back


73
Yosh Todo/J E 3 H C Z

ご意見等は当ブログトップメニューページの「FORUM」リンクからお願いします。

2018年12月9日日曜日

Pi3/Pi Zero WのGPIOでPi-HATと送受信する

Back


Pi3 や Pi ZERO W で GPIO 接続型の無線用モデム(DVMEGA、MMDVM HS HATなど)や Nextionなどのディスプレイとデータを送受信出来るようにしようとする時、 今までの、Pi1/2等のように Bluetooth が搭載されていないタイプのものと設定が異なります。次のように変更してください。

$ sudo nano /boot/cmdline.txt
  GNU nano 2.7.4         File: /boot/cmdline.txt
#dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=60e09218-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=60e09218-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
太線部分を削除します。元の標記の上で [Ctrl]+[k]とするとその行が消えます。次に[Ctrl]+[u]とすると一旦消えた行が貼り付けできます。これをもう一度実行し、行を複写して置いて一行を編集し、元の行を # でコメントアウトしておくと便利です。

$ sudo systemctl disable serial-getty@.service
$ sudo nano /boot/config.txt
  GNU nano 2.7.4         File: /boot/config.txt
    :
    :  最終行に追加 ↓
dtoverlay=pi3-disable-bt

=MEMO= 上記以外のラズベリー又はOSバージョンの古いものについては次をご参照ください。
GPIO使用時のttyAMA0 に関する設定

Back


J E 3 H C Z / XLX047B

2018年11月30日金曜日

dmonitor & 専用Nextionディスプレイ

Back


  今年の末までに全国のリピータのゲートウェイソフトが新しくなり、周辺アプリケーションの構成も大きく変わります。
  今まで無線機(ユーザ側)からの電波を受けたリピータの受信機が、コントローラを経てゲートウェイPCからインターネットに繋がっていました。 つまり、コントローラ(ID-RP2C)の次に繋がるゲートウェイPC内の機能は、ゲートウェイソフト(dsgwd:アイコム社製)であった訳です。
  新システムに於いては、コントローラの次に繋がるゲートウェイPC内の機能は、D-STAR_xchangeアプリ(xchange:D-STAR委員会製)となり、その次がゲートウェイソフトとなります。 これらの詳細に付いては、「D-STAR リピータ・ゲートウェイ(dsgwd)のインストール(CentOS 7 対応)」をご覧戴くとして、次には大きな機能の追加が有りました。それが、multi_forward というアプリケーション(D-STAR委員会製)です。
  既存のゲートウェイの間に入った xchange から特定のポートを振ってもらい、通信内容が multi_forward に接続(リフレクタをお使いのユーザは同様にと考えてください)した、複数のユーザにポーリングされます。また、その接続しているあるユーザからの信号は、他のユーザと共に本流であるゲート越え・山掛け通信に割り込みます。つまり電波の届き得ないリピータの会話をワッチ出来るのみならず、そのリピータ配下の山掛け通信、そのリピータへエリアCQしてきたコールサインルーティングとも交信が可能となります。この接続に使用するユーザ側ソフトウェアが dmonitor です。(本記事のdmonitorインストールに関してはJARL D-STAR委員会発行の「dmonitor」を参照させて戴きました。



=MEMO=

dmonitor by JARL の最新版は V01.82 です。

 

Raspberry用のイメージがリリースされました。 ➡ dmonitorイメージ(Buster版のみ)
上記インストールについてのドキュメントは ➡ http://app.d-star.info/doc/dmonitor.pdf
イメージを使ったdmonitorの製作は ➡ FB News RaspberryPiを使ったdmonitorの製作 by JK3AZL
イメージを一旦焼いた後のアップデートは次のコマンドで可能です。
sudo apt update && sudo apt upgrade -y

D-STAR ゲートウェイ・テスト・サイトについて

dmonitorリピータリスト3エリアの最初に、JL3ZBS A が有りますがリピータのゲートウェイPCのみを稼働させたテスト用サイトです。 xchange, dprs, dstatus, multi_forward が稼働しています。従ってここに接続後、ID-51Plus2 などの無線機のURに、「ならやま JK3ZNB F」などの自動応答をセットしてゲート越え等のテストをして戴けます。RFは設備自体が無いので出せず迷惑にはなりません。またその様子を表示する D-STAR DASHBOARD も有りますのでご参照ください。http://JL3ZBS-A.ddns.net
なお、接続送信のテスト用ですので、dmonitor複数接続で会話も可能ですが短くお願いいたします。

  • dmonitorV01.64以後対応版です。
  • 各使用デバイス(TERM,DVAP,NODE,
      DVMEGA)ごとのステータス表示を
      整理しました。
  • 最新ドライバは D*MONITOR v1.6.6 です


    ご意見・お問い合わせはこちらへお願いします。

    D-STAR Network FORUM
    実際にリピータへ接続しモニター及び交信するためのソフトの名称は、dmonitor by JARL D-STAR Commitee/7M3TJZ 安田OM、D*MONITOR はNextion に表示するための別のソフトの名称です。

    準備するもの
    1. Nextion 2.4インチ(NX3224K024_011)ディスプレイ

    2. WEBブラウザ(PC又はスマホなど)を使用してコントロールする場合は不要です。 本記事後半の「Nextionを使用せずWEB cgi でコントロールする場合」をご参照ください。

      現在 dmonitor が接続可能なリピータ数は200までで、4MBメモリーの Nextion 2.4 で230軒まで読み込めるようにしてありますが、拡張に備え16MBバージョンをご検討ください。

    3. Raspberry Pi ZERO W 及び microSDカード(クラス10、8GB以上推奨)

    4. GPIO の②、⑥⑧⑩を使用しますが、ピンは必ずしも必要では有りません。また、大きさに問題なければB/B+タイプでも問題有りません。 ただし、ここではWiFi機能がオンボードであるとして説明します。

    5. Raspbian 最新版ダウンロード

    6. Index of /raspbian/images から最新版(最下部)を取得します。

    7. アイコム社製データ通信ケーブル OPC-2350LU

    8. アイコム社製ターミナル/アクセスポイントモード付き無線機


    9. =MEMO= 2020年夏より、ターミナル/アクセスポイントモードに加え、  DVAP  を同様にUSBポートに挿し、10mWのアクセスポイントとして使用できるようになりました。 (WEBコントロールのツールでどちらを使用するか等の設定が出来ます。)  2020.9.12 追記


    Rasberry Pi にOSをインストールし環境を整えます
    1. microSD にダウンロードした 20yy-mm-dd-raspbian-buster-lite.img を焼きます。

    2. Windowsマシンに Win32 Disk Imager 等をインストールして焼き付けます。

    3. Pi ZERO に使用する前に Pi B/B+で立ち上げて次の作業をして置くと便利です。

    4. 残念ながら、Pi ZERO にディスプレイやキーボードを接続出来る環境にあれば良いのですが、でないと次のように立ち上げ後すぐWiFiが接続出来るようにしておくか、USBタイプのLANアダプターを使うしかありませんが、いずれにしてもSSHを有効に出来なければ作業が出来ません。


      =MEMO= WindowsパソコンとRaspberry Pi Zero W しかない場合の WiFi と SSH の設定の仕方についてはこちらをご参照ください。 初めてのRasPiがZero W.さぁどうする!?

      $ sudo systemctl enable ssh.service
      $ sudo systemctl enable wpa_supplicant.service
      $ sudo wpa_passphrase WARPSTAR-8FE884 0046D824FE72C
      network={
      ssid="WARPSTAR-8FE884"
      #psk="0046D824FE72C"
      psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18
      }
      
      wpa_passphrase の後は、ご自宅(又はスマホ等)の SSID と パスワード(13桁) です。

      上の結果を、wpa_supplicant.conf にコピーして自宅 WiFi に接続出来るようにしておきます。
      $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
      
        GNU nano 3.2         File: /etc/wpa_supplicant/wpa_supplicant.conf
      country=JP
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      
      network={
              proto=WPA
              key_mgmt=WPA-PSK
              pairwise=CCMP
              ssid="WARPSTAR-8FE884"
              psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18
      }
      
      

      Raspberry Pi ZERO W に microSD カードを差し替えて電源を入れます。

    5. Pi ZERO W の GPIO と Nextion がデータを送受信できるようにします。

    6. $ sudo apt install wiringpi
      
      wiringPi をインストールします。

      $ sudo nano /boot/cmdline.txt
      
        GNU nano 3.2         File: /boot/cmdline.txt
      #console=serial0,115200 console=tty1 root=PARTUUID=e4f36fa3-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
      console=tty1 root=PARTUUID=e4f36fa3-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
      
      
      太線部分を削除します。元の標記の上で [Ctrl]+[k]とするとその行が消えます。次に[Ctrl]+[u]とすると一旦消えた行が貼り付けできます。これをもう一度実行し、行を複写して置いて一行を編集し、元の行を # でコメントアウトしておくと便利です。

      $ sudo systemctl disable serial-getty@.service
      $ sudo nano /boot/config.txt
      
        GNU nano 3.2         File: /boot/config.txt
          :
          :  最終行に追加 ↓
      dtoverlay=pi3-disable-bt
      

    7. 日付・時間をローカルタイムにします。

    8. $ sudo dpkg-reconfigure tzdata
      
      グラフィカルな画面が出てきます。[Asia]→[Tokyo]と選択してください。


    dmonitorのインストール

    =MEMO= ここでは最小のOSを使って、このRaspberry本体としてはWEBを表示せず(他のPCにて表示は可能)、 従ってWEBサーバはインストールしますが、ブラウザはインストールしません。

    1. WEBサーバとWEB用プログラムモジュールのインストール
    2. $ sudo apt update
      $ sudo apt upgrade -y
      $ sudo apt install lighttpd perl CGI.pm
      
    3. USBシリアルデバイスを認識できるようにする

    4. $ sudo nano /etc/udev/rules.d/99-dstar.rules
      
        GNU nano 3.2         File: /etc/udev/rules.d/99-dstar.rules
      SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="dstar", MODE="0666"
      


      =MEMO= Nextionを接続するため無線機をシリアルポート接続することは出来ません。

    5. aptインストール出来るようにリポジトリを構成

    6. $ cd /etc/apt/sources.list.d
      $ sudo wget –N http://app.d-star.info/debian/buster/jarl.list
      
      $ cd /var/tmp
      $ sudo wget –N http://app.d-star.info/debian/buster/jarl-gpg.key
      $ sudo apt-key add jarl-gpg.key
      $ cd
      

      この時、すでにjarl.listが存在すると wgetする度に、jarl(1).list, jarl(2).list・・・のように上書きしないようにダウンロードされるので、 最新の状態にするためには jarl.listのすべてのバージョンを削除して新たにダウンロードするか、番号の大きい物をjarl.listにリネームしてください。 dmonitor v01.68をv01.69にアップグレードする際にはこの点に留意して 3. 4. を実行してください。 2021.6.7 追記

    7. インストールの実行

    8. $ sudo apt clean
      $ sudo apt update
      $ sudo apt install dmonitor -y
      

    9. インストール後のアップデートについて

    10. $ sudo apt clean
      $ sudo apt update
      $ sudo apt upgrade -y
      $ sudo apt autoremove -y
      $ sudo reboot
      
      通常の定期的な更新作業でdmonitorも自動アップデートされます。
      D*MONITOR V1.2 からは[Update]ボタンで dmonitor のみのアップデートが実行されます。

    11. ログファイルに関する設定

    12. $ sudo touch /var/log/dmonitor.log
      $ sudo nano /etc/rsyslog.conf
      
        GNU nano 3.2         File: /etc/rsyslog.conf
         :
         :
      #
      # Emergencies are sent to everybody logged in.
      #
      *.emerg             :omusrmsg:*
      
      
      #
      # dmonitor
      #
      local0.* /var/log/dmonitor.log
      
      今まで、ログは /var/log/messages に出力されていました。専用のログファイルが設定されたことになります。 messagesには変わらず、dmonitorを含む各種のログが出力されていますので D*MONITOR は変更なくご使用戴けます。


    Nextionディスプレイ表示プログラムのインストール

    =MEMO= ここまでのOSのインストールや dmonitor のインストールをせず、すべてセットアップ済みのイメージをダウンロードして、Nextion 表示プログラム D*MONITOR のみをインストールする方法も有ります。冒頭の「dmonitorイメージ(Buster版)」からダウンロードしてください。

    1. まず、Nextion の画面やデータを表示するレイアウトイメージをWindowsマシンにダウンロードします。

    2. github.com のJE3HCZ_2.4_dmonitor_最新版
      ファイル名にud の付いているのはアップサイドダウン(上下反転版)です。

      Windowsに、Nextionディスプレイ購入時、説明のある Nextion Editor がインストールされていれば、拡張子 .HMI の方を読み込み込んで編集できます。 ファイル名に _e の付いているものは16MBの拡張版用です。


      =MEMO= 新たにインストールされる方は NEXTION EDITOR LTS をダウンロードしてください。VER 0.58 は最新版ですが今までの VER 0.53 で作成されたデータと互換性が有りません。LTS はその資産保全のために今後長期サポートを約束されたバージョンとなります。(追記 2019.07.21)
      また、経験上D*MONITORのデータにおいては、LTSで設計した方がメモリが効率良く利用できました。(2019.09.06)

      また、エディターが無い場合は、拡張子 .tft の方を、FAT32でフォーマットされたmicroSDにコピー(焼くのではなく通常コピーです)して、Nextion の下部スロットに差し込みます。 その上で電源5V(Raspberry GPIO の 2番(赤)6番(黒))を供給(実稼働時は8番(黄)10番(青)も必要)すると、イメージがメモリーに転送されます。 作業が済んだら、電源を切って microSD を抜いて置いてください。


      =MEMO= こちらも参考にして戴ければ幸いです。 MMDVMノード用、ネットワークモニター Nextion 2.4 「Nextion 表示用のグラフィックスをメモリーにアップロードする」

    3. 次は、Raspberryで、githubの当方のサイトよりアプリを取得してください。

    4. 下記サイトを開き、最上部にある「最新版 [Latest release]」のZIPファイルのリンクの上で右クリックして[リンクのアドレスをコピー]してください。

      github.comのリリース版ページ

      wgetの後ろにスペースを一つ空けてURLを貼り付けます。(nanoではカーソルキーで位置決めして、マウス右クリック。バージョンは時期により変わります。)

      $ wget https://github.com/ytodo/nextion/archive/v1.3.1.zip
      

    5. 解凍してそのフォルダ内で、ソースをコンパイルします。

    6. $ unzip v1.3.1.zip
      $ cd nextion-1.3.1
      $ make
      

    7. 各ファイルを所定のフォルダに配置してください。

    8. $ sudo mv nextion /usr/local/bin
      $ sudo mv nextion.ini /etc
      $ sudo mv nextion.service /etc/systemd/system
      $ sudo mv nextion.timer /etc/systemd/system
      

    9. 自動起動を有効にします。

    10. $ sudo systemctl enable nextion.timer
      

    11. 環境設定ファイルを編集します。

    12. $ nano /etc/nextion.ini
      
        GNU nano 3.2                       File: /etc/nextion.ini
      ######################################################
      #                                                    #
      # dmonitor (Copyright(C) JARL D-STAR Committee )を #
      # 使用する時純正のWEBではなくNextion Display にて #
      # コントロールするようにするアプリです。             #
      #                                                    #
      #   名称: Nextion4dmonitor の環境設定ファイル        #
      #                                                    #
      ######################################################
      
      # ターミナルモード: 個人コール、アクセスポイントモード: クラブコール
      ### コールサインが8文字未満の場合、後ろにスペースを付け8文字にしてください。
      STATION=JE3HCZ D
      
      # 初期接続リピータ(指定しない時は=の後を削除してください。)
      DEFAULT_RPT=JL3ZBS A
      
      # リピータリスト書き込みタイミング調整(マイクロ秒/デフォルト10msec)
      ### 当方のテストではPi Zero で下記が最も良い数値(大きくても< 30000)
      SLEEPTIME=10000
      
      

      コメント行の記述に従って設定を行ってください。

    13. sudo reboot します。


    Nextionを使用せずWEB cgi でコントロールする場合
    1. イメージでダウンロードした物は勿論、個別にインストールした場合も、すでにWEB表示の準備は整っています。

    2. Windowsマシンやスマホから、http://[Raspberry IP Address] を指定して使用します。 もちろんWEBでコントロールしてもNextionディスプレイのメイン画面には接続先、ラストハード等が同様に表示されます。 但し、Nextion を使用している時はGPIOシリアルポート(ttyAMA0)に接続しているため、無線機の接続にはUSBシリアル変換ケーブルしか使えません。

    3. Nextion使用を目的に、個別インストールした物には、軽量化のためにデスクトップ環境及びブラウザーが入っていません。

    4. dmonitor のインストールされた Raspberry Pi 自体のデスクトップで表示したい場合は、イメージ版をご利用になることをお勧めします。


    Nextion でのコントール方法
    • 起動直後の画面です。

    • 上部の << と >> はリピータリストの「最後のページ」、「最初のページ」へ移動します。 また D*MONITOR の文字は「システムコマンドのページ」へ移動するタッチボタンになっています。
      下部、STATUS AND LASTHEARD は2行ですが現在の状況と今カーチャンクした人のコールサインを表示します。初期は新ゲートウェイ導入リピータとして読み込んだ数を示しています。
      =MEMO= バッファの拡張・縮小機能に対応したコマンドボタンを追加しました。UP でバッファが50ずつ増え、DWN で50ずつ減ります。

    • >> をタッチしてリピータリストへ移動します。

    • 接続したいリピータを選択して、タッチします。メインページに戻って[LINK TO : JP1XXX A]の様に表示され、ステータスの行が一つ下へ送られ、上の行に[DMONITOR START V00.64]の様に表示されます。
      移動には最上部の文字がボタン代わりになります。[Multi]: 戻る、[Forwarded]: メインへ、[Gateway]: 次ページへ
    • システムコマンドが実行できます。

    • Restart はこのNextion用プログラムをリスタートします。
      Reboot は Raspberry自体を再起動します。
      Shutdown は RaspberryのOSを終了します。電源を切っても良い状態です。電源を切るまではNextionの表示は消えません。
      タイトルバー をタップすると単純にメインページへ戻ります。
      Update ボタンを追加しました。(V1.2より)
      ボタンを押すと次の様に動作します。
      1.    WAIT for reboot!    にボタン表示が変化
      2. sudo apt update
        sudo apt upgrade -y
        sudo apt autoremove -y を順に実行
      3.  REBOOTing now...!  にボタン表示が変化し自動再起動
      4. 画面が表示されるまで待つ。
      うまく再起動までできなかった場合は、一度コマンドで上記どおりに試してみてください。エラーが発生していれば表示されます。
      =MEMO= V1.3での追加は「IPアドレス」を表示させ、他のPC・タブレットなどからWEBを表示しやすくしました。 又、最下部にスライドバーを設置し、「画面の明るさ」を左(消灯)から右(dim=100)まで調整できるようにしました。真っ暗になって困ったときはバーの100%付近をタップしてください。 (左の方だと[Shutdown]してしまう可能性が有ります)

    • あなたが接続したリピータに接続する他のユーザを表示します。

    • メイン画面で接続リピータの表示部分をタップしてください。「戻る」時は、タイトルバーをタップします。


    • 現在使われているリピータのリストを表示します。

    • メイン画面で自分のステーションコール表示部分をタップしてください。「戻る」時は、タイトルバーをタップします
      また、表示された使用中のリピータを直接タップすることで、すぐに接続出来(接続に数秒掛かります)、ワッチ出来ます。



    Nextion と Pi Zero W のアッセンブル例
    Nextion を分解し同サイズのアクリ板を作っておきます。ビス穴も合わせて開けます。 Nextion の裏カバーに2ヶ所、基盤パーツに干渉しない方の対角位置に3mmの穴を開け、短いビスでワッシャ2枚をスペーサにして Pi Zero W を取り付けます。 作っておいたアクリ板を、充分USBと電源コネクタを挿した時の隙間が空くように、スペーサを挟んで取り付ければ完成です。





    Back



    73 J E 3 H C Z/XLX047 B/C

    2018年8月10日金曜日

    D-STAR リピータ・ゲートウェイのインストール(CentOS 7 / AlmaLinux 対応)

    Back



    • dsgwdはアイコム株式会社の、xchange dprs dstatus multi_forward は安田OM(7M3TJZ)/ JARL D-STAR委員会の著作物です。 インストール及び設定に関する実務についてのみ今後の参考のために記載します。また手順に変更があれば随時、変更・追加致します。 (最終更新 2024.8.19)
    • 新ゲートウェイシステム・フローチャートはこちら TODO Virtual Center
    • 本ブログに関するご意見・お問い合わせはこちらへお願いします。  D*Star Network FORUM

    準備するもの

      =MEMO= ブログをAlma Linuxへのインストールに暫定対応させました。(2024.4.16 追記)

      SSHの使用に関して「AlmaLinuxのSSHを公開鍵と秘密鍵で」をご参照ください。

    • AlmaLinux(2024年8月時点に於ける最新版 9.4)のインストールされたLANカードを2枚持つPC

    • DD(バックアップイメージを取るなどに使用)コマンドを使用しなければ WiFiも可能と言う事ですし、USB-RJ45 変換アダプタの使用等も出来ますが、 サーバーとしての安定性を考慮すると上述の仕様をお勧めします。

    • JARLレポジトリを利用するための準備

    • 現在AlmaLinux用のリポジトリーは作成されていませんので CentOS 7 のリポジトリーを利用しての暫定インストールとなります。従ってリポジトリーリストの変更を伴います。
      この手順はアイコム(株)のテストによる情報がD-STAR委員会に提供されたものを参照しています。また、今後リポジトリーの作成作業等によりアクセス出来ないことなども発生すると思われますのでよろしくお願いします。

      CentOS 6 の32ビット、64ビット版、及び CentOS 7 の32ビット版、64ビット版について利用可能です。 Alma Linuxについては=MEMO=参照

      次の準備をして、次項のインストールへ
      # yum install wget -y
      # cd /etc/yum.repos.d
      # wget -N http://app.d-star.info/rpm/yum/jarl.repo
      # cd
      
      /etc/yum.repos.d ディレクトリ内に jarl.repo と言うファイルがダウンロードされます。


      =MEMO= Alma Linux用のリポジトリーが完成するまでの暫定処理

      # cd /etc/yum.repos.d
      # nano jarl.repo
      

        GNU nano 5.6.1                          jarl.repo
      # jarl.repo
        :
      [dstatus]
      name=dstatus CentOS-$releasever $basearch
      baseurl=http://app.d-star.info/rpm/centos/$releasever/$basearch/
      enabled=1                 │
      gpgcheck=0                 └─> /centos/7/$basearch/ に書き換える
        :
      
      この$releaseverの所を、CentOS 7 のリポジトリーに特定するため、すべての行で 7 に書き換えます。
      CentOS 7 向けのアプリケーション(dsgwd-jp)で必要となる環境とAlma Linuxが提供する環境のすり合わせ。(ダウングレード含む)
      # dnf install initscripts
      # wget https://ftp.sakura.ad.jp/almalinux/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm
      # dnf install compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm  
      
      ここまで Alma Linux



    dsgwd 及び D-STAR X-change関連ソフトのインストール
    1. JARLレポジトリからインストールする

    2. # yum -y install dsgwd-jp dprs xchange dstatus multi_forward
      


      =MEMO= Alma Linuxからは yum の代わりに dnf に慣れた方が良いでしょう。
      # dnf -y install dsgwd-jp dprs xchange dstatus multi_forward
      


      dsgwdはdsgwd-jp と指定します。dxchangeは dprs、xchange と dstatus という3つのプログラムに分かれました。 また、multi_forward というアプリケーションが追加されています。
      deltarpm は dstatus に必要なソフトです。インストール済みならこのコマンドは不要です。

      dsgwdは、インストールのみで自動立ち上げスクリプトも生成され、環境設定ファイル dsgwd.confは /etc に配置されます。

      xchange、dprs、dstatus、multi_forward の設定ファイルは次のフォルダに入ります。
      # ls /opt/dstar/conf/
      


    それぞれの設定ファイルを編集

      =MEMO= 今回の xchange、dprs、dstatus、multi_forward の4アプリケーションは 前回のdxchangeのように、dsgwd のアドオン的存在ではなく、xchange が dsgwd と ID-RP2C の間に割って入ります。 従って今までの 172.16.0.20 は dsgwd にではなく xchange に設定します。 それに伴って、dsgwd の設定は xchange に向かうためローカルループの 127.0.0.1 となります。 この様に、xchange dprs dstatus multi_forward をセットアップする時は下記の dsgwd.conf も大きく設定が変わります。

    1. dsgwd.conf の編集

    2. # yum install nano -y       (好みです。サーバーGUI仕様ではインストール済みです。)
      # nano /etc/dsgwd.conf
      
        GNU nano 2.3.1                    File: /etc/dsgwd.conf
      #
      # dsgwd.conf
      # Configuration file for D-STAR GW-Server Daemon
      # (C) 2004-2017 Icom Inc. Revision 1.4 Beta
      #
      
      # --- Setting the following two parameters is mandatory. ---
      # Zone Repeater's Infomation
      ZR_CALLSIGN=[Repeater Callsign(モジュールA,B無し)]
      ZR_ADDR=127.0.0.1               #172.16.0.20から変更 xchange のGW_NICへ
      
      # --- Caution! Use the following parameters as they are. ---
      # --- Only when you need any customization,              ---
      # ---        please change the following parameters.     ---
      # Zone Repeater's Infomation
      ZR_PORT=20011
      ZR_SRCPORT=20100
      ZR_ETHIFNAME=lo                 #ローカルループを指定
      
      # DNS Server
      DNS_ADDR=8.8.8.8                #グーグル汎用DNS. 本来はDEFAULT_GWと同じ10.0.x.x
                                      #ですがネットワーク環境が変わっても訂正の必要が有りません。
      
      # GateWay
      GW_ETHIFNAME=eth0               #CentOS7ではenp1s0のような標記に変更になりました。
      DEFAULT_GW=10.0.x.x             #ルータのLAN側アドレスです。
      #GW_LOGINT=300
      #GW_VCPORT=40000
      #GW_VCSRCPORT=40002
      #GW_DTPORT=40001
      GW_ZRPORT=20010
      
      # Kanri Server
      MGSV_ADDR=trust.d-star.info     #ドメインネームで指定
      MGSV_PORT=30001
      MGSV_LOGADDR=trust.d-star.info  #ドメインネームで指定
      MGSV_LOGPORT=30000
      
      # GW connection
      #CON_WAIT_INTERVAL=2
      #CON_REFRESH_INTERVAL=300
      #CON_MAX_GW=50
      
      # LOG Infomation
      LOG_GWREG=1
      LOG_INVOICE=1
      LOG_INDATA=1
      LOG_OUTVOICE=1
      LOG_OUTDATA=1
      LOG_OUTNET=1
      LOG_GWVOICE=1
      LOG_GWDATA=1
      LOG_USERERR=1
      
      # END dsgwd.conf
      
      
      バージョン1.3からの1番目の変更点は MGSV_ADDR の ドメインネーム指定が可能となったことです。 これはJARL管理サーバの多重化に関連して、この FQDN で指定しておけばサーバの一部がトラブルを起こしても別のサーバがそれに取って代われると言う意味を持ちます。

      dsgwdにおけるその他の確認事項

      # nano /etc/rsyslog.conf
      
        GNU nano 2.3.1                      File: /etc/rsyslog.conf
                   :
                   :
      # ### end of the forwarding rule ###
      local0.*                        /var/log/dsgwd.log
      
      ファイルの最終行に一行追加されているかを確認してください。以前はこれを手入力していました。

      次に上記で指定したログファイルが存在するか確認します。
      # ls /var/log/dsgwd.log
      
      もし無ければ、ファイルの存在を確認できないためプログラムが立ち上がりませんので、空ファイルを作ります。
      # touch /var/log/dsgwd.log
      

      起動させてみます。

      # service dsgwd start
      

      # ps -e
              :
              :
       1226 ?        00:00:00 exec-gw-nonstop
       1230 ?        00:00:04 dsgwd
      
      
      上記のように立ち上がれば、一先ず完了です。


    3. xchange.conf の編集

    4. # nano /opt/dstar/conf/xchange.conf
      
        GNU nano 2.3.1                  File: /opt/dstar/conf/xchange.conf
      #
      #       Version V02.00 or later
      #       Satoshi Yasuda
      #       12 Aug. 2018
      #
      CALLSIGN=[Repeater Callsign]                    この2行は不要となりました。
      MODULE_NAME=[Repeater Callsign] [Module A又はB] 記載している場合は削除してください。
      DEBUG=1
      ZR_NIC=eth1             #CentOS7ではenp2s0のような標記に変更されています。
      ZR_ADDR=172.16.0.1      #新しくD-STAR X-change自体がコントローラと会話します。
      ZR_IN_PORT=20000
      ZR_OUT_PORT=20000
      GW_IN_PORT=20011
      GW_OUT_PORT=20010
      GW_NIC=lo               #dsgwd とローカルループで接続されます。
      MON_PORT=21000
      GW_ADDR=127.0.0.1
      HTTP_PORT=8080          #xchange管理用WEBのポートです。変更出来ます。
      UPNP=1                  #上のポートは自動で開けられますが、手動にする時UPNP=0にします
      
      FORWARD=127.0.0.1:50000:dprs          #dprs へのポートです。
      FORWARD=127.0.0.1:50001:dstatus       #dstatus へのポートです。
      FORWARD=127.0.0.1:50002:multi_forward #multi_forward へのポートです。
      FORWARD=127.0.0.1:50003:decho         #エコーサーバ へのポートです。
      
      UPNP=1に依る自動設定をする時はルータのUPnPを有効にしてください。 又、UPNP=0で手動設定する時はルータのHTTP_PORTで指定したポートを開け、ゲートウェイPCまでフォワーディングしてください。

    5. dprs.conf の編集

    6. # nano /opt/dstar/conf/dprs.conf
      
        GNU nano 2.3.1                   File: /opt/dstar/conf/dprs.conf
      #
      #       Version V02.00 or later
      #       Satoshi Yasuda
      #       14 Aug. 2018
      #
      APRS_SERVER=d-prs.d-star.info:14580
      CALLSIGN=[Repeater Callsign]                    この2行は不要となりました。
      MODULE_NAME=[Repeater Callsign] [Module A又はB] 記載している場合は削除してください。
      RADIO_ID=I
      SEND_INTERVAL=60
      AUTO_RELINK=1
      RETRY_COUNT=0
      BEACON_LAT=00.0000      #北緯(小数点表示)
      BEACON_LONG=000.0000    #東経(小数点表示)
      BEACON_COMMENT=D-STAR->APRS
      BEACON_INTERVAL=1200
      DEBUG=1
      MON_PORT=50000         #xchange からデータを貰うポートです。
      ACCEPT_TYPE=MIX         #Accept Type: GW, ZR, MIX
      
      


    7. dstatus.conf の編集

    8. # nano /opt/dstar/conf/dstatus.conf
      
        GNU nano 2.3.1                  File: /opt/dstar/conf/dstatus.conf
      #
      #       Version V00.79 or later
      #       Satoshi Yasuda
      #       10 Oct. 2015
      #
      MON_PORT=50001          #xchange からデータを貰うポートです。
      STATUS=status.d-star.info:21050
      
      
      このアプリケーションの役割は、「dxchangeが稼働しているレピータのアクセス状況(暫定運用)」用のデータ収集です。

    9. multi_forward の編集

    10. # nano /opt/dstar/conf/multi_forward.conf
      
        GNU nano 2.3.1                  File: /opt/dstar/conf/multi_forward.conf
      #
      #   Version V00.79 or later
      #   Satoshi Yasuda
      #   10 Oct. 2015
      #
      DEBUG=1
      FORWARD_PORT=50002        #xchange からデータを貰うポートです。
      MULTI_CONNECT_PORT=51000  #ユーザが接続するポートです。(Hole Punch:ポートフォワード不要)
      # HTTP_PORT=8081          #multi_forward管理用WEBのポートです。xchange用と同じになってはいけません。
      # UPNP=1                  #上記管理用WEBポートを自動で開ける時コメントアウト。手動で開けてもUPNP=0と記載する
      MAX_TIME=0                #dmonitor,ICOM DVリピータモニターで接続した場合の時間制限(sec 0:制限なし 2022.10.12更新)
      MAX_CONNECT=0             #dmonitor,ICOM DVリピータモニターで接続できる局数制限(0:制限なし 2022.10.12更新)
      
      このアプリケーションの役割は、別途リリースされている dmonitor(Raspberry用)とターミナルモードに設定した無線機をUSB接続(DVMEGA, DVAP, NodeAdapterV7は無線接続)し、dmonitorの機能で指定ポート51000へリフレクタのように接続することによって、そのリピータをZONE Repeaterとして山掛け運用や他リピータへのコールサインルーティングを提供する事を目指すものです。(対象となる機能にICOM DVリピータモニターが追加されました 2022.10.12更新)

      参考 dmonitor & 専用Nextionディスプレイ



    ゲートウェイ・サーバの自動起動
    1. 自動起動用ユニットファイルの有効化

    2. 初期状態から有効に設定されていますが、次の確認の結果 disable無効なら、有効化します。
      # systemctl is-enabled [xxx.service]
      

      # systemctl enable xchange.service
      # systemctl enable dprs.service
      # systemctl enable dstatus.service
      # systemctl enable multi_forward
      

      ファイルは /etc/systemd/system に有ります。属性は 755 にする必要は有りません。
      # cd /etc/systemd/system
      # chmod 644 xchange.service dprs.service dstatus.service multi_forward.service
      

    3. 前項までのインストールと準備が完了したら再起動します。

    4. # reboot
      

    5. 前項同様に、自動起動しているか確認をします。

    6. # ps -e
       :
       3691 ?        00:00:04 tuned
       3692 ?        00:01:23 xchange
       3694 ?        00:01:08 dprs
       3695 ?        00:01:06 multi_forward
       3697 ?        00:01:11 dstatus
       3698 ?        00:00:01 rsyslogd
       3711 ?        00:00:00 exec-gw-nonstop
       3716 ?        00:00:19 dsgwd
       3902 ?        00:00:00 httpd
       :
       :
      

    7. dsgwd のログを確認します。

    8. # tail /var/log/dsgwd.log
      
      ファイルの最後(最新)から10行表示します。連続して監視したい時は次のようにします。
      # tail -f -n30 /var/log/dsgwd.log
      
      ファイルの最後から30行を指定して表示、ログが排出される度に追加されます。

      Aug 26 11:08:39 localhost dsgwd[1054]: INFO - STARTUP dstar GW (C) 2004-2017 Icom Inc. Revision 1.4 Beta2
      Aug 26 11:08:39 localhost dsgwd[1054]: DEBUG - GW regist OK. Global IP = 211.333.99.999.
      Aug 26 11:08:40 localhost dsgwd[1054]: DEBUG - [LOG_GWREG]    Execute GW regist. (trust.d-star.info)
      Aug 26 11:08:40 localhost dsgwd[1054]: DEBUG - [LOG_GWREG]    GW regist OK. Global IP = 211.333.99.999.
      

      他にもログが存在します。
      # tail /dstar/log/log2
      

      [root@localhost ~]# tail /dstar/log/log2
      2018-08-08T10:09:13+0900 start
      2018-08-08T10:09:13+0900 end
      
      --- exec-gw-nonstop ---
      
      2018-08-08T10:10:31+0900 start
      
      --- exec-gw-nonstop ---
      
      2018-08-08T10:14:15+0900 start
      


    9. xchange のログを確認します。

    10. # tail /var/log/xchange.log
      Sat Sep  1 20:53:21 2018 D-STAR X-change (xchange) with ID-RP2C & dsgwd V02.01 (Aug 31 2018  20:28:06) Start
                               Linux 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018
      Sat Sep  1 20:53:21 2018 Word Size : 64
      Sat Sep  1 20:53:21 2018 NIC (enp2s0) Zone Repeater Monitor Port 21000 open.
      Sat Sep  1 20:53:21 2018 NIC (lo) Gateway Port in(from dsgwd):20011 out(to dsgwd):20010 open.
      Sat Sep  1 20:53:21 2018 NIC (enp2s0) Zone Repeater Port in(from ID-RP2C):20000 out(to ID-RP2C):20000 open.
      Sat Sep  1 20:53:21 2018 Forward Port 127.0.0.1:50000 open.
      Sat Sep  1 20:53:21 2018 Forward Port 127.0.0.1:50001 open.
      Sat Sep  1 20:53:21 2018 HTTP Port 8080 open.
      
      


    11. dprs のログを確認します。

    12. # tail /var/log/dprs.log
      Sun Aug 26 10:52:38 2018 D-STAR D-PRS (dxchange add on) V02.00 (Aug 22 2018  16:14:30) Start
      Sun Aug 26 10:52:38 2018 Error on config file : ACCEPT_TYPE
      Sun Aug 26 10:52:38 2018 Word Size : 64
      Sun Aug 26 10:52:39 2018 APRS Server Connected
      Sun Aug 26 10:52:39 2018 # logresp JPxYxx-IS verified, server DPRS01
      Sun Aug 26 10:52:39 2018 APRS Server (DPRS01) Verified.
      Sun Aug 26 10:52:39 2018 Beacon Sent
      Sun Aug 26 10:52:59 2018 # aprsc 2.1.4-g408ed49 26 Aug 2018 01:52:59 GMT DPRS01 157.7.138.120:14580
      Sun Aug 26 10:53:19 2018 # aprsc 2.1.4-g408ed49 26 Aug 2018 01:53:19 GMT DPRS01 157.7.138.120:14580
      Sun Aug 26 10:53:39 2018 # aprsc 2.1.4-g408ed49 26 Aug 2018 01:53:39 GMT DPRS01 157.7.138.120:14580
      
      


    13. dstatus のログを確認します。

    14. # tail /var/log/dstatus.log
      Sun Aug 26 11:00:41 2018 D-STAR X-change (xchange) add on status V00.00 (Aug 24 2018  20:57:59) Start
      Sun Aug 26 11:00:41 2018 Status Port jk1zrw.org:21050 open.
      
      


    15. multi_forward のログを確認します。


    16. =MEMO= この機能を利用してリピータに接続、 リピータでの通信がモニターできるアプリケーション(dmonitor)がRaspberry用に実験提供されています。 下記ログでは2件の dmonitor が接続されています。2018.10.11 追記
      Thu Oct 11 16:54:19 2018 D-STAR X-change (xchange) add on status terminated (Up : 1d23h 9m22s)
      
      Thu Oct 11 16:54:19 2018 D-STAR X-change (xchange) add on multi_forward V00.01 (Oct  2 2018  17:54:18) Start
                               Linux 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018
      Thu Oct 11 16:54:19 2018 Word Size : 64
      Fri Aug  3 16:10:22 4436 Monitor Port 51000 open.
      Fri Aug  3 16:10:22 4436 Hole Punch Port 30010 open.
      Thu Oct 11 16:54:20 2018 Connect from 202.171.147.58(63177)
      Thu Oct 11 16:54:20 2018 Connect from 221.118.142.70(19964)
      
      


    17. 自動起動のタイミングを調整する

    18. 標準仕様にて調整済みの方法

      まず xchange.service をネットワークが立ち上がってから起動するようにデフォルト設定されています。
      # nano /etc/systemd/system/xchange.service
      
        GNU nano 2.3.1                  File: /etc/systemd/system/xchange.service
      [Unit]
      Description = xchange daemon
      After = network.target
      
      [Service]
      ExecStart = /usr/bin/xchange
      Restart = always
      Type = simple
      
      [Install]
      WantedBy = multi-user.target
      

      dprs.service、dstatus.service、multi_forward.service についても、dprsの例と同じ様になっています。
      # nano /etc/systemd/system/dprs.service
      
        GNU nano 2.3.1                  File: /etc/systemd/system/dprs.service
      [Unit]
      Description = dprs daemon
      After = xchange.service
      
      [Service]
      ExecStart = /usr/bin/dprs
      Restart = always
      Type = simple
      
      [Install]
      WantedBy = multi-user.target
      

      以下がその結果です。
            :
       4185 ?        00:00:00 NetworkManager
       4207 ?        00:00:00 avahi-daemon
       4213 ?        00:00:00 chronyd
       4508 ?        00:00:00 sshd
       4509 ?        00:00:00 tuned
       4510 ?        00:00:00 xchange
       4511 ?        00:00:00 dprs
       4512 ?        00:00:00 dstatus
       4513 ?        00:00:00 multi_forward
       4518 ?        00:00:00 rsyslogd
       4526 ?        00:00:00 crond
       4527 ?        00:00:00 gdm
       4538 ?        00:00:00 exec-gw-nonstop
       4544 ?        00:00:00 dsgwd
            :
       

      この時仮に、何らかの理由によって multi_forward が立ち上がらないとします。multi_forward.service ファイル内の After指定を After=dprs.service に変更します。 すると、multi_forward が dprs の後に立ち上がったりして調整できます。

      それでも調整できない時、一部を遅延

      サーバーのアップデート等の後リブートすると、サービスの一部が立ち上がってこない場合が有ります。 但しコマンド入力では立ち上がる場合、自動起動のタイミングが適切でないと考えられます。 この様な場合は起動を少し遅らせると正常に自動起動します。 multi_forward を例に説明したいと思います。

      先ず、multi_forward.service を無効にし、After行を削除します。
      # systemctl disable multi_forward.service
      

      次に、同名で遅延ユニットファイルを作成します。(拡張子は .timer になります)
      # nano /etc/systemd/system/multi_forward.timer
      
        GNU nano 2.3.1                  File: /etc/systemd/system/multi_forward.timer
      [Unit]
      Description=multi_forward Start delay timer
      
      [Timer]
      OnBootSec=30sec
      #Unit=multi_forward.service
      
      [Install]
      WantedBy=timers.target
      
      

      ユニットファイルが完成したらタイマーを有効にします。(サービスは無効のままにします。)
      # systemctl enable multi_forward.timer
      # reboot
      

      [Timer]セクションで遅延時間を調整してください。また .service と .timer が同名の場合は Unit=... の記述は不要ですが、名前を変えたい場合は正しく記述してください。



    運用中の簡易管理とアプリケーションの更新
    1. 管理用モニタリングWEB

    2. http://[グローバルアドレス]:8080(ポートはxchangeで設定変更可)をサーバのIPアドレスへポートフォワードすれば見ることが出来ます。

      =MEMO= V02.03より、マニュアルでポートフォワードせずとも、uPnPを有効にしておくことで自動設定出来るようになりました。 事情によりマニュアル設定する場合は、xchange.conf の設定例を参照してください。 (2018/09/21)



    3. アプリケーションの更新

    4. # ls /etc/cron.daily/
      dprs  dstatus  logrotate  man-db.cron  multi_forward  xchange
      

      上記のように一日に一回のペースで自動的にアップデートがチェックされ、レポジトリに更新ファイルが存在すれば更新が実行されます。 WEBでは、リスタートされてカウンターがクリアされ、上部に表示されるバージョンがアップします。(2018.10現在 xchange はV02.04にアップしています。)

      もし、手動でアップデートしたい時は次のようにします。
      # yum update -y xchange dprs dstatus multi_forward
      
      同様に、dsgwd(アイコム社製)のアップデートが有った場合は、自動更新しませんので次のようにします。
      # yum update -y dsgwd-jp
      


    Back




    J E 3 H C Z/XLX047 B

    2018年7月30日月曜日

    D-STARゲートウェイ用CentOS 7のインストール

    Back


     D-STARリピータが普及し始めてすでに10年以上経過し、当初使われていた CentOS 5 はサポート期間が終了し、CentOS 6 へのグレードアップは出来ません。 また、CentOS 6 も2020年までのサポートと一時しのぎとなります。CentOS 6.5 以上には CentOS 7 へのアップグレードツールが存在しますが、正式サポートが64ビット系のみと言うことで、 実質不可能です。
     左図をクリックして戴くと、正式版の CentOS 7 64ビット版以外にも関連グループ(AltArchSIG)から CentOS 7(i386)32ビット版がリリースされています。当然新規にPCを用意される方は64ビット版を使用することになりますが、ゲートウェイソフトの互換性等に付いては、2019年元日の新システム移行以来トラブルは確認されていません。  
    CentOS 7 のISOイメージを準備

    =MEMO= 2020年4月現在 最新バージョンは CentOS 7.7(1908)/ 8.1もリリースされていますが未対応です。
    =MEMO= 2024年2月現在 次期バージョンとして Alma Linux 9 が予定されていますが、現在アプリケーションのインストール環境は有りません。 (2024.2.27 追記)

    1. 上図をクリックしてリンク先から必要なイメージをダウンロードします。

    2. 64ビットが必要な方は1番目の表から、32ビットが必要な方は2番目の表から i386 を選択します。

    3. オーソドックスな方法として DVD に焼きます。


    CentOS 7 のインストール
    1. DVDを初期立ち上げディスクに指定して起動します。

    2. 現在まで使用していたPCを再利用する場合、DVDをスキップしてハードディスクから旧OSが立ち上がってしまう場合があります。その時は BIOS 初期立ち上げメディアの指定を変更するか、メーカーによって違いますが[F12]等のファンクションキーを押してDVDドライブを指定するなど変更してください。

      通常は、ハイライトされている[Test this media & install CentOS ?]を選択しメディアチェックをした上でインストールを開始します。 すでに、メディアに問題がないと自信がある場合は、その上の[Install CentOS ?]をカーソルキーで選んで[Enter]してください。(図はCentOS 7.5の物です。)

    3. 言語を指定します。

    4. インストールに使用する言語を[日本語]に設定すると、キーボードも日本語に設定されます。

      ゲートウェイサーバなので日本語は不要という方はそのまま[English]で進んでください。 その場合、キーボードは日本語にしたいと思った場合は、後ほど設定可能です。

    5. [続行(C)]

    6. インストールの概要を確認する

    7. [インストール先(D)]にエクスクラメーションマーク(びっくりマーク)が付いています。クリックして内容を確認します。 その後、[完了]を押すだけで、エクスクラメーションマークは消え[インストール開始(B)]ボタンがブルーに変わります。

      (右図から下へ3枚の画像)
      もし、パーティションを自分で構成したい時は[パーティションを自分で構成する(I)]を選択しておきます。(構成方法は省きます。)

      この状態で、インストール可能になっていますが、もう少しインストール前に出来るだけのことを設定しておきましょう。


      キーボードの設定(日本語JISか英語ASCIIか)もここで行います。

    8. ソフトウェアの選択(S)

    9. 標準では[最小限のインストール]になっています。通常はこのモードでインストールします。 どうしてもGUIが必要な場合は[サーバー(GUI使用)]等を選んでください。

    10. ネットワークの接続をします。

    11. [ネットワークとホスト名(N)]をクリックすると、LANカードが認識され enp1s0(eth0)と表示されていると思います。 ただし[オフ]になっていますので[オン]に切り替えます。

      ルータがDHCPの設定になっていれば、図のように自動的にIPアドレスを取得します。次のインストール開始へ進んでください。

      =MEMO= ここではゲートウェイ環境のアドレス設定を行いませんがインストール完了後、インターネット側・コントローラ側共にまとめて行います。



    12. インストールを開始します。





    13. インストール中にROOTのパスワードを設定します。


    14. 英大文字・小文字、数字、記号の組み合わせで充分に安全なパスワードを作成してください。

      また、常時ROOT権限でメンテナンスをしたくない場合は、適当な[ユーザーの作成]を行ってください。
    15. インストールが完了したらDVDを抜いて再起動します。

    16. インストールが終了すると、画面右下に[再起動(R)]の青いボタンが表示されます。DVDを抜いて再起動してください。 もし、DVDが取り出せない時は再起動後、DVDからのインストール画面に戻りますので、その時点でDVDを抜くことが出来ます。
      ログインプロンプトが現れたら次のステップに入ります。

    インストール後最初にやっておくこと

    =MEMO= サーバー(GUI使用)の状態でインストールした場合、下記のほとんどの追加コマンドは、すでにインストール済みです。
    1. キーボードの変更を忘れた時

    2. # localectl status
      # localectl list-keymaps | ^us
      # localectl set-keymap jp
      
      上から、状況を見る、usが先頭に着くキーボードリスト(list-keymapsだけならすべて)、日本語キーボードに設定となります。

    3. ゲートウェイ環境に合わせて IPアドレスの設定をします。

    4. 先ず、enp1s0(eth0:インターネット側)の設定をします。x.x や y.y の所を実際の環境に合わせてください。 また、DNS に就いてはルータのLAN側アドレスの他にグーグル汎用DNS である、8.8.8.8 を合わせて設定して置いてください。

      # nmcli con modify enp1s0 ipv4.method manual ipv4.addresses 10.0.x.x/8 ipv4.gateway 10.0.y.y ipv4.dns "10.0.y.y 8.8.8.8"
      # nmcli con down enp1s0 && nmcli con up enp1s0
      # nmcli dev show enp1s0
      

      コネクションを再起動(down & up)して、show で確認します。

      次に、enp2s0(eth1:コントローラ側)の設定をします。gatewayは有りませんので設定しません。

      # nmcli con modify enp2s0 ipv4.method manual ipv4.addresses 172.16.0.20/24 
      # nmcli con down enp2s0 && nmcli con up enp2s0
      # nmcli dev show enp2s0
      

      CentOS 7 では、eth0 => enp1s0、eth1 => enp2s0 になっています。netmaskの指定、/8、/24を忘れないようにします。

      次のように resolv.conf の値を確認しておきます。

      # vi /etc/resolv.conf
      
      サーバー(GUI使用)でインストールした場合 nanoが入っています。
      # nano /etc/resolv.conf
      
        GNU nano 2.3.1               File: /etc/resolv.conf
      # Generated by NetworkManager
      nameserver 10.0.y.y
      nameserver 8.8.8.8
      search localdomain
      


      これらの設定は、TUI(簡易グラフィックモード)でも設定出来ます。

      # nmtui
      




    5. Raspberryで nano に慣れすぎた方には

    6. # yum install -y nano
      


    7. IPv6は要らないという方には、次のように最下部に追加します。

    8. # nano /etc/sysctl.conf
      
        GNU nano 2.3.1               File: /etc/sysctl.conf
      # Disable IPv6
      net.ipv6.conf.all.disable_ipv6 = 1
      net.ipv6.conf.default.disable_ipv6 = 1
      


    9. SELinux を無効化するため次のように2行コメントアウトして、最下部へ追加します。

    10. # nano /etc/selinux/config
      
        GNU nano 2.3.1              File: /etc/selinux/config 
      # SELINUX=enforcing
      # SELINUXTYPE=targeted
      
      # Disable SELinux
      SELINUX=disabled
      


    11. ファイアウォールを無効化します。

    12. # systemctl disable firewalld
      


    13. 時刻の自動更新をさせる

    14. # yum install chrony
      # reboot
      # date
      

    15. 日付時刻をJSTに変更する

    16. # timedatectl list-timezones
      Africa/Abidjan
      Africa/Accra
      Africa/Addis_Ababa
         :
      Asia/Tokyo
         :
      Pacific/Tongatapu
      Pacific/Wake
      Pacific/Wallis
      
      # timedatectl set-timezone Asia/Tokyo
      

    17. ifconfigやnslookupなどネットワーク関連のコマンドをインストールします

    18. # yum install -y net-tools bind-utils
      


    19. SSHのポートを変更します。

    20. 標準でSSH ポート22 が開いていますが、Wellknownポートなので変更します。
      # nano /etc/ssh/sshd_config
      
        GNU nano 2.3.1              File: /etc/ssh/sshd_config
      #Port 22
      Port 22222
      
      ポート22222は一例です。

    21. OSのアップデートを実行します。

    22. # yum update -y
      


    23. ノートPCを使用する場合、次の設定をお勧めします。

    24. # nano /etc/systemd/logind.conf
      
        GNU nano 2.3.1               File: /etc/systemd/logind.conf
      #HandlePowerKey=poweroff
      #HandleSuspendKey=suspend
      #HandleHibernateKey=hibernate
      #HandleLidSwitch=suspend
        ↓
      HandlePowerKey=ignore
      HandleSuspendKey=ignore
      HandleHibernateKey=ignore
      HandleLidSwitch=ignore   # 必須:ノートを閉じてもそのまま動く
      


    25. 最終的に、再起動して全ての変更を反映させます。

    26. # reboot
      

    ここまで、OSのインストールに関して記しましたが、次はいよいよゲートウェイソフトウェアのインストールです。

    Back


    73
    J E 3 H C Z/XLX047 B