CMF海水论坛

 找回密码
 注册
img_loading
智能检测中
查看: 1898|回复: 2

潮汐表和天气查询(申请置顶)

[复制链接]
发表于 2013-8-17 09:28:07 | 显示全部楼层 |阅读模式 来自: 中国福建龙岩
这个很标准,我实际核对过了。
温馨提示:涨潮后,请各位鱼友即使上岸!

http://ocean.cnss.com.cn/
海事局的网站!

评分

参与人数 1威望 +60 金币 +60 收起 理由
cmfish + 60 + 60 赞一个!

查看全部评分

发表于 2013-10-10 10:06:44 | 显示全部楼层 来自: 中国广东中山
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2025-3-25 17:11:32 | 显示全部楼层 来自: 中国山东聊城
ESP32读取潮汐数据,写的有点烂,将就着能用。
const char*  server = "mds.nmdis.org.cn";
2、变量说明:
String line; //保存网站返回的json数据;
String TdataTemp,TdataTempOK; //当前日期;查询网站数据用,是否已正确接收当前日期的数据。
int a[24]; //json数据接收a0-a23每小时的潮位;cs0/cg0—cs3/cg3/海平面高度239cm共33个;
String aOK;//当前小时内是否已写入到superchart
void visitServer()
{
  TdataTempOK="NO";
  line_cs="";
  int Int2line1,Int2line2;
  String lineTemp;
  if(month()<10){
  TdataTemp=String(year())+"0"+String(month());
  }
  else
  {TdataTemp=String(year())+String(month());}
  if(day()<10){
   TdataTemp=TdataTemp+"0"+String(day());
     }
   else
  {TdataTemp=TdataTemp+String(day());}


WiFiClientSecure clientcnss;

clientcnss.setFingerprint(fingerprint);

  if (!clientcnss.connect(host, httpsPort)) {
    Serial.println("connection failed");
    return;
  }
  
  String url = "/tide/%E9%9D%92%E5%B2%9B/"+TdataTemp+".html";
  clientcnss.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko\r\n" +
               "Connection: close\r\n\r\n");

    while (clientcnss.connected()) {
    line = clientcnss.readStringUntil('\n');
    //Serial.println(line);
   if(line.startsWith("                        <span id=\"daten"))
   {
    Int2line1=line.indexOf("年");
    Tdaten=line.substring(Int2line1+3,line.length()-8);
    //Serial.println(Tdaten);
    }

   

    if(line.startsWith("                    <div id=\"tab")){
    Int2line1=line.indexOf("时间");
    Int2line2=line.indexOf("高度");
    line_cs=line.substring(Int2line1+15,Int2line2-18);
    line_cs.replace("</td><td>","\t");
    line_cg=line.substring(Int2line2+15,line.length()-34);
    line_cg.replace("</td><td>","\t");
    }
   
    if(line.startsWith("        var heights")){
      for(int i=0;i<24;i++)
      {line = clientcnss.readStringUntil('\n');
       lineTemp=line.substring(3,line.length()-5);
       a[i]=lineTemp.toInt();
      }
    break;
    }

  }

  
if(line_cs=="")     //是否server返回有效数据
{Serial.println("读取潮汐数据失败??");
  }
else
{
TdataTempOK=TdataTemp+"OK";
}
//关闭链接
clientcnss.stop();
}
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|CMF海水观赏鱼网 ( 琼ICP备12003277号 )

GMT+8, 2025-4-2 01:16 , Processed in 0.065395 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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