家庭物联网系统设计之以太网通信

·  阅读 49

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情

 家庭物联网系统设计之以太网通信

1 设计目的

实现家庭物联网的以太网通信,家庭物联网网关设计。

2  方案设计与论证

本方案设计首先在花生壳网站申请域名,下载花生壳软件客户端并运行该软件使之在线才能得以激活域名。其次配置家庭路由器,将域名绑定在家庭路由器上。这样本系统的Android应用程序可以解析域名来得到家庭路由器IP,再通过套接字实现将消息发送到目标网关。总而言之,该数据通信链路应用Ethernet+TCP/IP方式,使得Android应用程序能够将消息通过以太网传送到家庭路由器。

对于家庭物联网的控制终端可通过WiFi模块作为中转,WiFi模块作为服务器,无线路由器作为客户端,家庭路由器将其接收到的消息发送给WiFi模块,WiFi模块再将消息通过UART发送给微控制器。

3  网络模块的设计与架构

3.1  网络模块工作原理

3.1.1  端口号规划

A   家庭路由器(TCP服务器)的外部端口8899开放,供手机(TCP客户端)连接

B   WiFi模块(TCP服务器)的端口8899开放,供路由器(TCP客户端)连接

3.1.2  家庭路由器绑定域名

A   wu919202662.eicp.net

3.1.3  IP地址规划

A   家庭路由器外部出口:动态IP

B   家庭路由器内部网关:192.168.1.1

C   USR-WIFI232-B模块:192.168.1.160

3.1.4  串口参数

A   与家庭物联网的控制终端的串口参数一致

3.1.5  总结

家庭路由器与固定域名wu919202662.eicp.net绑定,Android应用程序能够解析绑定在连接在互联网上的家庭路由器的域名,得到其IP地址。把家庭路由器作为TCP服务端,Android应用程序作为TCP客户端。通过家庭路由器开放的外部端口号8899,Android应用程序通过互联网与家庭路由器建立TCP连接,然后向家庭路由器发送消息。家庭路由器的内网网关(ip地址:192.168.1.1)与usr-wifi232-b模块(ip地址:192.168.1.160)开放的端口号8899也建立TCP连接,此时,家庭路由器为TCP客户端,usr-wifi232-b模块为TCP服务端。家庭路由器将Android应用程序发过来的数据,按照虚拟服务器的转发规则,将消息转发给usr-wifi232-b模块。usr-wifi232-b模块将消息通过串口发送给家庭物联网的控制终端。

3.2  外网路由转发模块

3.2.1  域名申请

A   在花生壳官网(hsk.oray.com/)注册帐号并申请免费域…

B   下载花生壳动态域名客户端软件

C    测试

3.2.2  家庭路由器设置

3.2.2.1    域名绑定

A   绑定域名时,花生壳动态域名客户端要在线,才可激活域名。

3.2.2.2    转发规则

A   外部端口号与Android应用程序的端口号一致。

B   内部端口号与usr-wifi232-b模块内部设置端口号一致。

C   转发地址为usr-wifi232-b模块的地址(192.168.1.160)

3.2.3外网及路由器转发功能测试

****

将PC机(注意:关闭防火墙!)连入家庭路由器(模拟usr-wifi232-B模块),配置静态IP为192.168.1.160。将PC设为TCP内网服务器,Android应用程序作为TCP外网的客户端。Android应用程序通过解析域名wu919202662.eicp.net获取动态IP,并给家庭路由器(外网服务器)发送消息,家庭路由器(内网客户端)转发给PC机。

3.3  内网WiFi接收模块

3.3.1  模式选择

令usr-wifi232-b处于station模式。

3.3.2  无线终端设置

A、点击“搜索”,即可看到所有可供连接的无线信号的信息。选取所要连接的ssid并应用。

B、输入家庭路由器密码。

3.3.3  串口及其它设置

A、设置串口参数与家庭物联网的控制终端的串口参数一致。

B、设置usr-wifi232-b为TCP的服务器端,端口号与家庭路由器的内部端口一致。

3.3.4  重启完成配置

****

3.3.5  usr-wifi232-b内网测试

****

将自己PC(注意:关闭防火墙!)连接到家庭路由器,此时PC与WiFi模块处于同一无线局域网内。将自己PC作为TCP客户端,WiFi模块作为TCP服务器,WiFi模块通过串口连接到PC机。利用usr-tcp232-test串口转网络调试助手,PC机通过无线局域网发送数据给WiFi模块,WiFi模块再通过串口传数据给PC机,在串口数据接收端显示。

3.4  内外网通信测试

将PC机模拟成家庭物联网的控制终端,利用usr-tcp232-test串口转网络调试助手接收手机发送过来的数据。

分类:
人工智能
标签:
收藏成功!
已添加到「」, 点击更改