RT1052+OneNet物联网连接三

前几天一直在弄LWIP的TCP客户端连接,找了很多方法都没有找到,在看了@morphlings2014 的帖子后找到了用法。

LWIP内部的函数是官方库移植来的,也是移植的LWIP的用法。

因此在网上找到LWIP的客户端用法之后就能连上了(主要是没用过LWIP,才搞这么久,一起都是LINUX上直接用socket比较快)。

TCP客户端主连接服务器要先设置IP地址,从LWIP的PING工程中直接使用,将IP地址修改。
  1. /* IP address configuration. */
  2. #define configIP_ADDR0 192
  3. #define configIP_ADDR1 168
  4. #define configIP_ADDR2 31
  5. #define configIP_ADDR3 188
  6. /* Netmask configuration. */
  7. #define configNET_MASK0 255
  8. #define configNET_MASK1 255
  9. #define configNET_MASK2 255
  10. #define configNET_MASK3 0
  11. /* Gateway address configuration. */
  12. #define configGW_ADDR0 192
  13. #define configGW_ADDR1 168
  14. #define configGW_ADDR2 31
  15. #define configGW_ADDR3 1
复制代码
然后设置需要连接的服务器IP和PORT
  1. ip4_addr_t DestIPaddr;
  2. struct tcp_pcb        *tcp;
  3. IP4_ADDR( &DestIPaddr, 192, 168, 31, 175 ); //设置要连接服务器的IP
复制代码
  1. if (tcp!=NULL)
  2.                 {
  3.                         err = tcp_connect(tcp, &DestIPaddr, 80,0); //连接到服务器
  4.                         if (err == ERR_OK)//判断没错误
  5.                         {
  6.                                         tcp_write(tcp, GREETING, strlen(GREETING), 0);//发送hello到服务器
  7.                         }
  8.                 }
复制代码
最后连接到服务器
<ignore_js_op>
接下来是连接ONENET服务器,然后将数据上传到服务器上,我使用的协议是MQTT协议,可以参考@morphlings2014 的MQTT的文章移植。

posted on 2022-06-19 16:22  张凌001  阅读(56)  评论(0编辑  收藏  举报

导航