新手学Mesh组网,求前辈指导!

ESP_Alen

Re: 新手学Mesh组网,求前辈指导!

Postby ESP_Alen » Mon Jun 20, 2016 6:12 pm

Duke wrote:我想root节点根STM32 server 进行TCP通信用JSON数据格式,但是当我把cJSON移植到8266上面会报错,而STM32 server正常使用。

Code: Select all

Description   Resource   Path   Location   Type
undefined reference to `pow'   cJSON.c   /ESP8266_MESH_DEMO-master/mesh_demo/demo   line 44   C/C++ Problem

我知道MESH网络中的数据也是用JSON封装的,如果我想用root节点与server进行TCP通信应该怎么使用JSON呢?


你把porting cJSON的错误信息upload上来吧,我们看一下什么错误,然后帮你解决。

Duke
Posts: 24
Joined: Tue May 31, 2016 10:52 am

Re: 新手学Mesh组网,求前辈指导!

Postby Duke » Tue Jun 21, 2016 8:47 am

错误信息:

Code: Select all

Description   Resource   Path   Location   Type
recipe for target '.subdirs' failed   Makefile   /ESP8266_MESH_DEMO-master   line 309   C/C++ Problem
Description   Resource   Path   Location   Type
undefined reference to `_sbrk_r'   ESP8266_MESH_DEMO-master      line 3351, external location: \build\tree\RC-2010.1_kuma\p4root\Xtensa\Target-libs\newlib\newlib\libc\stdlib\mallocr.c   C/C++ Problem
Description   Resource   Path   Location   Type
undefined reference to `pow'   cJSON.c   /ESP8266_MESH_DEMO-master/mesh_demo/demo   line 44   C/C++ Problem

ESP_Alen

Re: 新手学Mesh组网,求前辈指导!

Postby ESP_Alen » Tue Jun 21, 2016 11:47 am

Duke wrote:我想root节点根STM32 server 进行TCP通信用JSON数据格式,但是当我把cJSON移植到8266上面会报错,而STM32 server正常使用。

Code: Select all

Description   Resource   Path   Location   Type
undefined reference to `pow'   cJSON.c   /ESP8266_MESH_DEMO-master/mesh_demo/demo   line 44   C/C++ Problem

我知道MESH网络中的数据也是用JSON封装的,如果我想用root节点与server进行TCP通信应该怎么使用JSON呢?


你需要的pow会很复杂吗?
不会计算如pow(10, 1e-1)之类的吧?

Duke
Posts: 24
Joined: Tue May 31, 2016 10:52 am

Re: 新手学Mesh组网,求前辈指导!

Postby Duke » Tue Jun 21, 2016 6:49 pm

我是网络下载的啊,在STM32上用的很正常。。。

ESP_Alen

Re: 新手学Mesh组网,求前辈指导!

Postby ESP_Alen » Sun Jun 26, 2016 5:09 pm

Duke wrote:我想root节点根STM32 server 进行TCP通信用JSON数据格式,但是当我把cJSON移植到8266上面会报错,而STM32 server正常使用。

Code: Select all

