<!DOCTYPE html>
<!--[if IE 8]>          <html class="ie ie8"> <![endif]-->
<!--[if IE 9]>          <html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->  <html> <!--<![endif]-->
    <head>
        <meta charset="utf-8" />
        <title>蓝牙®低能耗如何改变物联网资产跟踪 - 行业动态 - 新闻中心 - 资产,跟踪,蓝牙,能耗,设备,网关,nbsp,联网,电池</title>
        <meta name="keywords" content="资产,跟踪,蓝牙,能耗,设备,网关,nbsp,联网,电池" />
        <meta name="description" content="在人类历史的大部分时间里，运输货物是信仰的飞跃。中世纪商人把全部财富都押在海运出口上。他们所能做的就是希望舰队安全抵达国外港口。通常，情况并非如此。虽然海盗和船只失事在今天已经不那么常见了，但许多供应" />
        <meta name="Author" content="y" />
        <!-- <meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" /> -->
        <link rel="canonical" href="/col_hydt/202210/F09782F8FB63CEF1706B44FB091658A3.htm"/>
        <!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
        <link href="../../hdui/app/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
        <link href="../../hdui/app/css/hdcore.min.css" rel="stylesheet" type="text/css" />
        <!-- SWIPER SLIDER -->
        <link href="../../hdui/app/plugins/slider.swiper/dist/css/swiper.min.css" rel="stylesheet" type="text/css" />
        <link href="../../hdimg/bas/css/hdcss.css" rel="stylesheet" type="text/css" />
        <link href="../../hdimg/bas/css/hdcss2.css" rel="stylesheet" type="text/css" />
        <link href="../../hdimg/bas/images_col/mycss.css" rel="stylesheet" type="text/css" />
        <link href="../../hdimg/bas/images_col/mycssmbi.css" rel="stylesheet" type="text/css" />
        <script>
                    checkBrowser("/hdmbi/bas/col_detail.php?id=188");
            function checkBrowser(url) {
                var ua = navigator.userAgent;
                if (ua.match(/(iphone|Android|midp-2|opera mini|ucweb|windows ce|symbianos|blackberry|nokia|palm|cellphone)/i)) {
                    window.location.href = url;
                    }
            }
                    </script>
    </head>
    <body class="smoothscroll enable-animation" style="background: #f8f8f8;">
<div style="width: 100%; position: absolute; left: 0; top: 0; z-index: 2; padding: 0 50px;">
    
<div class="Headertop">
    <h1 class="logo"><a href="/"><img alt="甘肃柏隆电子商务科技有限责任公司" src="../../hdupf/gimg/202001/20200107175335_758355.png" title="" style="border:0; width:180px; height:60px"></a></h1>
    <div class="naver">
        <div class="search">
            <a href="../../s/all/"><img src="../../hdimg/bas/images_col/sch.png"/></a>
        </div>
        <ul>
            <li><a href="/">首页</a></li>
            <li class="navMenu-item navMenu-item-1"><a class="navMenu-title " href="/col_gsgk/index" target="_blank">关于柏隆</a></li><li class="navMenu-item navMenu-item-2"><a class="navMenu-title selected" href="/col_qydt/index" target="_blank">新闻中心</a><ul><li><a href="/col_qydt/index/">企业动态</a></li><li><a href="/col_hydt/index/">行业动态</a></li></ul></li><li class="navMenu-item navMenu-item-3"><a class="navMenu-title " href="/hdapp/bas/col_up.php?sn=ywfw" target="_blank">业务领域</a><ul><li><a href="/col_kjcsmf/index/">鲲迹超数魔方</a></li><li><a href="/col_kjzspt/index/">鲲迹智算平台</a></li><li><a href="/col_idctgyw/index/">IDC托管业务</a></li><li><a href="/col_swcyld/index/">算网产业落地</a></li><li><a href="/col_qklyw/index/">云服务</a></li><li><a href="/col_qghlwjrfw/index/">全国互联网接入服务</a></li><li><a href="/col_cdnznccyw/index/">CDN智能存储业务</a></li><li><a href="/col_ywstxz/index/">业务生态协作</a></li></ul></li><li class="navMenu-item navMenu-item-4"><a class="navMenu-title " href="/col_hxjzg/index" target="_blank">企业文化</a></li><li class="navMenu-item navMenu-item-5"><a class="navMenu-title " href="/col_zpxx/index" target="_blank">人才招聘</a><ul><li><a href="/col_zpxx/index/">招聘信息</a></li><li><a href="/col_rcln/index/">人才理念</a></li></ul></li><li class="navMenu-item navMenu-item-6"><a class="navMenu-title " href="/col_lxfs1/index" target="_blank">联系方式</a></li>
        </ul>
        
    </div>
