Milesightルーター(OpenCPUシステム)HTTP APIの使用方法
説明
Milesightルーター(OpenCPUシステムバージョン)で使用可能な関連HTTP APIを以下に示します。ユーザーは下記のステップに従ってAPIを呼び出し、デバイスを直接制御・管理できます。
要件
● Milesightルーター: UR75v3、UF51v2
● Linuxシステム
設定
ステップ1: LinuxシステムへのCurlソフトウェアのインストール
1.
sudo apt install curl
JavaScript
2. インストール結果の確認:
curl -V
HTML
curlソフトウェアが正常にインストールされている場合、後続でソフトウェアバージョンを取得できます。
ステップ2: MilesightルーターのWeb GUIにアクセスし、[Network] > [Firewall] > [Security]に移動し、SSHアクセスサービスを有効にして保存します。
ステップ3: ルーターのログインユーザー名とパスワードを使用してAPIトークンキーを取得します。
以下のcurlコマンドを使用します。IP 『192.168.45.187』をルーターのIPアドレスに変更し、HTTPSリクエストを使用する必要があります。
注: パスワードはAES暗号化値です。AES暗号化設定:
| パラメータ | オプション |
| Encryption cipher mode | CBC |
| Encryption Key Size | 128 bits |
| IV(initial Vector) | 2222222222222222 |
| Secret key | 1111111111111111 |
| Output format | Base64 |
例: Online AES Encryption / Decryption | Anycript
curl -k -c ./cookie.txt -X POST "https://192.168.45.187/cgi-bin/luci" -d "luci_username=admin&luci_password=sI/7ewBCeWunDs6JXXtSHg==" -v
HTML
コマンドが正常に実行された場合、以下のコマンドを使用して cookie.txt ファイル内のトークンを確認できます。
cat cookie.txt
JavaScript
ステップ 4: 必要な UCI コマンドの取得
ブラウザでルーターの Web GUI を開き、キーボードの F12 ボタンをクリックするか、ブラウザの設定から開発者ツールを開きます。
すると、現在の Web ページの UCI コマンドを確認できます。
ステップ5: ルーター向けAPIの呼び出し
UR75v3向けAPIを呼び出す際、リクエストURLに現在のタイムスタンプを含める必要があります。以下の例では、HTTPSリクエスト時に現在のタイムスタンプを含めるためのスクリプトを参考として提供します。
以下のコマンドでUR75v3_HTTP_API.shファイルを作成:
vi UR75v3_HTTP_API.sh
JavaScript
以下のサンプルスクリプトを貼り付け、.shファイルを保存。
#!/bin/bash
# Step 1: Send login request and save cookie
login_url="https://192.168.45.187/cgi-bin/luci?luci_username=admin&luci_password=sI/7ewBCeWunDs6JXXtSHg=="
cookie_file="cookies.txt"
curl -k -c $cookie_file "$login_url"
# Step 2: Extracting sysauth values from cookie files
sysauth=$(grep 'sysauth' $cookie_file | cut -f 7)
if [ -z "$sysauth" ]; then
echo "Failed to retrieve sysauth value from cookies."
exit 1
fi
# Step 3: Replace the params in the JSON body with the extracted sysauth value
json_body=$(cat <<EOF
[
{"jsonrpc":"2.0","id":27,"method":"call","params":["$sysauth","luci","getSystemBoard",{}]},
{"jsonrpc":"2.0","id":27,"method":"call","params":["$sysauth","system","info",{}]},
{"jsonrpc":"2.0","id":28,"method":"call","params":["$sysauth","luci","getSystemBoard",{}]},
{"jsonrpc":"2.0","id":29,"method":"call","params":["$sysauth","system","info",{}]},
{"jsonrpc":"2.0","id":30,"method":"call","params":["$sysauth","luci","getCurrentNetwork",{}]},
{"jsonrpc":"2.0","id":31,"method":"call","params":["$sysauth","luci-rpc","getDHCPLeases",{}]},
{"jsonrpc":"2.0","id":32,"method":"call","params":["$sysauth","luci-rpc","getHostHints",{}]},
{"jsonrpc":"2.0","id":33,"method":"call","params":["$sysauth","luci-rpc","getDSLStatus",{}]},
{"jsonrpc":"2.0","id":34,"method":"call","params":["$sysauth","ups","get_info",{}]}
]
EOF
)
# Step 4: Get the current timestamp and build the URL
currentTimestamp=$(date +%s)
post_url="https://192.168.45.187/cgi-bin/luci/admin/ubus?$currentTimestamp"
# Step 5: Sending a POST request with updated params
curl -k -b $cookie_file -X POST "$post_url" \
-H "Content-Type: application/json" \
-d "$json_body"
HTML
実行すると、以下の結果が表示されます
—以上—
関連記事
ルーターの使用
カスタムタイプのDDNSに接続する際のワイルドカードの使用方法カスタムタイプのDDNSに接続する際のワイルドカードの使用方法について説明します
MilesightルーターでZeroTier VPNを使用する方法ZeroTierは、仮想ネットワークを構築し、ソフトウェア定義ネットワーク(SDN)サービスを提供するソリューションです。
Ubuntuを使用したDMVPNのインストールと設定例DMVPNサーバーのインストール方法、およびMilesightルーターをサーバーに接続する手順を説明します。
ネットワークの常時接続機能を実現する方法Ursalink 産業用セルラールーターは、リンクフェイルオーバー機能によりネットワークをスムーズに稼働させます
MilesightルーターでシリアルDTUトランスペアレントモードを使用する方法Milesight ルーターでシリアル DTU 透過モードを使用する方法について簡単に説明します
Milesight ルーターで Modbus RTU を Modbus TCP に設定する方法最もよく使用されるのは、Modbus RTU(リモートターミナルユニット)、シリアル(RS-232またはRS-485)プロトコル、またはModbus(TCP/IP)伝送制御プロトコルとインターネットプロトコルです。
Milesight ルーターでのModbus マスター機能の使用方法Milesightルーターは、Modbus RTU/TCPマスター(クライアント)として機能し、Modbusスレーブユニットデバイス(サーバー)からデータを要求できます
Python アプリケーションを使用して SNMP サーバーに DI/DO ステータスを書き込む方法Milesight ルーター上の Python アプリケーションを使用して、DI/DO ステータスを SNMP サーバーに書き込む方法について説明します。
Milesight ルーターを GenieACS システムに TR-069 経由で統合する方法TR-069(Technical Report 069)は、正式名称を「CPE WAN Management Protocol」といい、ブロードバンド・フォーラムによって開発された業界標準プロトコルです
Milesightルーターのセルラー周波数帯域選択セルラーネットワークに登録する特定のセルラー周波数帯域を選択する方法について説明します
Milesight UR75&UF51ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
Milesight UR3x&UR41ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
MilesightルーターをOpenVPN CloudConnexaに接続する方法CloudConnexaを例に、MilesightルーターとCPEでOpenVPNクライアントを構成する方法を説明します。
MilesightルーターのMQTTメッセージング機能MQTT クライアントとしてデータをパブリッシュするための MQTT 設定の構成方法、およびルーター情報とデータの取得方法について説明します。
Milesight ルーターで「pip install」を実行する方法Milesight セルラー ルーターには、Python での二次開発用に組み込みコンポーネントが搭載されています。
Milesightルータ間でIPsec VPNを確立する方法Milesight ルーター間で IPsec VPN を設定する方法について説明します。
MilesightルーターでACLを設定する方法アクセス制御リスト(ACL)の設定について詳細に説明します
MilesightルーターでのDIの使い方DI の使用方法と DI ステータスの確認方法について説明します
システム時刻の設定方法とNTPサーバーのセットアップNTP サーバーとの同期を例に、システム時刻の設定方法と、ルーターを NTP サーバーとして使用する方法を説明します。
SMSの送受信と遠隔操作の方法この手順により、電話グループ1のSIM1番号のみがこのルーターを制御するためのメッセージを送信できるようになります。











