极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15764|回复: 2

【求助】 Aurdino UNO WiFi问题向大神们求助

[复制链接]
发表于 2016-8-28 21:30:55 | 显示全部楼层 |阅读模式
本帖最后由 kevinzhang 于 2016-8-29 12:06 编辑

上个月入手一枚Arduino UNO WiFi板子,据官网介绍,该板子是UNO集成了ESP8266,且可以不使用AT命令。入手后,一直有点别的事情要忙,昨天才拿出来试验一下。不过遇到个有趣的问题,希望大神们能给予指点。

我是打算用这板子,向服务器每秒发送一个字符串(门的开关状况、开关时间)。拓扑结构如下图:


板子的设置没问题,按照官网的做即可,非常简单。


然后就是灌了一段试验的代码,测试向服务器发送字符串"50":
  1. #include <Wire.h>
  2. #include <Ciao.h>
  3. #define CONNECTOR     "rest"
  4. #define SERVER_ADDR   "192.168.88.87" // Server IP
  5. String command = "/servlet/testWifi?p=50";
  6. void setup()
  7. {
  8.   Ciao.begin();
  9.   Ciao.write(CONNECTOR, SERVER_ADDR, command);
  10.   delay(50);
  11. }
  12. void loop()
  13. {
  14.   Ciao.write(CONNECTOR, SERVER_ADDR, command);
  15. }
复制代码


服务器端,有个Servlet接收这个字符串,然后在Terminal里显示。Servlet代码如下:
[pre lang="java" line="1"]import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = {"/testWifi"})
public class testWifi extends HttpServlet
{
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter())
        {
            request.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset=UTF-8");
            String para01 = request.getParameter("p");
            System.out.println("Parameter = " + para01);
        }
    }
        
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
        {
        processRequest(request, response);
    }
        
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
        {
        processRequest(request, response);
    }
        
    @Override
    public String getServletInfo()
        {
        return "Short description";
    }// </editor-fold>
}[/code]

服务器是抓到这个字符串了,貌似很成功。


但是,这个字符串在Terminal里是以7秒间隔显示的!无论我怎么调整LOOP内的delay或者干脆去掉了delay,这个间隔依然是7秒!

请各位大神施以援手。老夫这厢作揖了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2016-8-31 11:51:16 | 显示全部楼层
自己顶一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-16 18:24:29 | 显示全部楼层
Arduino.org上获得一个回复,看来这个问题再这一版是没希望了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-10 01:48 , Processed in 0.035025 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表