</div>
</div>
<div style="position: fixed; width: 100%; height: 1065px; top:0; z-index: 0;">
    <div style="height: 1065px; width: 100%; position: relative; overflow: hidden; background: #121212;" id="img_wrapper">
        <div style="height: 1065px;margin-left: -960px; left: 50%; width: 1920px;z-index: 1; position: absolute;">
            
        </div>
        <div style="height: 1065px;margin-left: -960px; left: 50%; width: 1920px;z-index: 2; position: absolute;">
            <div class="controls">
                <div class="functions"></div>
                <div class="rotate"></div>
            </div>
            <canvas width="2560" height="1000" style="min-width: 1000px; width: 100%; position: fixed; left: 50%; top: 15%; transform: translate(-50%, -50%);z-index: 1;"></canvas>
        </div>
    </div>
</div>
<div style="width: 100%; height: 180px; margin-top: 440px; position: relative; z-index: 2; background: url(../../hdimg/bas/images_col/dot.png) no-repeat center;">
</div>
        <div class="column" style=" position: relative; z-index: 3;">
    <ul>
        <li class=""><a href="/col_qydt/index/">企业动态</a></li><li class=" on"><a href="/col_hydt/index/">行业动态</a></li>    </ul>
</div>
        <div style="background: #fff; position: relative; z-index: 2;">
        <div class="container" style="background: #fff;">
            <div class="detail">
                <h2><span style="color:#000">蓝牙®低能耗如何改变物联网资产跟踪</span> </h2>
                <div class="infos"><span>编辑：y</span> <span>来源：千家网</span> <span>更新于：2022-10-17</span><span>阅读：<span id="visitcount">0</span></span></div>
                <div class="contain"><p></p><p style="text-indent: 2em;"><img src="../../hdupf/img/202210/202210171665975978869758.jpg" title="202210171665975978869758.jpg" alt="360截图20221017110619347.jpg"/></p><p style="text-indent: 2em;">在人类历史的大部分时间里，运输货物是信仰的飞跃。中世纪商人把全部财富都押在海运出口上。他们所能做的就是希望舰队安全抵达国外港口。通常，情况并非如此。<br/><br/>虽然海盗和船只失事在今天已经不那么常见了，但许多供应链仍然缺乏可见性，加剧了风险。信仰的飞跃仍然伴随着我们，但不一定非得如此。<br/><br/>LTE-M (Cat-M1)和NB-IoT等成熟的蜂窝网络与创新的资产跟踪设备相结合，在有价值资产移动时提供一致的、接近实时的可见性。物联网资产跟踪市场预计到2027年将以11.3%的复合年增长率增长，到那一年全球价值将达到66亿美元，这并不奇怪。但对于一些资产来说，位置数据(大多数资产跟踪系统主要由gnss驱动的中心)是不够的。<br/><br/>以冷链为例。当你运输疫苗或冷冻食品时，你需要精确、可靠的温度监测。通常情况下，完成这一任务的资产跟踪设备被硬连接到冷藏拖车中。当货物离开拖车时，这一点用都没有。为了获得一致的度量，您需要电池供电的设备，能够进行状态监视并维护资产级别的可见性。<br/><br/>然而，直到最近，电池供电的物联网资产跟踪设备仍难以满足需求。始终打开的温度监测需要太多电源。SIM连接的传感器太贵，无法扩展。这一切都在改变，这要归功于一项令人惊讶的熟悉技术。<br/><br/>这一可靠的短距离无线技术标准的新应用为更广泛的资产跟踪系统内的资产监控创造了强大的新机会。那个技术？蓝牙，特别是一种低功耗的技术，它与推出一千个无线耳机品牌的技术相同。<br/><br/>以下是每个发货人、运营商和供应链利益相关者应该了解的蓝牙低能耗资产监控功能。<br/><br/>利用蓝牙低能耗获得更多<br/><br/>蓝牙低能耗连接相对靠近的设备，同时设备消耗的能量比传统蓝牙低10倍。这是一种节能、低成本的将数据从一系列传感器传输到中央网关的方式。然后网关利用WiFi、手机信号塔或两者将数据发送给决策者，无论他们身在何处。<br/><br/>蓝牙低能耗的低功耗功能在电池供电的资产跟踪系统中特别有用，当您通过铁路、公路、航空和/或海运长途跟踪货物时，电池电源通常是唯一可行的选择。<br/><br/>蓝牙标签是可以贴在任何资产上的传感器，从满满一托盘货物到一件高价值的设备。一个庞大且不断发展的蓝牙低能耗传感设备生态系统允许托运人通过对以下各项的精确测量，保持关于其财产的可操作数据流:<br/></p><p><br/></p><p style="text-indent: 2em;">&nbsp;温度</p><p style="text-indent: 2em;">&nbsp;影响</p><p style="text-indent: 2em;">&nbsp;湿度</p><p style="text-indent: 2em;">&nbsp;活动</p><p style="text-indent: 2em;">&nbsp;门状态(开/关)</p><p><br/></p><p style="text-indent: 2em;">蓝牙低能耗标签不需要SIM卡，而且通常比独立的蜂窝跟踪设备便宜。这意味着蓝牙低能耗允许您以更少的资源跟踪更多的信息:更多的资产。更多条件。更有洞察力。所有这些都具有更低的功耗和成本。但是它是如何工作的呢？<br/><br/>资产跟踪技术堆栈中的蓝牙低能耗设备<br/><br/>将蓝牙低能耗设备添加到资产跟踪传感器阵列非常简单。您只需要以下组件:<br/></p><p><br/></p><p style="text-indent: 2em;">&nbsp;蓝牙低能耗标签，可以跟踪大致位置、温度、湿度、门状态等。</p><p style="text-indent: 2em;">&nbsp;蓝牙低能耗网关，在设备和蜂窝(和/或Wifi)连接之间架起一座桥梁，将数据发送到您的资产跟踪平台。选择具有蓝牙低能耗连接的GPS资产跟踪设备，利用有价值的集中状态数据进行全方位服务资产跟踪。</p><p style="text-indent: 2em;">&nbsp;通过LTE-M或NB-IoT的蜂窝连接。寻找支持LTE-M和NB-IoT网络之间自动漫游的资产跟踪设备，以提高全球覆盖范围。</p><p style="text-indent: 2em;">&nbsp;客户终端:接收、处理和组织位置和条件数据以供使用的移动应用或桌面平台。</p><p><br/></p><p style="text-indent: 2em;">在快速发展的市场中，蓝牙低能耗标签的多样性创造了一个即插即用的生态系统。今天，您可以混合搭配传感器来定制您的数据捕获，但前提是您选择了正确的蓝牙低能耗网关，它是您资产跟踪和监控系统的核心。<br/><br/>物联网资产跟踪蓝牙网关需要什么<br/><br/>要构建一个资产跟踪/监控解决方案，准确地告诉您需要知道什么，首先要找到合适的资产跟踪设备，它可以兼作蓝牙低能耗网关。以下是获得最佳结果所需的技术特性:<br/><br/>单次部署的电池寿命。电池供电的资产跟踪器/网关为供应链跟踪和监控创造了更多机会。你可以把它们放在任何地方，甚至是租来的设备上，因为你不必把它们硬连接到电源上。如今，一些资产跟踪边缘设备的电池寿命一次可达10年，因此重新部署不会成为问题。<br/><br/>开放式蓝牙低能耗生态系统。当心只与一个制造商的产品兼容的网关。这将你挡在了开放市场之外，而开放市场可以提供更广泛的测量，同时比封闭的蓝牙生态系统成本更低。相反，寻找一个开放的生态系统，与第三方配件合作。<br/><br/>信号滤波。一些网关接收附近的任何蓝牙信号。这可能会在繁忙的配送中心造成问题，那里的工人可能会使用蓝牙语音采集系统，甚至只是个人耳机。选择一个能够过滤掉这些信号的网关，以保持数据流干净和不被破坏，同时降低数据成本和服务器负载。<br/><br/>有了合适的网关，您就可以充分利用蓝牙低能耗带来的监控功能。换句话说，你用更少的钱得到了更多，并最终将托运人的信念扔进了历史的垃圾箱。</p><p></p><p></p><p></p><p><br/></p></div>
                <div class="pre_next">
                    <ul class="pager" id="prevnext"></ul>
                </div>
            </div>
        </div>
        </div>
          <div style="width: 100%; height: 53px; border-bottom: 1px solid #414141; background: #121212; position: relative; z-index: 10;">
      <div class="body wow fadeInUp">
          <div id="foot_menu">
            <ul class="yiji">
                <!-- <li><a href="/">网站首页</a></li> -->
                <li class="li1 "><a href="/col_gsgk/index">关于柏隆</a></li><li class="li2 "><a href="/col_qydt/index">新闻中心</a></li><li class="li3 "><a href="/col_qghlwjrfw/index">业务领域</a></li><li class="li4 "><a href="/col_hxjzg/index">企业文化</a></li><li class="li5 "><a href="/col_zpxx/index">人才招聘</a></li><li class="li6 "><a href="/col_lxfs1/index">联系方式</a></li>            </ul>
          </div>
          <div id="foot_lx">
            <ul>
              <li>
                <a href="#"><img src="../../hdimg/bas/images_col/wb.png"/></a>
                <div class="hover"><a href="https://mp.weixin.qq.com/s/qXhQXdxl_jefdGRLzEfFvQ"><img alt="柏隆科技" src="../../hdupf/gimg/202107/20210719175707_293057.jpg" title="" style="border:0; width:100px; height:100px"></a></div>
              </li>
              <li>
                <a href="#"><img src="../../hdimg/bas/images_col/qq.png"/></a>
                <div class="hover"><a href="https://mp.weixin.qq.com/s/qXhQXdxl_jefdGRLzEfFvQ"><img alt="柏隆科技" src="../../hdupf/gimg/202107/20210719175707_293057.jpg" title="" style="border:0; width:100px; height:100px"></a></div>
              </li>
              <li>
                <a href="#"><img src="../../hdimg/bas/images_col/wx.png"/></a>
                <div class="hover"><a href="https://mp.weixin.qq.com/s/qXhQXdxl_jefdGRLzEfFvQ"><img alt="柏隆科技" src="../../hdupf/gimg/202107/20210719175707_293057.jpg" title="" style="border:0; width:100px; height:100px"></a></div>
              </li>
            </ul>
          </div>
      </div>
  </div>
  <div style="width: 100%; height: 210px;background: #121212; position: relative; z-index: 9;">
      <div class="body wow fadeInUp">
        <div id="foot_erweima">
          <p class="pic"><a href="https://mp.weixin.qq.com/s/qXhQXdxl_jefdGRLzEfFvQ"><img alt="柏隆科技" src="../../hdupf/gimg/202107/20210719175707_293057.jpg" title="" style="border:0; width:100px; height:100px"></a></p>
          <p class="text1">服务热线：</p>
          <p class="text2">0931-2338333</p>
          <p class="text1">传真：0931-2338333</p>
        </div>
        <div id="foot_yx">
          <ul>
            <li><span class="fa fa-envelope"></span>  邮箱：bolongkeji@bolong0931.com</li>
            <li><span class="fa fa-location-arrow"></span>  地址：中国甘肃省兰州市城关区庆阳路42号</li>
          </ul>
        </div>
        <div id="foot_form">
          <p class="text1">告诉我您的电话，我们联系您</p>
          <form>
            <input class="sch_input" type="text" name="k"/>
            <a href="/f/add/?sn=guestbook&burl=aHR0cDovL3d3dy5ibDA5MzEuY29tL2hkYXBwL2Jhcy9jb2xfZGV0YWlsLnBocD9pZD0xODg=" data-target="#modal" data-toggle="modal" data-backdrop="static" class="sch_btn block">提交</a>
          </form>
        </div>
      </div>
  </div>
