首次在树莓派上同时实现SOCKET编程与串口编程

在上次终于实现了RFID与树莓派进行通讯后,今天尝试把从RFID传来的数据通过TCP/IP协议传输到MOXA进而传输到云端。

       由于还没有很好的搞清楚两个MOXA3121与另外一个(忘了。。。)的传递机制,树莓派进行无线传递,为了验证程序的可用性,简化为把笔记本当做云端,用网线连接树莓派的网口与笔记本的网口。

       尽管依然在调试的过程中遇到了困难,但在有了之前调试串口的经验,最终在下午还是基本实现了功能。

       需要注意的是:

      1、进行TCP/IP协议的传输,一定要保证server与client位于同一个网段

      这一点,在最初试用TCP调试助手的时候,居然发现仅仅用网线连接台式机与笔记本的网口都没有实现TCP调试助手的通讯!思考后发现,台式机的ip设为192.168.127.222,而笔记本的ip为192.168.137.1,二者根本不是一个网段。将台式机改为137后,也把两个MOXA的ip改为了192.168.137.252、192.168.137.201。成功实现了最基本的通讯。

      2、client的套接字在设置的时候一定要使用server的ip与端口!!!

     socket编程的server里面,端口需要指明,ip用INADDR_ANY(让server监听所有的ip)。而client需要将server端口的信息与ip的信息与client_socket联系在一起。client的端口由电脑自行指定。

     还需要做的工作:

     1、sleep函数的机制,为什么参数<1时候,过于快?导致树莓派无法合理的发送与接收指令?

     2、真正实现将数据远程传递给MOXA

     3、将程序模块化,增加程序的可读性与简介性

你可能感兴趣的:(linux)