last update: 2025/03
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_RX72N_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_RXv3_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-RX72N-0A") |
HW_ADDR | Ethernet MACアドレス BSPサンプルでは評価ボードのEEPROM(メモリアドレス:00~06)からボード個別のMACアドレス(6Byte)を読み出します。 File: BSP_IP.c Function: BSP_EEPROM_Read_MacAddr() |
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ドライバの割り込み優先度(設定値:5) |
プロジェクト設定では「\Application\_Exclude\IP」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
評価ボードのLANポートをテスト用パソコンに接続して、TCP/IPネットワーク通信が正常にできることを確認してください。
ネットワーク環境に合わせて評価ボード側のemNetスタックのコンフィグレーション設定を編集してください。
File: BSP\Setup\IP_Config_RX72N_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, 1, 252) #define SUBNET_MASK IP_BYTES2ADDR(255, 255, 255, 0) #define GW_ADDR IP_BYTES2ADDR(192, 168, 1, 1) #define DNS_ADDR IP_BYTES2ADDR(192, 168, 1, 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-RX72N-0A (RX72N RXv3 @240MHz) RTOS: SEGGER embOS ------------------------------------------------ 0:002 MainTask - INIT: emNet init started. Version 3.52.0 0:025 MainTask - ********************************************************************* 0:026 MainTask - * emNet Configuration * 0:027 MainTask - ********************************************************************* 0:028 MainTask - * IP_DEBUG: 2 0:028 MainTask - * Memory added: 49152 bytes 0:029 MainTask - * Buffer configuration: 0:030 MainTask - * 12 buffers of 256 bytes 0:031 MainTask - * 20 buffers of 1516 bytes 0:032 MainTask - * TCP Tx/Rx window size per socket: 11680/8760 bytes 0:033 MainTask - * Number of interfaces added: 1 0:034 MainTask - * Interface #0 configuration: 0:034 MainTask - * Type: ETH 0:035 MainTask - * MTU: 1500 0:035 MainTask - * HW addr.: 00:0C:7B:4E:02:08 0:036 MainTask - ********************************************************************* 0:037 MainTask - INIT: Link is down 0:038 MainTask - DRIVER: Found PHY with Id 0x7 at addr 0x0 0:043 MainTask - INIT: Init completed 0:044 IP_Task - INIT: IP_Task started 2:025 IP_Task - LINK: Link state changed: Full duplex, 100MHz 2:026 IP_Task - DHCPc: Sending discover! 2:403 IP_Task - NDP: Link-local IPv6 addr.: FE80:0000:0000:0000:020C:7BFF:FE4E:0208 added to IFace: 0 2:438 IP_Task - NDP: IPv6 addr.: 2400:4050:A0E0:1F00:020C:7BFF:FE4E:0208 added to IFace: 0 3:859 IP_Task - DHCPc: IFace 0: Offer: IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:025 IP_Task - DHCPc: IP addr. checked, no conflicts 4:026 IP_Task - DHCPc: Sending Request. 4:035 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:245 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:445 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:645 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:845 MainTask - Sending PING to IP addr. 192.168.1.4 . 4:870 IP_Task - ICMP echo reply received! 4:871 IP_Task - ICMP echo reply received! 5:045 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:066 IP_Task - ICMP echo reply received! 5:245 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:250 IP_Task - ICMP echo reply received! 5:445 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:469 IP_Task - ICMP echo reply received! 5:645 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:674 IP_Task - ICMP echo reply received! 5:845 MainTask - Sending PING to IP addr. 192.168.1.4 . 5:879 IP_Task - ICMP echo reply received! 6:045 MainTask - Sending PING to IP addr. 192.168.1.4 . 6:087 IP_Task - ICMP echo reply received! 6:245 MainTask - Sending PING to IP addr. 192.168.1.4 . 6:296 IP_Task - ICMP echo reply received! 6:445 MainTask - Sending PING to IP addr. 192.168.1.4 . 6:498 IP_Task - ICMP echo reply received!
パソコンからTeraTermなどのTELNETクライエントプログラムからターゲットボードにアクセスします。コンソールから文字入力するとシステムタイムが表示されます。
Debug IO Console:
4:034 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 211:789 Telnet server - New IPv4 client accepted. 216:813 Telnet server - recv() timeout after 5 seconds of inactivity! 216:814 Telnet server - Disconnecting client. 250:985 Telnet server - New IPv4 client accepted. 256:030 Telnet server - recv() timeout after 5 seconds of inactivity! 256:031 Telnet server - Disconnecting client.
「segger.com」のIPアドレスを取得します。
File:IP_DNSClient.c
#define HOST_NAME "segger.com"
Debug IO Console:
4:036 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 5:580 DNSClient - IP addr. 116.203.153.115 resolved from host name "segger.com". 6:581 DNSClient - IP addr. 116.203.153.115 resolved from host name "segger.com". 7:582 DNSClient - IP addr. 116.203.153.115 resolved from host name "segger.com". 8:583 DNSClient - IP addr. 116.203.153.115 resolved from host name "segger.com".
NTPサーバーから日付時刻情報を取得します。
File:IP_SNTPClient.c
#define NTP_SERVER "us.pool.ntp.org"
Debug IO Console:
4:060 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:094 SNTPClient - Requesting time stamp from us.pool.ntp.org: 4:307 SNTPClient - Timestamp received: 3948771791 seconds passed since January 1st 1900.
NTPサーバーから日付時刻情報(UTC)を取得します。
Debug IO Console:
4:034 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 9:053 NTPClient - --- UTC time: 2025.02.17 09:05:10 --- 14:083 NTPClient - --- UTC time: 2025.02.17 09:05:15 --- 19:050 NTPClient - --- UTC time: 2025.02.17 09:05:20 --- 24:052 NTPClient - --- UTC time: 2025.02.17 09:05:25 --- 29:052 NTPClient - --- UTC time: 2025.02.17 09:05:30 --- 34:053 NTPClient - --- UTC time: 2025.02.17 09:05:35 ---
パソコン側に「SpeedTestServer.exe」サーバープログラムを起動して評価ボードのTCP速度パフォーマンスを確認します。
LAN HUB: NETGEAR 100Mbps
File: IP_SpeedClient_TCP.c (サーバーIPアドレス設定)
#define SERVER_IP_ADDR IP_BYTES2ADDR(192, 168, 1, 10)
Debug IO Console:
4:131 IP_Task - DHCPc: Sending Request. 4:139 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:521 Client - 4194304 Bytes received (without headers) in 368 ms. 4:522 Client - 4659730 Bytes received (with headers) in 368 ms. 4:523 Client - Average transfer speed (without headers): 11397000 Bytes/s 4:524 Client - Average transfer speed (with headers): 12662000 Bytes/s 4:947 Client - 4194304 Bytes sent (without headers) in 419 ms. 4:948 Client - 4659730 Bytes sent (with headers) in 419 ms. 4:949 Client - Average transfer speed (without headers): 10010000 Bytes/s 4:950 Client - Average transfer speed (with headers): 11121000 Bytes/s 5:361 Client - 4194304 Bytes received (without headers) in 359 ms. 5:362 Client - 4659730 Bytes received (with headers) in 359 ms. 5:363 Client - Average transfer speed (without headers): 11683000 Bytes/s 5:364 Client - Average transfer speed (with headers): 12979000 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:050 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:577 MainTask - APP: Connected to 5.196.78.28, port 1883. 5:320 MainTask - APP: -------- 5:321 MainTask - APP: Message No. 1: 5:321 MainTask - APP: Topic : "eMQTT" 5:322 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 6:827 MainTask - APP: -------- 6:827 MainTask - APP: Message No. 2: 6:828 MainTask - APP: Topic : "eMQTT" 6:829 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 8:323 MainTask - APP: -------- 8:323 MainTask - APP: Message No. 3: 8:324 MainTask - APP: Topic : "eMQTT" 8:325 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 9:821 MainTask - APP: -------- 9:821 MainTask - APP: Message No. 4: 9:822 MainTask - APP: Topic : "eMQTT" 9:822 MainTask - APP: Payload: "www.SEGGER.com MQTT_HelloWorld_Sample" 11:318 MainTask - APP: -------- 11:318 MainTask - APP: Message No. 5: 11:319 MainTask - APP: Topic : "eMQTT" 11:320 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:026 IP_Task - DHCPc: Sending Request. 4:035 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 6:344 MainTask - APP: Connected to 5.196.78.28, port 1883. 6:604 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 6:605 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 6:855 MainTask - APP: Message (Type: SUBACK, Id: 6606) received. Reason Code: IP_MQTT_REASON_SUCCESS. 6:856 MainTask - APP: ---- 96:980 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 96:981 MainTask - _Disconnect: closing socket 1 96:982 MainTask - APP: Done. 107:230 MainTask - APP: Connected to 5.196.78.28, port 1883. 107:479 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 107:480 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 107:727 MainTask - APP: Message (Type: SUBACK, Id: 41945) received. Reason Code: IP_MQTT_REASON_SUCCESS. 107:728 MainTask - APP: ---- 197:969 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 197:970 MainTask - _Disconnect: closing socket 2 197:971 MainTask - APP: Done. 208:422 MainTask - APP: Connected to 5.196.78.28, port 1883. 208:675 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 208:676 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 208:955 MainTask - APP: Message (Type: SUBACK, Id: 12069) received. Reason Code: IP_MQTT_REASON_SUCCESS. 208:956 MainTask - APP: ---- 298:960 MainTask - IP_MQTT_CLIENT_Exec: Connection gracefully closed by peer. 298:961 MainTask - _Disconnect: closing socket 3 298:962 MainTask - APP: Done. 309:219 MainTask - APP: Connected to 5.196.78.28, port 1883. 309:484 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_TOPIC_ALIAS_MAXIMUM for CONNACK with PacketID 0. 309:485 MainTask - APP: Received Property IP_MQTT_PROP_TYPE_RECEIVE_MAXIMUM for CONNACK with PacketID 0. 309:740 MainTask - APP: Message (Type: SUBACK, Id: 47342) received. Reason Code: IP_MQTT_REASON_SUCCESS. 309:741 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:026 IP_Task - DHCPc: Sending Request. 4:035 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:045 MainTask - Test 0: Sending PING 6:839 MainTask - Test 0: Success! 6:839 MainTask - Test 1: Sending Discover 9:882 MainTask - /obs: Simple observable data. /test: test entry /separate: simple variable with GET with LATE reply /BlockTransfer/ObsData: Observable data block. /ObsSensor: 9:883 MainTask - Test 1: Success! 9:884 MainTask - Test 2: Sending GET separate 10:407 MainTask - 00:00:00 10:408 MainTask - Test 2: Success! 10:408 MainTask - Test 3: Sending NON GET block of 16 bytes 10:411 MainTask - Test data 10:411 MainTask - Test 3: Success! 10:412 MainTask - Test 4: PUT test 10:429 MainTask - Test 4: Success! 10:430 MainTask - Test 5: PUT that should fail 10:437 MainTask - received error: 4.05 10:438 MainTask - Test 5: Success! 10:438 MainTask - Test 6: DELETE test 10:445 MainTask - Test 6: Success! 10:446 MainTask - Test 7: POST test 10:466 MainTask - Test 7: Success! 10:467 MainTask - Test 8: Observe 10:469 MainTask - Obs data 10:470 MainTask - GET 1 from Observe completed 20:682 MainTask - Obs data 20:682 MainTask - GET 2 from Observe completed 30:852 MainTask - Obs data 30:853 MainTask - GET 3 from Observe completed 41:031 MainTask - Obs data 41:031 MainTask - GET 4 from Observe completed 51:203 MainTask - Obs data 51:204 MainTask - GET 5 from Observe completed 51:205 MainTask - Test 8: Success!
ターゲット側にCoAPサーバーを実行して、CoApクライエントから接続して操作を確認します。
Debug IO Console:
4:050 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, 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:035 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:045 WebSocketClient - APP: Connected to 192.168.1.14:8181. 4:046 WebSocketClient - WebSocket successfully opened.
ターゲット側に「IP_WEBSOCKET_printf_Server」プログラムを実行して、別のターゲットから「IP_WEBSOCKET_printf_Client」プログラムを動かしてサーバー機能を確認します。
Debug IO Console:
4:036 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 14:137 WebSocketServer - WebSocket client connected. 15:135 WebSocketServer - Client: OS time: 6025 16:335 WebSocketServer - Client: OS time: 7225 17:525 WebSocketServer - Client: OS time: 8415 18:714 WebSocketServer - Client: OS time: 9605 19:904 WebSocketServer - Client: OS time: 10795 21:094 WebSocketServer - Client: OS time: 11985 22:284 WebSocketServer - Client: OS time: 13175 23:474 WebSocketServer - Client: OS time: 14365
評価ボードにSDカードを差し込んで、「IP_FTPServerSample」プログラムを実行します。テストPCからFTPクライエントプログラム(WindowsプロンプトからFTPコマンドなど)各FTPコマンド・機能を確認します。
Login ユーザー:Admin
パスワード: Secret
Windows PCコマンドコンソール:
C:\Workspace>ftp 192.168.1.18 192.168.1.18 に接続しました。 220 Welcome to emFTP server 530 Not logged in. ユーザー (192.168.1.18:(none)): Admin 331 Password required. パスワード: 230 User logged in, proceed. ftp> put firmware.bin 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 1043488 バイトが送信されました 0.45秒 2303.51KB/秒。 ftp> put test1.hex 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 509710 バイトが送信されました 0.18秒 2785.30KB/秒。 ftp> dir 200 Command okay. 150 File status okay; about to open data connection. -rw-r--r-- 1 root root 1043488 Jan 10 2025 firmware.bin -rw-r--r-- 1 root root 509710 Jan 10 2025 test1.hex 226 Closing data connection. Requested file action successful. ftp: 119 バイトが受信されました 0.04秒 2.70KB/秒。 ftp> mkdir test1 257 "/test1" Directory successfully created. ftp> get firmware.bin newdata.bin 200 Command okay. 150 File status okay; about to open data connection. 226 Closing data connection. Requested file action successful. ftp: 1043488 バイトが受信されました 0.34秒 3114.89KB/秒。 ftp> ls 200 Command okay. 150 File status okay; about to open data connection. firmware.bin test1.hex test1 226 Closing data connection. Requested file action successful. ftp: 35 バイトが受信されました 0.05秒 0.65KB/秒。 ftp> quit 221 Goodbye C:\Workspace>
サーバーPC側に「C:\ftp」フォルダ下のデータをすべて削除して、「FTPServer.exe」プログラムを実行します。評価ボードにSDカードを差し込んで、「IP_FTPClientSample」プログラムを実行します。デバッグコンソールのFTPクライエントの操作ログを確認します
File: IP_FTPClientSample.c (FTPサーバーIPアドレス設定)
#define FTP_HOST "192.168.1.4"
Debug IO Console:
4:074 IP_Task - DHCPc: Sending Request. 4:084 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:094 FTP client - APP: Connect to server "Admin@192.168.1.4:21". 4:209 FTP client - APP: Connected to 192.168.1.4, port 21. 4:227 FTP client - APP: Creating directory "Test". 4:234 FTP client - APP: --- Test with old API that needs to CWD into the directory to operate within. 4:235 FTP client - APP: Changing to directory "/Test/". 4:238 FTP client - APP: List directory (before upload): 4:244 FTP client - APP: Connected to 192.168.1.4, port 61224. 4:255 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. 4:256 FTP client - APP: Uploading "Readme.txt". FS warning: FS_Init: File system already initialized. 4:312 FTP client - APP: Connected to 192.168.1.4, port 61225. 4:376 FTP client - APP: List directory (after upload): 4:381 FTP client - APP: Connected to 192.168.1.4, port 61226. 4:384 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. -rw-r--r-- 1 root root 76 Feb 18 2025 Readme.txt 4:385 FTP client - APP: Deleting "Readme.txt". 4:388 FTP client - APP: List directory (after delete): 4:392 FTP client - APP: Connected to 192.168.1.4, port 61227. 4:402 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. 4:403 FTP client - APP: Changing to parent directory. 4:417 FTP client - APP: --- Test with new API using IP_FTPC_CMD_CONFIG that can operate regardless of current directory. 4:418 FTP client - APP: List directory (before upload, old API with path parameter): 4:424 FTP client - APP: Connected to 192.168.1.4, port 61228. 4:427 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. 4:428 FTP client - APP: Uploading "Readme.txt" to "/Test/Test.txt" (new API). 4:436 FTP client - APP: Connected to 192.168.1.4, port 61229. 4:498 FTP client - APP: List directory (after upload, new API): 4:504 FTP client - APP: Connected to 192.168.1.4, port 61230. 4:508 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. -rw-r--r-- 1 root root 76 Feb 18 2025 Test.txt 4:509 FTP client - APP: Deleting "/Test/Test.txt" (new API). 4:513 FTP client - APP: List directory (after delete, new API): 4:519 FTP client - APP: Connected to 192.168.1.4, port 61231. 4:523 FTP client - drw-r--r-- 1 root root 0 Feb 18 2025 . drw-r--r-- 1 root root 0 Feb 18 2025 .. 4:524 FTP client - APP: Delete directory "/Test/" (new API). 4:529 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 (AgentIP) 1.3.6.1.4.1.46410.1 i 0
LED1:ON, LED2:ON, LED2:OFF, LED3:ON, LED5:ON操作のコマンド事例:
C:\usr\bin>snmpset -v2c -c Segger 192.168.1.18 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.18 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.18 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.18 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.18 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 (AgentIP) 1.3.6.1.4.1.46410 1.3.6.1.4.1.46410.0
コマンド事例:
C:\usr\bin>snmpbulkget -v2c -c public -Cn1 -Cr9 192.168.1.18 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)
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.18/ |
---|
セキュアモードHTTPアクセス
https://192.168.1.18/ |
---|
FAT32 ファイルシステム