<div style="width: 100%; height: 50px;background: #050505; position: relative; z-index: 9;">
  <div class="body" style="height: 50px;">
      <div id="foot_info">
          Copyrights©2025 All Rights Reserved 版权所有 甘肃柏隆电子商务科技有限责任公司 <a href="http://beian.miit.gov.cn/" target="_blank">陇ICP备19004564号</a>
          <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=62010202002842" ><img src="../../hdimg/bas/images/ga.png" alt="甘公网安备62010202002842号"/> 甘公网安备 62010202002842号</a>
      </div>
  </div>
 </div>




<a href="#" id="toTop"></a>



<!--[if lte IE 9]>
    <div class="tc_cont_w  tc_show" >
      <div class="tc_bg"></div>
      <div class="tc_cont">
        <dl class="tc_main">
          <dd class="tc_head">温馨提醒</dd>
          <dd class="tc_gantan"> <img src="../../hdimg/bas/images/gantan.png" /> </dd>
          <dd class="tc_txt">尊敬的用户，为了获得更好的用户体验，建议您使用高版本浏览器来对网站进行查看。</dd>
          <dd class="tc_btn"> <a href="../../browser.htm" target="_blank">一键下载放心安装</a></dd>
        </dl>
      </div>
    </div>
<![endif]-->
<div class="mload modal fade" id="modal" role="basic" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content"><div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div></div>
    </div>
