last update: 2025/01
Demo Sample Application Folder:
Application └ _Exclude ├ IP ..... TCP/IPネットワーク通信機能のデモサンプル Windows .............. テスト用PCツール ├ IP ............... TCP/IPサンプルの動作確認用テストツール
Sample | 説明 |
---|---|
IP_ACD_Start | ACD(Address Collision Detection)機能の動作を確認します |
IP_AUTOIP_Start | AutoIPプロトコールを使用してIPアドレスの自動設定を確認します |
IP_DHCPServer | DHCPサーバー機能の実装方法を示すデモサンプル |
IP_DNSClient | ネットワークホスト名を IP アドレスに解決する方法を示します |
IP_MDNS_ServerSample | mDNSサーバー機能の実装方法を示すデモサンプル |
IP_NETBIOS_Start | NETBIOS Nameサービスクライアント機能を確認します |
IP_NonBlockingConnect | TCPソケットをノンブロッキングモードで実装します |
IP_NTPClient | NTPクライアント機能の実装方法を示すデモサンプル |
IP_Ping | ネットワークPINGテストでICMPプロトコールの動作を確認します |
IP_SendMail | SMTPクライアント機能の実装方法を示すデモサンプル |
IP_SHELL_Start | TELNETサーバー(emNet Shellコンソール)を実装します |
IP_SimpleServer | 簡単なTELNETサーバーを実装します |
IP_SNMP_AGENT_Start | SNMPエージェントの実装方法を示すデモサンプル |
IP_SNTPClient | SNTPクライアント機能を使用してNTPサーバーからタイムスタンプを取得します |
IP_SpeedClient_TCP | TCPデータパケットの送受信速度パフォーマンスを確認できるサンプルプログラム |
IP_Start | emNet TCP/IPスタックの基本的なスタートアップ手順を示すサンプル |
IP_TCP_TasklessServer | 専用タスク無しで簡単なTELNETサーバー機能を実装します |
IP_UDPDiscover | UDPポート経由でターゲットデバイスの情報を確認します |
IP_VLAN_Start | VLANインターフェースを実装します |
IP_TFTPClientSample | TFTPクライアント機能の実装方法を示すデモサンプル |
IP_TFTPServerSample | TFTPサーバー機能の実装方法を示すデモサンプル |
IP_WebserverSample | HTTPサーバーを実装したデモサンプル |
Sample | 説明 |
---|---|
IP_COAP_ClientSample | CoAPクライアントの実装方法を示すデモサンプル |
IP_COAP_ServerSample | CoAPサーバーの実装方法を示すデモサンプル |
Sample | 説明 |
---|---|
IP_MQTT_CLIENT_Publisher | MQTT クライアントパブリッシャーの実装方法を示すデモサンプル |
IP_MQTT_CLIENT_PublisherSubscriber_2Tasks | MQTT クライアントサブスクライバとパブリッシャー機能を同時に動かします |
IP_MQTT_CLIENT_Subscriber | MQTT クライアントサブスクライバの実装方法を示すデモサンプル |
Sample | 説明 |
---|---|
IP_WEBSOCKET_printf_Client | サーバーにタイムスタンプメッセージを発行する簡単なWEBSOCKETクライアントターミナル |
IP_WEBSOCKET_printf_Server | クライアントからタイムスタンプメッセージを受信する簡単なWEBSOCKETサーバートターミナル |
Sample | 説明 |
---|---|
IP_FTPClientSample | FTPクライアントのデモサンプル |
IP_FTPServerSample | FTPサーバーのデモサンプル |
BSP |- BSP_IP.c ..................... LANドライバのボード依存の初期化設定ファイル | |- Setup |- IP_Config_RX65N_ETH.c .... LANドライバインターフェース設定ファイル |- IP_FS_emFile.c ........... ファイルシステムインターフェース設定ファイル |- IP_SNMP_AGENT_MIB2_INTERFACES_emNet.c .... SNMP Agentインターフェース設定ファイル Config |- IP_Conf.h ............... emNet IPコンフィグレーション設定ファイル |- IP_COAP_Conf.h .......... emNet CoAPコンフィグレーション設定ファイル |- IP_MQTT_CLIENT_Conf.h ... emNet MQTTコンフィグレーション設定ファイル |- FTPC_Conf.h ............. emNet FTPcコンフィグレーション設定ファイル |- SMTPC_Conf.h ............ emNet SMTP Clientコンフィグレーション設定ファイル |- IP_FTP_SERVER_Conf.h .... emNet FTP Serverコンフィグレーション設定ファイル |- IP_SNMP_AGENT_Conf.h .... emNet SNMP Agentコンフィグレーション設定ファイル | |- IO | |- IP_ConfigIO.c ....... デバッグコンソールIOインターフェース設定ファイル | |- OS | |- lib_embOSLayer_RXv2_L.lib ....... OSインターフェース設定ファイル | |- SYS .................... SYS インターフェース設定(ソース・ヘッダ)
Config └ Webserver ├ Webserver_DynContent_2018.c ....... WEBサーバーデモサンプル用コンテンツ
Windows └ IP ├ COAP_Client .......... CoAPクライアントのEXEプログラム ├ COAP_Server .......... CoAPサーバーのEXEプログラム ├ FTPserver .......... FTPサーバーのEXEプログラム ├ SpeedTestServer ...... TCP速度パフォーマンスチェック用EXEプログラム ├ Webserver ├ SDCard ........... WEBサーバーのデモ用データコンテンツ(HTML、CSS、JSファイル)
マクロ名 | 説明 |
---|---|
ALLOC_SIZE | emNetスタック用メモリプールのサイズ(単位:Byte) |
TARGET_NAME | DHCPクライアントのターゲット名(設定値:"AP-RX65N-0A") |
HW_ADDR | Ethernet MACアドレス |
USE_DHCP | 1:DHCPモードでIPアドレスを自動取得します。 0:マニュアルモード設定、固定IPアドレスを使用します。 |
IP_ADDR | マニュアルモード(DHCP=0)のIPアドレス設定 |
SUBNET_MASK | マニュアルモード(DHCP=0)のサブネットマスクのアドレス設定 |
GW_ADDR | マニュアルモード(DHCP=0)のゲートウエイIPアドレス設定 |
DNS_ADDR | マニュアルモード(DHCP=0)のDNSサーバーのIPアドレス設定 |
マクロ名 | 説明 |
---|---|
ETH_INT_PRIORITY | LANドライバの割り込み優先度(設定値:3) |
プロジェクト設定では「\Application\_Exclude\IP」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
評価ボードのLANポートをテスト用パソコンに接続して、TCP/IPネットワーク通信が正常にできることを確認してください。
ネットワーク環境に合わせて評価ボード側のemNetスタックのコンフィグレーション設定を編集してください。
File: BSP\Setup\IP_Config_RX65N_ETH.c
#define USE_DHCP 1 // Use DHCP client or static IP configuration. // // The following parameters are only used when the DHCP client is not active. // #define IP_ADDR IP_BYTES2ADDR(192, 168, 11, 252) #define SUBNET_MASK IP_BYTES2ADDR(255, 255, 255, 0) #define GW_ADDR IP_BYTES2ADDR(192, 168, 11, 1) #define DNS_ADDR IP_BYTES2ADDR(192, 168, 11, 1)
各テストアプリケーションの動作確認方法はテストサンプルアプリケーションのヘッダのコメント情報を参照ください。テストサーバーのIPアドレスなどコンフィグレーション設定を編集して動作確認を行います。
「IP_Ping.c」ファイルにPINGテストサーバーのIPアドレスを設定します。
#define HOST_TO_PING IP_BYTES2ADDR(192, 168, 1, 4) // IP addr. of host
Debug IO Console:
SEGGER Software Evaluation Sample Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz) RTOS: SEGGER embOS ------------------------------------------------ 0:111 MainTask - INIT: emNet init started. Version 3.52.0 0:112 MainTask - ********************************************************************* 0:113 MainTask - * emNet Configuration * 0:114 MainTask - ********************************************************************* 0:115 MainTask - * IP_DEBUG: 2 0:116 MainTask - * Memory added: 49144 bytes 0:117 MainTask - * Buffer configuration: 0:118 MainTask - * 12 buffers of 256 bytes 0:118 MainTask - * 20 buffers of 1516 bytes 0:119 MainTask - * TCP Tx/Rx window size per socket: 11680/8760 bytes 0:120 MainTask - * Number of interfaces added: 1 0:121 MainTask - * Interface #0 configuration: 0:122 MainTask - * Type: ETH 0:122 MainTask - * MTU: 1500 0:123 MainTask - * HW addr.: 00:0C:7B:47:03:BE 0:124 MainTask - ********************************************************************* 0:125 MainTask - INIT: Link is down 0:125 MainTask - DRIVER: Found PHY with Id 0x7 at addr 0x0 0:131 MainTask - INIT: Init completed 0:132 IP_Task - INIT: IP_Task started 2:112 IP_Task - LINK: Link state changed: Full duplex, 100MHz 2:113 IP_Task - DHCPc: Sending discover! 2:412 IP_Task - NDP: Link-local IPv6 addr.: FE80:0000:0000:0000:020C:7BFF:FE47:03BE added to IFace: 0 2:417 IP_Task - NDP: IPv6 addr.: 2400:4050:A0E0:1F00:020C:7BFF:FE47:03BE added to IFace: 0 3:358 IP_Task - DHCPc: IFace 0: Offer: IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:112 IP_Task - DHCPc: IP addr. checked, no conflicts 4:113 IP_Task - DHCPc: Sending Request. 4:132 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:333 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:533 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:698 IP_Task - ICMP echo reply received! 4:699 IP_Task - ICMP echo reply received! 4:733 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:735 IP_Task - ICMP echo reply received! 4:933 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:000 IP_Task - ICMP echo reply received! 5:133 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:136 IP_Task - ICMP echo reply received! 5:333 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:335 IP_Task - ICMP echo reply received! 5:533 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:616 IP_Task - ICMP echo reply received! 5:733 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:819 IP_Task - ICMP echo reply received!
パソコンからTeraTermなどのTELNETクライエントプログラムからターゲットボードにアクセスします。コンソールから文字入力するとシステムタイムが表示されます。
Debug IO Console:
4:012 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 93:686 Telnet server - New IPv4 client accepted. 98:771 Telnet server - recv() timeout after 5 seconds of inactivity! 98:772 Telnet server - Disconnecting client. 128:224 Telnet server - New IPv4 client accepted. 133:350 Telnet server - recv() timeout after 5 seconds of inactivity! 133:351 Telnet server - Disconnecting client.
「segger.com」のIPアドレスを取得します。
File:IP_DNSClient.c
#define HOST_NAME "segger.com"
Debug IO Console:
4:013 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 5:280 DNSClient - IP addr. 195.122.144.65 resolved from host name "segger.com". 6:281 DNSClient - IP addr. 195.122.144.65 resolved from host name "segger.com". 7:282 DNSClient - IP addr. 195.122.144.65 resolved from host name "segger.com".
NTPサーバーから日付時刻情報を取得します。
File:IP_SNTPClient.c
#define NTP_SERVER "us.pool.ntp.org"
Debug IO Console:
4:018 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:026 SNTPClient - Requesting time stamp from us.pool.ntp.org: 5:481 SNTPClient - Timestamp received: 3946421633 seconds passed since January 1st 1900.
NTPサーバーから日付時刻情報(UTC)を取得します。
Debug IO Console:
4:012 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 9:026 NTPClient - --- UTC time: 2025.01.21 04:15:40 --- 14:026 NTPClient - --- UTC time: 2025.01.21 04:15:45 --- 19:026 NTPClient - --- UTC time: 2025.01.21 04:15:50 --- 24:027 NTPClient - --- UTC time: 2025.01.21 04:15:55 --- 29:027 NTPClient - --- UTC time: 2025.01.21 04:16:00 --- 34:028 NTPClient - --- UTC time: 2025.01.21 04:16:05 --- 39:029 NTPClient - --- UTC time: 2025.01.21 04:16:10 ---
パソコン側に「SpeedTestServer.exe」サーバープログラムを起動して評価ボードのTCP速度パフォーマンスを確認します。
LAN HUB: NETGEAR 100Mbps
File: IP_SpeedClient_TCP.c (サーバーIPアドレス設定)
#define SERVER_IP_ADDR IP_BYTES2ADDR(192, 168, 1, 4)
Debug IO Console:
4:004 IP_Task - DHCPc: Sending Request. 4:013 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:403 Client - 4194304 Bytes received (without headers) in 377 ms. 4:404 Client - 4659730 Bytes received (with headers) in 377 ms. 4:405 Client - Average transfer speed (without headers): 11125000 Bytes/s 4:406 Client - Average transfer speed (with headers): 12360000 Bytes/s 4:820 Client - 4194304 Bytes sent (without headers) in 411 ms. 4:821 Client - 4659730 Bytes sent (with headers) in 411 ms. 4:822 Client - Average transfer speed (without headers): 10205000 Bytes/s 4:823 Client - Average transfer speed (with headers): 11337000 Bytes/s 5:241 Client - 4194304 Bytes received (without headers) in 367 ms. 5:242 Client - 4659406 Bytes received (with headers) in 367 ms. 5:243 Client - Average transfer speed (without headers): 11428000 Bytes/s 5:244 Client - Average transfer speed (with headers): 12695000 Bytes/s 5:657 Client - 4194304 Bytes sent (without headers) in 411 ms. 5:658 Client - 4659730 Bytes sent (with headers) in 411 ms. 5:659 Client - Average transfer speed (without headers): 10205000 Bytes/s 5:660 Client - Average transfer speed (with headers): 11337000 Bytes/s
「test.mosquitto.org」MQTTブローカーに接続してテストを行います。
File:IP_MQTT_CLIENT_Publisher.c
#define MQTT_BROKER_ADDR "test.mosquitto.org" #define MQTT_BROKER_PORT 1883 #define TOPIC_PUBLISH_QOS IP_MQTT_CLIENT_FLAGS_PUBLISH_QOS2 #define MQTT_CLIENT_NAME "eMQTT_Pub" #define TOPIC_FILTER_TO_PUBLISH "eMQTT" #define PAYLOAD "www.SEGGER.com MQTT_HelloWorld_Sample"
Debug IO Console:
4:023 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:843 MainTask - APP: Connected to 5.196.78.28, port 1883. 5:607 MainTask - APP: -------- 5:608 MainTask - APP: Message No. 1: 5:608 MainTask - APP: Topic : "eMQTT" 5:609 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 7:129 MainTask - APP: -------- 7:130 MainTask - APP: Message No. 2: 7:130 MainTask - APP: Topic : "eMQTT" 7:131 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 8:627 MainTask - APP: -------- 8:627 MainTask - APP: Message No. 3: 8:628 MainTask - APP: Topic : "eMQTT" 8:628 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 10:127 MainTask - APP: -------- 10:127 MainTask - APP: Message No. 4: 10:128 MainTask - APP: Topic : "eMQTT" 10:129 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 11:629 MainTask - APP: -------- 11:630 MainTask - APP: Message No. 5: 11:630 MainTask - APP: Topic : "eMQTT" 11:631 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample"
「test.mosquitto.org」MQTTブローカーに接続してテストを行います。
File:IP_MQTT_CLIENT_Subscriber.c
#define MQTT_BROKER_ADDR "test.mosquitto.org" #define MQTT_BROKER_PORT 1883 #define TOPIC_SUBSCRIBE_QOS IP_MQTT_CLIENT_FLAGS_PUBLISH_QOS1 #define MQTT_CLIENT_NAME "eMQTT_Sub" #define TOPIC_FILTER_TO_SUBSCRIBE "eMQTT"
Debug IO Console:
4:012 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 6:313 MainTask - APP: Connected to 5.196.78.28, port 1883. 6:570 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 6:571 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 6:824 MainTask - APP: Message (Type: SUBACK, Id: 6572) received. Reason Code: IP_MQTT_REASON_SUCCESS. 6:825 MainTask - APP: ---- 98:251 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 98:252 MainTask - _Disconnect: closing socket 1 98:253 MainTask - APP: Done. 108:506 MainTask - APP: Connected to 5.196.78.28, port 1883. 108:755 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 108:756 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 109:013 MainTask - APP: Message (Type: SUBACK, Id: 43221) received. Reason Code: IP_MQTT_REASON_SUCCESS. 109:014 MainTask - APP: ---- 199:396 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 199:397 MainTask - _Disconnect: closing socket 2 199:398 MainTask - APP: Done. 209:884 MainTask - APP: Connected to 5.196.78.28, port 1883. 210:136 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 210:137 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 210:386 MainTask - APP: Message (Type: SUBACK, Id: 13530) received. Reason Code: IP_MQTT_REASON_SUCCESS. 210:387 MainTask - APP: ---- 301:374 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 301:375 MainTask - _Disconnect: closing socket 3 301:376 MainTask - APP: Done. 311:628 MainTask - APP: Connected to 5.196.78.28, port 1883. 311:887 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 311:888 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 312:154 MainTask - APP: Message (Type: SUBACK, Id: 49745) received. Reason Code: IP_MQTT_REASON_SUCCESS. 312:155 MainTask - APP: ----
サーバーPC側に「COAP_Server.exe」プログラムを実行して、ターゲット側のプログラムを起動します。
File: IP_COAP_ClientSample.c (サーバーのIPアドレス設定)
#define COAP_PORT IP_COAP_DEFAULT_PORT #define COAP_SERVER "192.168.1.4"
Debug IO Console:
4:012 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:026 MainTask - Test 0: Sending PING 4:028 MainTask - Test 0: Success! 4:028 MainTask - Test 1: Sending Discover 4:047 MainTask - /obs: Simple observable data. /test: test entry /separate: simple variable with GET with LATE reply /BlockTransfer/ObsData: Observable data block. /ObsSensor: 4:048 MainTask - Test 1: Success! 4:050 MainTask - Test 2: Sending GET separate 4:560 MainTask - 00:00:00 4:560 MainTask - Test 2: Success! 4:561 MainTask - Test 3: Sending NON GET block of 16 bytes 4:562 MainTask - Test data 4:563 MainTask - Test 3: Success! 4:563 MainTask - Test 4: PUT test 4:565 MainTask - Test 4: Success! 4:565 MainTask - Test 5: PUT that should fail 4:566 MainTask - received error: 4.05 4:567 MainTask - Test 5: Success! 4:568 MainTask - Test 6: DELETE test 4:569 MainTask - Test 6: Success! 4:569 MainTask - Test 7: POST test 4:571 MainTask - Test 7: Success! 4:572 MainTask - Test 8: Observe 4:574 MainTask - Obs data 4:574 MainTask - GET 1 from Observe completed 14:742 MainTask - Obs data 14:742 MainTask - GET 2 from Observe completed 24:898 MainTask - Obs data 24:898 MainTask - GET 3 from Observe completed 35:009 MainTask - Obs data 35:010 MainTask - GET 4 from Observe completed 45:186 MainTask - Obs data 45:186 MainTask - GET 5 from Observe completed 45:187 MainTask - Test 8: Success!
ターゲット側にCoAPサーバーを実行して、CoApクライエントから接続して操作を確認します。
Debug IO Console:
4:012 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 404:765 MainTask - Getting with LATE reply. 404:767 MainTask - Getting with LATE reply. 404:768 MainTask - Getting Test. 404:769 MainTask - Putting Test. 404:770 MainTask - Putting Test. 404:771 MainTask - Deleting Test. 404:772 MainTask - Putting Test. 404:773 MainTask - Putting Test. 404:774 MainTask - Getting Observer. 414:774 MainTask - Getting Observer. 424:775 MainTask - Getting Observer. 434:776 MainTask - Getting Observer. 444:777 MainTask - Getting Observer. 444:778 MainTask - Getting Observer.
File: IP_WEBSOCKET_printf_Client.c (サーバーIPアドレス設定)
// // WebSocket sample configuration. // #define SERVER_HOST "192.168.1.14" // Host to connect to.
Debug IO Console:
4:016 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:024 WebSocketClient - APP: Connected to 192.168.1.14:8181. 4:026 WebSocketClient - WebSocket successfully opened.
ターゲット側に「IP_WEBSOCKET_printf_Server」プログラムを実行して、別のターゲットから「IP_WEBSOCKET_printf_Client」プログラムを動かしてサーバー機能を確認します。
Debug IO Console:
4:013 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 12:819 WebSocketServer - WebSocket client connected. 13:819 WebSocketServer - Client: OS time: 6025 15:012 WebSocketServer - Client: OS time: 7218 16:203 WebSocketServer - Client: OS time: 8409 17:392 WebSocketServer - Client: OS time: 9599 18:582 WebSocketServer - Client: OS time: 10789 19:772 WebSocketServer - Client: OS time: 11979 20:963 WebSocketServer - Client: OS time: 13170
評価ボードにSDカードを差し込んで、「IP_FTPServerSample」プログラムを実行します。テストPCからFTPクライエントプログラム(WindowsプロンプトからFTPコマンドなど)各FTPコマンド・機能を確認します。
Windows PCコマンドコンソール:
C:\Shared>ftp 192.168.1.11 192.168.1.11 に接続しました。 220 Welcome to emFTP server 530 Not logged in. ユーザー (192.168.1.11:(none)): Admin 331 Password required. パスワード: 230 User logged in, proceed. ftp> put MyData.hex 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 4833045 バイトが送信されました 1.95秒 2477.21KB/秒。 ftp> put TestFile.bin 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 122880 バイトが送信されました 0.05秒 2560.00KB/秒。 ftp> ls 200 Command okay. 150 File status okay; about to open data connection. MyData.hex TestFile.bin 226 Closing data connection. Requested file action successful. ftp: 29 バイトが受信されました 0.05秒 0.62KB/秒。 ftp> dir 200 Command okay. 150 File status okay; about to open data connection. -rw-r--r-- 1 root root 4833045 Sep 10 2024 MyData.hex -rw-r--r-- 1 root root 122880 Sep 10 2024 TestFile.bin 226 Closing data connection. Requested file action successful. ftp: 120 バイトが受信されました 0.04秒 2.79KB/秒。 ftp> get MyData.hex newdat.hex 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 4833045 バイトが受信されました 1.84秒 2619.54KB/秒。 ftp> mkdir test1 257 "/test1" Directory successfully created. ftp> cd test1 250 Directory changed to /test1/ ftp> put newdat.hex 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 4833045 バイトが送信されました 2.33秒 2076.05KB/秒。 ftp> dir 200 Command okay. 150 File status okay; about to open data connection. drw-r--r-- 1 root root 0 Sep 10 2024 . drw-r--r-- 1 root root 0 Sep 10 2024 .. -rw-r--r-- 1 root root 4833045 Sep 10 2024 newdat.hex 226 Closing data connection. Requested file action successful. ftp: 148 バイトが受信されました 0.04秒 3.44KB/秒。 ftp> cd .. 200 CDUP command successful. ftp> dir 200 Command okay. 150 File status okay; about to open data connection. -rw-r--r-- 1 root root 4833045 Sep 10 2024 MyData.hex -rw-r--r-- 1 root root 122880 Sep 10 2024 TestFile.bin drw-r--r-- 1 root root 0 Sep 10 2024 test1 226 Closing data connection. Requested file action successful. ftp: 167 バイトが受信されました 0.04秒 4.17KB/秒。 ftp> quit 221 Goodbye C:\Shared>
サーバーPC側に「C:\ftp」フォルダ下のデータをすべて削除して、「FTPServer.exe」プログラムを実行します。評価ボードにSDカードを差し込んで、「IP_FTPClientSample」プログラムを実行します。デバッグコンソールのFTPクライエントの操作ログを確認します
Debug IO Console:
4:063 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:075 FTP client - APP: Connect to server "Admin@192.168.1.10:21". 4:078 FTP client - APP: Connected to 192.168.1.10, port 21. 4:085 FTP client - APP: Creating directory "Test". 4:087 FTP client - APP: --- Test with old API that needs to CWD into the directory to operate within. 4:088 FTP client - APP: Changing to directory "/Test/". 4:090 FTP client - APP: List directory (before upload): 4:093 FTP client - APP: Connected to 192.168.1.10, port 65055. 4:096 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. 4:097 FTP client - APP: Uploading "Readme.txt". 4:146 FTP client - APP: Connected to 192.168.1.10, port 65056. 4:204 FTP client - APP: List directory (after upload): 4:207 FTP client - APP: Connected to 192.168.1.10, port 65057. 4:209 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. -rw-r--r-- 1 root root 76 Jan 22 2025 Readme.txt 4:210 FTP client - APP: Deleting "Readme.txt". 4:212 FTP client - APP: List directory (after delete): 4:214 FTP client - APP: Connected to 192.168.1.10, port 65058. 4:216 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. 4:217 FTP client - APP: Changing to parent directory. 4:219 FTP client - APP: --- Test with new API using IP_FTPC_CMD_CONFIG that can operate regardless of current directory. 4:220 FTP client - APP: List directory (before upload, old API with path parameter): 4:223 FTP client - APP: Connected to 192.168.1.10, port 65059. 4:227 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. 4:228 FTP client - APP: Uploading "Readme.txt" to "/Test/Test.txt" (new API). 4:234 FTP client - APP: Connected to 192.168.1.10, port 65060. 4:288 FTP client - APP: List directory (after upload, new API): 4:291 FTP client - APP: Connected to 192.168.1.10, port 65061. 4:294 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. -rw-r--r-- 1 root root 76 Jan 22 2025 Test.txt 4:295 FTP client - APP: Deleting "/Test/Test.txt" (new API). 4:298 FTP client - APP: List directory (after delete, new API): 4:301 FTP client - APP: Connected to 192.168.1.10, port 65062. 4:304 FTP client - drw-r--r-- 1 root root 0 Jan 22 2025 . drw-r--r-- 1 root root 0 Jan 22 2025 .. 4:305 FTP client - APP: Delete directory "/Test/" (new API). 4:307 FTP client - APP: Done.
「IP_SNMP_AGENT_Start.c」SNMP Agentプログラムを実行します。
テストサンプルで使用するMIB OID値 → "1.3.6.1.4.1.46410"
OID Path = "iso(1).org(3).dod(6).internet(1).private(4).enterprise(1).ENCODED(46410)"
※ ID「46410」はSEGGERの登録PEN(Private Enterprise Number)です。
File:IP_SNMP_AGENT_Start.c
#define PRIVATE_ENTERPRISE_NUMBER 46410 #define MESSAGE_PORT 161 #define TRAP_INFORM_PORT 162 #define PUBLIC_COMMUNITY_STRING "public" #define PRIVATE_COMMUNITY_STRING "Segger" #define AUTH_PASSWORD "AUTHpass" #define PRIV_PASSWORD "PRIVpass"
SNMP Agentプログラムの動作確認にPC側に「Net-SNMP」ツールセット(V5.5)を使用しています。
「snmpset」コマンドを使用してボードのテストサンプルのLEDの設定を確認します。
snmpset -v2c -c Segger
LED1:ON, LED2:ON, LED2:OFF, LED3:ON, LED5:ON操作のコマンド事例:
C:\usr\bin>snmpset -v2c -c Segger 192.168.1.11 1.3.6.1.4.1.46410.1 i 1 SNMPv2-SMI::enterprises.46410.1 = INTEGER: 1 C:\usr\bin>snmpset -v2c -c Segger 192.168.1.11 1.3.6.1.4.1.46410.2 i 1 SNMPv2-SMI::enterprises.46410.2 = INTEGER: 1 C:\usr\bin>snmpset -v2c -c Segger 192.168.1.11 1.3.6.1.4.1.46410.2 i 0 SNMPv2-SMI::enterprises.46410.2 = INTEGER: 0 C:\usr\bin>snmpset -v2c -c Segger 192.168.1.11 1.3.6.1.4.1.46410.3 i 1 SNMPv2-SMI::enterprises.46410.3 = INTEGER: 1 C:\usr\bin>snmpset -v2c -c Segger 192.168.1.11 1.3.6.1.4.1.46410.5 i 1 SNMPv2-SMI::enterprises.46410.5 = INTEGER: 1
「snmpbulkget」コマンドでボードのテストサンプルのLEDステータスを読み出します。
snmpbulkget -v2c -c public -Cn1 -Cr9
コマンド事例:
C:\usr\bin>snmpbulkget -v2c -c public -Cn1 -Cr9 192.168.1.11 1.3.6.1.4.1.46410 1.3.6.1.4.1.46410.0 SNMPv2-SMI::enterprises.46410.0 = INTEGER: 21 SNMPv2-SMI::enterprises.46410.1 = INTEGER: 1 SNMPv2-SMI::enterprises.46410.2 = INTEGER: 0 SNMPv2-SMI::enterprises.46410.3 = INTEGER: 1 SNMPv2-SMI::enterprises.46410.4 = INTEGER: 0 SNMPv2-SMI::enterprises.46410.5 = INTEGER: 1 SNMPv2-SMI::enterprises.46410.6 = INTEGER: 0 SNMPv2-SMI::enterprises.46410.7 = INTEGER: 0 SNMPv2-SMI::enterprises.46410.8 = INTEGER: 0 SNMPv2-SMI::enterprises.46410.8 = No more variables left in this MIB View (It is past the end of the MIB tree) C:\usr\bin>
PCから「Windows\IP\Webserver\SDCard」フォルダ下のすべてのデータコンテンツ(HTML、CSS、JS、画像データ)をSDカードのルートディレクトリにコピーします。SDカードを評価ボードに差し込んで、「IP_WebserverSample」プログラムを実行します。
Windows └ IP ├ Webserver ├ SDCard ........... WEBサーバーのデモ用データコンテンツ(HTML、CSS、JS)
IDEのログコンソールから評価ボードのネットワークIPアドレスを確認して、テストPCのWEBブラウザから評価ボードのWEBサーバにアクセスします。
http://192.168.1.11/ |
---|
セキュアモードHTTPアクセス
https://192.168.1.11/ |
---|
FAT32 ファイルシステム