Description   Resource   Path   Location   Type
undefined reference to `pow'   cJSON.c   /ESP8266_MESH_DEMO-master/mesh_demo/demo   line 44   C/C++ Problem

我知道MESH网络中的数据也是用JSON封装的,如果我想用root节点与server进行TCP通信应该怎么使用JSON呢?


这个需要单独发布一个cJson的lib了

Duke
Posts: 24
Joined: Tue May 31, 2016 10:52 am

Re: 新手学Mesh组网,求前辈指导!

Postby Duke » Wed Jul 06, 2016 3:58 pm

想请教一个问题,我用一个8266节点做server,固定的IP为server_ip,并设置了端口为server_port。Mesh网络中的节点能够连接它,并向他发送数据,server也能够成功的收到mesh网络发来的数据。

但是,server却无法向mesh网络内的节点发送数据,总是显示mesh is busy,我是在server的接收函数: esp_recv_entrance()里面进行的发送。
if (espconn_mesh_sent(&g_ser_conn, (uint8_t *)header, header->len)) {
MESH_DEMO_PRINT("mesh is busy\n");
MESH_DEMO_FREE(header);
return;
}

ESP_Alen

Re: 新手学Mesh组网,求前辈指导!

Postby ESP_Alen » Wed Jul 06, 2016 6:40 pm

Duke wrote:想请教一个问题,我用一个8266节点做server,固定的IP为server_ip,并设置了端口为server_port。Mesh网络中的节点能够连接它,并向他发送数据,server也能够成功的收到mesh网络发来的数据。

但是,server却无法向mesh网络内的节点发送数据,总是显示mesh is busy,我是在server的接收函数: esp_recv_entrance()里面进行的发送。
if (espconn_mesh_sent(&g_ser_conn, (uint8_t *)header, header->len)) {
MESH_DEMO_PRINT("mesh is busy\n");
MESH_DEMO_FREE(header);
return;
}


你的server上运行的程序是什么?

Duke
Posts: 24
Joined: Tue May 31, 2016 10:52 am

Re: 新手学Mesh组网,求前辈指导!

Postby Duke » Thu Jul 14, 2016 11:05 am

您好,ALen老师,
我想让mesh节点与server进行通信,我知道mesh也是基于TCP 的,因此,我用网络调试助手做TCP server与mesh节点间通信,能实现mesh节点与server的互相通信。
于是,我想用ESP8266作为TCP server 来实现mesh节点 与server的通信, 我发现mesh节点能正常的发送给server 并解析出数据来,但是server要想发送给该节点反馈信息时,总是发送不出去。显示信息为:“usr conn not exist mesh is busy”不知道是为什么。
所以,我想请教一下Alen老师,ESP8266做server,该怎么和mesh网络间的节点进行互通呢?

附件是eclipse下的esp8266做server的程序,IP为:192.168.1.110 端口7000
麻烦肖工能帮忙解决一下!
谢谢!


Code: Select all

   if (!espconn_mesh_get_src_addr(header, &src) || !espconn_mesh_get_dst_addr(header, &dst)) {
          MESH_DEMO_PRINT("get addr fail\n");
          return;
      }

      header2 = (struct mesh_header_format *)espconn_mesh_create_packet(
                    src,   // destiny address   
             dst,   // source address 
                              false, // not p2p packet
                              true,  // piggyback congest request
                       M_PROTO_JSON,  // packe with JSON format  M_PROTO_BIN
                              MESH_DEMO_STRLEN(resp),  // data length
                              false, // no option
                              0,     // option len
                              false, // no frag
                              0,     // frag type, this packet doesn't use frag
                              false, // more frag
                              0,     // frag index
                              0);    // frag length
      if (!header2) {
          MESH_DEMO_PRINT("create packet fail\n");
          return;
      }

      if (!espconn_mesh_set_usr_data(header2, resp, MESH_DEMO_STRLEN(resp))) {
          MESH_DEMO_PRINT("set user data fail\n");
          MESH_DEMO_FREE(header2);
          return;
      }
      MESH_DEMO_PRINT("mesh 连接去哪了?\n");
//      espconn_sent(&g_ser_conn,resp,MESH_DEMO_STRLEN(resp));      //将温度信息发送给节点!
      if (espconn_mesh_sent((struct espconn *)arg, (uint8_t *)header2, header2->len)) {
          MESH_DEMO_PRINT("mesh is busy\n\n");
          MESH_DEMO_FREE(header2);
//          return;
      }

      MESH_DEMO_FREE(header2);

Duke
Posts: 24
Joined: Tue May 31, 2016 10:52 am

Re: 新手学Mesh组网,求前辈指导!

Postby Duke » Fri Jul 15, 2016 12:31 pm

我将mesh_demo的程序改写成了TCP server ,将ESP8266作为server,mesh网络与它通信,发现server接收没有问题,
当需要server与它发送数据的时候出现了问题,
调用“ if (espconn_mesh_sent(pespconn, (uint8_t *)header2, header2->len)) ”

显示:usr conn not exist ,mesh is busy 的问题。

希望圈里的朋友们帮忙解决一下,

也欢迎加入我们的讨论QQ群:243734539
点击右侧链接--->http://jq.qq.com/?_wv=1027&k=2L9RBbq

ESP_Alen

Re: 新手学Mesh组网,求前辈指导!

Postby ESP_Alen » Mon Jul 18, 2016 12:21 pm

Duke wrote:我将mesh_demo的程序改写成了TCP server ,将ESP8266作为server,mesh网络与它通信,发现server接收没有问题,
当需要server与它发送数据的时候出现了问题,
调用“ if (espconn_mesh_sent(pespconn, (uint8_t *)header2, header2->len)) ”

显示:usr conn not exist ,mesh is busy 的问题。

希望圈里的朋友们帮忙解决一下,

也欢迎加入我们的讨论QQ群:243734539
点击右侧链接--->http://jq.qq.com/?_wv=1027&k=2L9RBbq


 你可以打我的电话:021-61649387(Alen),或者我打你电话,不过我不知道你的电话。

Who is online

Users browsing this forum: No registered users and 15 guests