</div>
<div class="mload modal fade" id="modal-sm" role="basic" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div class="modal-content"><div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div></div>
    </div>
</div>
<div class="mload modal fade" id="modal-lg" role="basic" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content" style="text-align: center;"><div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div></div>
    </div>
</div>
<div class="mload modal fade" id="modal-full" role="basic" aria-hidden="true">
    <div class="modal-dialog modal-full">
        <div class="modal-content"><div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div></div>
    </div>
</div>
<script type="text/javascript">var plugin_path = '../../hdui/app/plugins/';</script>
<script type="text/javascript" src="../../hdui/app/js/j.min.js"></script>
<script type="text/javascript" src="../../hdui/app/js/b.min.js"></script>
<script type="text/javascript" src="../../hdimg/bas/js/jquery.SuperSlide.2.1.1.js"></script>
<script type="text/javascript" src="../../hdimg/bas/js/jquery.parallax-1.1.3.js"></script>
<script type="text/javascript" src="../../hdui/app/js/hdjs.min.js"></script>
<script type="text/javascript" src="../../hdimg/bas/js/myjs.js"></script>
<!-- SWIPER SLIDER -->
<script type="text/javascript" src="../../hdui/app/plugins/slider.swiper/dist/js/swiper.min.js"></script>
<script type="text/javascript" src="../../hdui/app/js/view/demo.swiper_slider.js"></script>

