4.3.3 动手测试
通过以上代码分析应该对入门示例的运行流程有一个大体的了解,下面再通过动手测试环节加深对上述代码和运行流程的理解。
1.网络参数修改
开始运行代码之前建议根据网络的实际情况修改入门示例中的相关参数,示例代码中与网络有关的参数一共有三项:
IPAddress ip(192, 168, 0, 10);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
通过IPAddress ip(192,168,0,10)指定Arduino的IPv4地址为192.168.0.10,该IPv4地址为一个局域网IPv4地址。在大多情况下PC的IPv4地址均由路由器分配获得,但在入门示例中Arduino使用固定IPv4地址,一定要确认Arduino的IPv4地址处于路由器所指定的网段中;IPAddress gateway(192,168,0,1)指定了路由器的IPv4地址,IPAddress subnet(255,255,255,0)指定子网掩码。如果不清楚本地局域网信息,可在Windows主机中通过控制台输入ipconfig命令查询。
例如,路由器的IP地址为192.168.1.1,子网掩码为255.255.255.0,测试使用Windows主机的IPv4地址为192.168.1.101,可设置Arduino的IPv4地址为192.168.1.108,修改之后的网络参数如下:
IPAddress ip(192, 168, 1, 108);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
完成了网络参数的设置之后,那么便可动手进行测试工作,相比于枯燥的文档说明,调试过程更容易积累CoAP的使用经验。在Arduino中运行示例工程,先把固件下载至Arduino UNO目标板中,操作过程如图4-5所示。
2.连接CoAP服务器
完成固件下载之后先使用ping命令查看Arduino UNO是否可达,若未收到Arduino的响应需检查Arduino相关的网络参数,并及时修改microcoap.ino中的具体设置。本例中Arduino的IP地址为192.168.0.10,固件下载完成之后可顺利ping通Arduino设备,若获得如图4-6所示的相似结果,则说明Arduino UNO和Arduino网络扩展卡工作良好。
图4-5 下载入门示例固件至Arduino目标板中
图4-6 连接CoAP服务器
3.获取hello资源
验证了网络连通性之后可使用Firefox浏览器中的Copper插件获取hello资源,具体操作过程如图4-7所示。
1)打开Firefox浏览器,在地址栏中输入coap://192.168.0.8:5683/hello,按下回车键,浏览器界面出现明显变化。
2)点击工具栏中的GET按钮,通过浏览器向Arduino UNO发送一次CoAP GET请求。
3)点击GET按钮之后便可在负载区域Incoming选项卡中观察到“Hello CoAP!”,此时CoAP响应码为“2.05 Content”。