<script src="../../hdui/app/plugins/validate/jquery.validate.min.js"></script>
<script src="../../hdui/app/plugins/validate/jquery.validate.add.js"></script>
<script src="../../hdui/app/plugins/validate/jquery.validate.cn.min.js"></script>

<script>
$(document).ready(function() {
  $('.nav-menu-content-box').hover(function() {
          $(this).addClass('dow-hover');
          $(".nav-menu-content").show('slow');
      }, function() {
          $(this).removeClass('dow-hover');
      });
    $.get('/hdapp/bas/d.php?ac=all',function(all){
        var reobj = eval('(' + all + ')');
        var ttip = reobj.sysvisit.ttip;
        var ttvp = reobj.sysvisit.ttvp
        $("#umenu").html(reobj.umenu);
        $("#sys_count_ttip").html('UV/'+ttip);
        $("#sys_count_ttvp").html('PV/'+ttvp);
    })
    jQuery(".sideMenu").slide({
        titCell:"h3", //鼠标触发对象
        targetCell:"ul", //与titCell一一对应，第n个titCell控制第n个targetCell的显示隐藏
        effect:"left", //targetCell下拉效果
        delayTime:300 , //效果时间
        triggerTime:150, //鼠标延迟触发时间（默认150）
        defaultPlay:true,//默认是否执行效果（默认true）
        returnDefault:true, //鼠标从.sideMen移走后返回默认状态（默认false）
        trigger:"mouseover"
    });
    jQuery(".txtMarquee-left").slide({mainCell:".bd ul",autoPlay:true,effect:"leftMarquee",vis:5,interTime:50});

    $(".detail img").each(function(){
      $(this).attr("title","");
    });
});
var maxHeight = 400;

$(function(){
    $(".nav-menu-content-box > li").hover(function() {
        var $container = $(this),
        $list = $container.find("ul"),
        $anchor = $container.find("a"),
        height = $list.height() * 1.1,
        multiplier = height / maxHeight;
        $container.data("origHeight", $container.height());
        $anchor.addClass("hover");
        $list
            .show()
            .css({
                paddingTop: $container.data("origHeight")
            });
        if (multiplier > 1) {
            $container
                .css({
                    height: maxHeight,
                    overflow: "hidden"
                })
                .mousemove(function(e) {
                    var offset = $container.offset();
                    var relativeY = ((e.pageY - offset.top) * multiplier) - ($container.data("origHeight") * multiplier);
                    if (relativeY > $container.data("origHeight")) {
                        $list.css("top", -relativeY + $container.data("origHeight"));
                    };
                });
        }

    }, function() {

        var $el = $(this);

        $el
            .height($(this).data("origHeight"))
            .find("ul")
            .css({ top: 0 })
            .hide()
            .end()
            .find("a")
            .removeClass("hover");

    });

});

  var dom = $('.page .box').offset();
  if(dom){
    var right = dom.left;
    $('.page .right').css('right',right+'px');
  }
  $(window).resize(function(){
    var dom = $('.page .box').offset();
    if(dom){
      var right = dom.left;
      $('.page .right').css('right',right+'px');
    }
  });
  resizeWindow();
  $(document).on('scroll',function(){
    resizeWindow();
  });
  function resizeWindow(){
      if($(document).scrollTop() > 220){
        $('.page .right').css('top','150px');
      }else{
        $('.page .right').css('top','431px');
      }
    }
</script>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"slide":{"type":"slide","bdImg":"3","bdPos":"right","bdTop":"100"}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script><script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"slide":{"type":"slide","bdImg":"3","bdPos":"right","bdTop":"100"}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>        <script src="../../hdui/app/plugins/validate/jquery.validate.min.js"></script>
        <script src="../../hdui/app/plugins/validate/jquery.validate.add.js"></script>
        <script src="../../hdui/app/plugins/validate/jquery.validate.cn.min.js"></script>
                <script type="text/javascript" charset="utf-8" src="../../hdudt/ueditor.parse.min.js"> </script>
        <script type="text/javascript" src="../../hdimg/bas/js/jquery.SuperSlide.2.1.1.js"></script>
        <script>
        uParse('#dtl_detail', {
            rootPath: '../../hdudt/'
        })
        </script>
                <script>
        $(document).ready(function() {
             var  timestr = getDateDiff('2022-10-17 11:05:00');
            $('#addtime').html(timestr);
            // 将编辑器里的图片改为响应式
            $('#dtl_detail img').each(function() {
                $(this).addClass("img-responsive");
            });
            $.get("/hdapp/bas/d.php?ac=col_detail&id=188",function(col){
                var reobj = eval('('+col+')');
                $('#prevnext').html(reobj.prevnext);
                $('#visitcount').html(reobj.colvisit);
            });
            $.get('../../hdapp/bas/col_fdb.php?id=188&burl=aHR0cDovL3d3dy5ibDA5MzEuY29tL2hkYXBwL2Jhcy9jb2xfZGV0YWlsLnBocD9pZD0xODg=',function(fdb){
                 $('#comments').html(fdb);
            });
            $('#col_sch_bt').click(function(){
                sch(1);
            });
            jQuery(".slideTxtBox").slide();
        })
            function sch_col(page=1){
                sch(page);
            }
            function sch(page){
                $(document).scrollTop(0);
                $('#col_list').html('<div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div>')
                var q = $('#col_q').val();
                var sn = "hydt";
                $.get(encodeURI('/s/col/?q='+q+'&sn='+sn+'&page='+page),function(data){
                    var schtitle = '<div class="heading-title heading-line-single margin-bottom-0"><h3>在 行业动态 下 搜索 <span>'+q+'</span> 的结果</h3></div>'
                    $('#col_list').html(schtitle+data);
                });
            }
            function sch_hkw(k){
                $('#col_q').val(k);
                sch_col();
            }
            function getscol(ssn,sname){
            $('#col_ssn').attr('data-sign',ssn);
            $('#col_ssn').attr('data-name',sname);
            scol();
            }
            function scol(page){
                $(document).scrollTop(0);
                $('#col_list').html('<div class="text-center padding-30 margin-top-20"><img src="/hdui/app/images/loaders/10.gif" alt="loading" /><p class="margin-top-20">正在加载，请稍后...</p></div>');
                let ssn = $('#col_ssn').attr('data-sign');
                let sname = $('#col_ssn').attr('data-name');
                $.get(encodeURI('/hdapp/bas/col_sub.php?&ssn='+ssn+'&page='+page),function(data){
                    var schtitle = '<div class="heading-title heading-line-single margin-bottom-0"><h3>子类 <span>'+sname+'</span> 下的内容</h3></div>'
                    $('#col_list').html(schtitle+data);
                });
            }
            
            function getDateDiff(dateStr){
                dateTimeStamp = Date.parse(dateStr.replace(/-/gi,"/"));
                var minute = 1000 * 60;
                var hour = minute * 60;
                var day = hour * 24;
                var halfamonth = day * 15;
                var month = day * 30;
                var now = new Date().getTime();
                var diffValue = now - dateTimeStamp;
                if(diffValue < 0){return;}
                var monthC =diffValue/month;
                var weekC =diffValue/(7*day);
                var dayC =diffValue/day;
                var hourC =diffValue/hour;
                var minC =diffValue/minute;
                if(monthC>=1){
                 result="" + parseInt(monthC) + "月前";
                }
                else if(weekC>=1){
                 result="" + parseInt(weekC) + "周前";
                }
                else if(dayC>=1){
                 result=""+ parseInt(dayC) +"天前";
                }
                else if(hourC>=1){
                 result=""+ parseInt(hourC) +"小时前";
                }
                else if(minC>=1){
                 result=""+ parseInt(minC) +"分钟前";
                }else
                result="刚刚";
                return result;
            }
      </script>
      <script src="../../hdimg/bas/js/jwmeyy.js" type="text/javascript" charset="utf-8"></script>
      <script>
      var _createClass = function() {
          function defineProperties(target, props) {
              for (var i = 0; i < props.length; i++) {
                  var descriptor = props[i];
                  descriptor.enumerable = descriptor.enumerable || false;
                  descriptor.configurable = true;
                  if ("value" in descriptor) descriptor.writable = true;
                  Object.defineProperty(target, descriptor.key, descriptor);
              }
          }
          return function(Constructor, protoProps, staticProps) {
              if (protoProps) defineProperties(Constructor.prototype, protoProps);
              if (staticProps) defineProperties(Constructor, staticProps);
              return Constructor;
          };
      } ();

      function _classCallCheck(instance, Constructor) {
          if (! (instance instanceof Constructor)) {
              throw new TypeError("Cannot call a class as a function");
          }
      }

      function _possibleConstructorReturn(self, call) {
          if (!self) {
              throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          }
          return call && (typeof call === "object" || typeof call === "function") ? call: self;
      }

      function _inherits(subClass, superClass) {
          if (typeof superClass !== "function" && superClass !== null) {
              throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
          }
          subClass.prototype = Object.create(superClass && superClass.prototype, {
              constructor: {
                  value: subClass,
                  enumerable: false,
                  writable: true,
                  configurable: true
              }
          });
          if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
      }

      var Point = function(_F3$Obj) {
          _inherits(Point, _F3$Obj);

          function Point() {
              var radius = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5;

              _classCallCheck(this, Point);

              var _this = _possibleConstructorReturn(this, (Point.__proto__ || Object.getPrototypeOf(Point)).call(this));

              _this.radius = radius;
              _this.color = 'rgba(' + [Math.random() * 255 | 0, Math.random() * 255 | 0, Math.random() * 255 | 0, Math.random()].join(',') + ')';
              _this.prevCrood = null;
              return _this;
          }

          _createClass(Point, [{
              key: 'render',
              value: function render(ctx) {

                  ctx.fillStyle = '#fff';
                  ctx.fillRect(this.croods2D.position.x, this.croods2D.position.y, this.radius * this.croods2D.scale * this.yScale, this.radius * this.croods2D.scale * this.yScale);
              }
          }]);

          return Point;
      } (F3.Obj);

      var planeFunctions = {
          'sin(sqrt(x^2+z^2))': function sinSqrtX2Z2(x, z, offset) {
              return Math.sin(Math.sqrt(Math.pow(x / 2, 2) + Math.pow(z / 2, 2)) - offset);
          },
          'cos(x)*sin(z)': function cosXSinZ(x, z, offset) {
              return Math.cos(x / 4 + offset) * Math.sin(z / 4 + offset) * 1;
          }
      };

      var Effect = function(_F3$Time) {
          _inherits(Effect, _F3$Time);

          function Effect(renderer, scene, camera, cvs) {
              _classCallCheck(this, Effect);

              var _this2 = _possibleConstructorReturn(this, (Effect.__proto__ || Object.getPrototypeOf(Effect)).call(this));

              _this2.renderer = renderer;
              _this2.scene = scene;
              _this2.camera = camera;
              _this2.cvs = cvs;

              _this2.xOffset = 0;
              _this2.waveHeight = 0.4; // 波高
              _this2.waveWidth = 8; // 波长
              _this2.col = 33;
              _this2.colPointNum = 33;

              _this2.flyTime = 2000;
              _this2.timePass = 0;

              _this2.scale = 1;
              _this2.scaleStep = 0.01;

              _this2.planeFunction = function() {
                  return 0;
              };
              _this2.rotate = {
                  x: false,
                  y: false,
                  z: false
              };

              _this2.pointGroup = new F3.Obj();
              _this2.scene.add(_this2.pointGroup);

              _this2.resize(cvs.width, cvs.height);
              _this2.init();
              return _this2;
          }

          _createClass(Effect, [{
              key: 'resize',
              value: function resize(width, height) {
                  this.cvs.width = width;
                  this.cvs.height = height;
                  // this.pointGroup.position.set(this.cvs.width/2, this.cvs.height, 0);
                  this.stepWidth = width * 1.8 / this.col;
                  this.pointGroup.setPosition(this.cvs.width / 2, this.cvs.height * 1.2, -this.col * this.stepWidth / 2);
                  this.pointGroup.setRotation(0.1, 0, 0);
                  // this.waveHeight = height/2;
                  // this.waveWidth = this.waveHeight * 4;
                  // console.log(this.stepWidth);
              }
          },
          {
              key: 'init',
              value: function init() {
                  // create point
                  var point;
                  for (var x = -(this.col - 1) / 2, count = 0; x <= (this.col - 1) / 2; x++) {
                      for (var z = -(this.colPointNum - 1) / 2; z <= (this.colPointNum - 1) / 2; z++) {
                          point = new Point(10);
                          this.pointGroup.add(point);
                          /*point.initPos = new F3.Vector3(
                               x + Math.random() * -2 + 1,
                               -30 + -10 * Math.random(),
                               z + Math.random() * -2 + 1
                          );*/
                          point.initPos = new F3.Vector3(0, 0, 0);
                          point.flyDelay = 0; //Math.random() * 1000 | 0;
                      }
                  }
              }
          },
          {
              key: 'update',
              value: function update(delta) {
                  this.timePass += delta;
                  this.xOffset = this.timePass / 500;

                  var point = void 0;
                  var flyPecent = void 0;
                  var x = void 0,
                  y = void 0,
                  z = void 0;
                  var count = 0;

                  // if (this.timePass < 100)
                  for (x = -(this.col - 1) / 2; x <= (this.col - 1) / 2; x++) {
                      for (z = -(this.colPointNum - 1) / 2; z <= (this.colPointNum - 1) / 2; z++) {

                          // let y = Math.cos(x*Math.PI/this.waveWidth + this.xOffset)*Math.sin(z*Math.PI/this.waveWidth + this.xOffset) * this.waveHeight;
                          y = this.planeFunction(x, z, this.xOffset);
                          // let y = Math.sin(Math.sqrt(Math.pow(x/v, 2)+Math.pow(z/v, 2)) - this.xOffset) * 1
                          // console.log(y);
                          point = this.pointGroup.children[count];
                          point.yScale = 1; //(-y + 0.6)/(this.waveHeight) * 1.5;
                          flyPecent = (this.timePass - point.flyDelay) / this.flyTime;
                          flyPecent = flyPecent > 1 ? 1 : flyPecent < 0 ? 0 : flyPecent;

                          point.setPosition(x * this.stepWidth, y * this.stepWidth, z * this.stepWidth);
                          count++;
                      }
                  }
                  if (this.rotate.x || this.rotate.y || this.rotate.z) {
                      this.pointGroup.setRotation(this.rotate.x ? this.pointGroup.rotation.x + 0.001 : 0, this.rotate.y ? this.pointGroup.rotation.y + 0.001 : 0, this.rotate.z ? this.pointGroup.rotation.z + 0.001 : 0);
                  }
              }
          },
          {
              key: 'setFunction',
              value: function setFunction(fun) {
                  this.planeFunction = fun;
              }
          },
          {
              key: 'toggleRotate',
              value: function toggleRotate(r) {
                  this.rotate[r] = !this.rotate[r];
                  if (!this.rotate[r]) {
                      this.pointGroup.rotation[r] = 0;
                  }
              }
          },
          {
              key: 'animate',
              value: function animate() {
                  var _this3 = this;

                  this.addTick(function(delta) {
                      _this3.update(delta);
                      _this3.renderer.render(_this3.scene, _this3.camera);
                  });
              }
          }]);

          return Effect;
      } (F3.Time);

      function init(cvs) {
          var ctx = cvs.getContext('2d');

          var scene = new F3.Scene();
          var camera = new F3.Camera();
          camera.origin = new F3.Vector3(cvs.width / 2, cvs.height / 3);
          camera.p = 1200;

          var renderer = new F3.Renderer(ctx, cvs);
          var effect = new Effect(renderer, scene, camera, cvs);
          effect.animate();

          var functions = document.querySelector('.functions');
          var btnHTML = '';
          for (var name in planeFunctions) {
              btnHTML += '<div class="btn" data-function="' + name + '">' + name + '</div>';
          }
          functions.innerHTML = btnHTML;

          var btns = functions.querySelectorAll('.btn');
          function selectFunction(funName) {
              btns.forEach(function(btn) {
                  var dataFunction = btn.dataset.
                  function;
                  if (dataFunction === funName) {
                      btn.classList.add('active');
                      effect.setFunction(planeFunctions[funName]);
                  } else {
                      btn.classList.remove('active');
                  }
              });
          }
          selectFunction(btns[0].dataset.
          function);
          functions.addEventListener('click',
          function(e) {
              if (e.target.dataset.
              function) {
                  selectFunction(e.target.dataset.
                  function);
              }
          });

          var rotate = document.querySelector('.rotate');
          var rotateBtns = rotate.querySelectorAll('.btn');
          function toggleRotate(_r) {
              rotateBtns.forEach(function(rotateBtn) {
                  var r = rotateBtn.dataset.rotate;
                  if (r === _r) {
                      rotateBtn.classList.toggle('active');
                      effect.toggleRotate(r);
                  }
              });
          }
          toggleRotate('y');
          rotate.addEventListener('click',
          function(e) {
              if (e.target.dataset.rotate) {
                  toggleRotate(e.target.dataset.rotate);
              }
          });

          F3.TIME.start();
      }
      init(document.querySelector('canvas'));
      </script>
    </body>
</html>