肇鑫的日常博客

日常

不建议购买混合多口的PD快充

由于之前的事情,iPad Pro 9.7无法充电之后发生的事,这段时间我使用过多款混合多口(1A1C,2A1C)PD快充充电器。最终,我把混合多口的充电器都退货了,选择了单口的充电器。

充电器的选择,多口VS单口

选择多口的充电器,不仅可以在插排上节约多个接口,并且旅行时,也可以少带几个充电器,减轻重量,这也是为什么大家都喜欢选择多口的充电器。

我以前也买过多口的充电器,比如紫米的18W双A口充电器,就很好用。因此,在选择C口PD快充充电器的时候,我最初也是选择了多口的。结果2A1C的63W绿巨能充电器和1A1C的30W omthing充电器,都让我失望了。

我们先来了解一个概念——打嗝。

打嗝是支持多协议的充电器,在与设备连接,匹配最佳协议时,不能第一时间获得最佳协议的而产生的多次匹配充电协议的状态。其表现是充电设备显示瞬间断电并再次充电。

比如,一款充电器,支持5V1A,5V2A,Apple 2.4A,PD快充18W,那么它在与苹果的iPhone连接时,可能一开始并没有直接匹配到PD快充18W,而是使用了5V2A连接上了。之后,它又检测到设备实际上支持PD快充的,最终采用PD快充18W进行充电。

这个过程,表现在iPhone上,就是一开始发出充电的嘟的一声,然后很短的时间内,又发出嘟的一声。

小结

打嗝本来是一种设计缺陷。但是由于它过于普遍,居然被网友们认为是正常的,更有甚者,认为只有打嗝了,出了两声嘟,才是真正的PD快充,只有一声就是快充不成功。

这种错误观点甚至造成了在技术进步之后,有些充电器,直接一次就连上PD快充了,还要在产品的购买的页面额外注明,一声还是两声嘟不能作为PD快充是否成功的证据,唯一的证明是在0%充电,30分钟能够充50%就是PD快充。

混合多口

以前的多口,都是多个A口,所以是属于单一多口。但是现在随着PD快充的普及,目前的多口充电器,多口多是混合多口。即又有A口,又有C口。

但是A口和C口不是简单的外观不同。实际上,混合多口充电器,在技术的复杂性上,要高于单一多口。而每个接口本身又是支持多协议的,厂家为了成本,多口之间肯定是有共享的电路,而不是设计两套单独的电路。这也就造成了,混合多口之间,是互相干扰的,最明显的就是,单口输出的时候,充电器的上限高于多口同时输出。比如63W的绿巨能充电器,多口同时使用,最高输出只有45W。而30W的omthing充电器,多口同时使用,最高也只有25W。

这种干扰还体现在当一个口在充电时,如果你再使用另一个口充电,前面充电的会瞬间断流,并重新匹配协议。

这些问题,在我之前使用的单一双A口充电器的时候,都没有出现过。

更严重的断流问题

特别的,我在使用iPhone 6s Plus通过A口充电的时候,我还发现。这些混合多口的充电器,在单独通过A口充电的时候,会随机出现断流的情况,特别的,在小电流的时候尤其明显。比如这两款充电器,在手机充电99%以上的时候,都不同程度地出现了瞬间断流的问题。特别的,如果C口同时还有设备在充电,这种瞬间断流会更加频繁。

结论

基于上面的理由,我建议大家在购买PD快充的时候,尽量选择单口的充电器。单口的充电器不仅可以达到标称的上限,并且由于设计更为精简,出现打嗝的几率更小,更不会有混合多口充电器互相干扰的问题。

此外,如果还是要选多口的产品,建议你直接购买单一多口的充电器,即多个C的PD快充,而不要购买混合多口的。

因为即便是不支持PD快充的iPhone,也可以通过C转L的充电线,使用支持Apple 2.4A协议的充电器进行快速充电。

不过有一点要注意。即便你的充电器支持Apple 2.4A的协议,也需要C转L线同时支持也才可以。我以前以为不需要线的配合,后来我遇到了有不支持的线,导致虽然充电器支持,也还是无法使用Apple 2.4A快充的情况。

其它

iPad Pro 9.7无法充电之后发生的事

iOS/iPadOS设备充电全面总结

迄今为止,苹果的iOS/iPadOS设备,共支持4种有线充电方式,2种无线充电方式。

  • 早于iPhone 6的iPhone,仅支持5w充电。
  • iPhone 6开始,iPhone都支持12w充电。
  • iPhone 8开始,iPhone支持PD快充18w,无线充电5w/7.5w。
  • iPad支持10w充电和12w充电。iPad Pro 10.5开始支持PD快充。

只要支持Apple 2.4A协议,充电器就可以支持苹果的快充功能,无论原本的接口是USB-C,还是USB-A。这一点,在网上没有明确的说法,但是充电头的评测有检测到有支持Apple 2.4A协议的USB-C接口的充电器,而在我实际使用的时候,也发现,USB-C转Lightning接口的确也可以为iPad Pro 9.7快速充电。

关于不在充电

当iOS设备在充电,但是充电速率过低时(远小于5w),设备会提示不在充电。但是此时设备还是在以极慢的速度充电。这个“不在充电”其实是在提示你,充电遇到了速度过低的问题,但是同时连接是成功的。

5W充电

一些不兼容苹果协议的充电设备,比如一些10w甚至更高的PD充电器,连接到最高支持Apple 2.4A协议的苹果设备时,只能以5w的速度充电。因此,如果你有PD快充的设备,没有支持Apple 2.4A的协议时,可以买一些比较便宜的PD快充充电器。但如果你同时还有其它的旧设备,选购的时候就得买支持Apple 2.4A协议的。遗憾的是,这个协议经常不被厂家标注,比较简单的办法是查询充电头网站,对于该充电器的评测。如果有支持该协议,充电头的评测都会单独说明。

相关

iPad Pro维修篇

绿巨能1C2A 63w充电器退货历险记,淘宝客服的套路与解法

为MWeb添加推特卡片的支持

当我们分享链接到推特时,如果链接对应的网站支持推特卡片。推特就会生成相应的卡片,效果如下图,这比单纯的文字加链接的效果要好很多。

twitter_card_summary_larget_image

特别提示:本文是对于MWeb的深度定制,建议你看完全文之后,再决定是否动手。

新建一个网站

强烈建议你新建一个网站用来练手。右键MWeb的库,选择新建分类,然后选择做为站点,选择一个主题(我们以octopress主题为例),然后点右侧的编辑,选择“复制当前主题到新主题”。这样做的好处是,你对于主题的修改,都是在复制后的主题进行的,一旦出现问题,删掉这个主题就可以了,不会影响到已有的主题。

copy_theme_to_modify

自定义扩展

双击进入主题的文件夹,你会看到一个叫extensions的文件夹。双击进入这个文件夹。里面一般会有一个或者两个文件,分别叫site.jsondocument.json。这两个文件对应了MWeb设置中的站点扩展和文档扩展。

extension_preferences

虽然也可以在MWeb中直接添加站点扩展和分享扩展。但是那个添加的方式MWeb应该是做错了。添加的内容成了全局的,一旦添加,所有的站点就都有了,而不是指定的站点才有。
直接编辑这两个文件,生成的扩展,是只针对当前主题对应的站点的,不会引起混乱。

站点扩展

用文本编辑器打开site.json。复制下面的内容,插入到文件的第二行。

{
    "title":"twitter:site",
    "variableName":"twitter:site",
    "inputFieldHeight":22,
    "exampleText":"@owenzhao"
},
{
    "title":"twitter:creator",
    "variableName":"twitter:creator",
    "inputFieldHeight":22,
    "exampleText":"@owenzhao"
},
{
    "title":"og:image",
    "variableName":"og:image",
    "inputFieldHeight":50,
    "exampleText":"图片路径或地址"
},

文档扩展

打开document.json文件。(如果不存在,可以复制一份site.json,然后改名为document.json,删除掉第一行左中括号和最后一行又中括行中间的内容。)复制下面的内容,插入到文件的第二行。

{
    "title":"og:description",
    "variableName":"og:description",
    "inputFieldHeight":240,
    "exampleText":"文章摘要"
}

如果原本document.json中就有内容,上面代码最后的}之后需要加一个英文的逗号。

为了方便 ,我将og:image属性放在了站点扩展,这样只需指定一张图片,就可以一直使用了。
如果你想要每个文章都单独指定一张图片,可以将og:image那一段大括号的内容,从站点扩展,移动到文档扩展。
一旦og:image放在了文档扩展,你就必须每个文件都单独指定一张图片。不然,生成网站的时候就会遇到错误。

填写内容

打开MWeb,添加必要的属性。

站点扩展

fill_site_extensions

  • twitter:site,是你站点对应的推特,如果没有,就填成你自己的。
  • twitter:creator,是作者,也就是你自己的推特。
  • og:image,是卡片的题图。需要把它放在主题的asset/img/下。建议图片大小不要小于1600x900。
    • 如果你的是在文档中指定的,那就是是media/开头的地址。

注意:站点扩展,每个站点都需要单独设置。

文档扩展

打开你要修改的文章,点开最右侧的ℹ️标志,粘贴一段文字,或者编写文档摘要到og:description文本框即可。

修改模版

之后就是修改模板了。一个MWeb生成的模版,大致可以分成headbodyfooter三部分。

  • head对应,主题中的header.html文件。
  • body,根据性质的不同,分别对应主题中的post.htmlpage.htmlcategory.htmlarchives.html文件。
  • footer就对应footer.html

根据推特的要求,它的信息,必须写在html文件的head的meta中,这个是在模版的header.html中。这里,我们遇到了一个较大的困难。我们的一部分内容,是只有在post.html才可以得到。header.html无法取到相应的数据。

我的解决方案是修改header.html文件,将/head及之后的内容移动到对应body的部分,即需要移动内容到post.htmlpage.htmlcategory.htmlarchives.html文件中。

注意:如果你使用的是其他的主题,可能对应body的不是我写的这几个文件,有可能是别的文件,或者甚至更多。但修改的原理是相同的。

删减head.html

用文本编辑器打开head.html。剪切</header>以及以后的内容,我这里对应的是第42行开始。

修改其他模版文件

将剪切的内容粘贴到post.htmlpage.htmlcategory.htmlarchives.html文件的顶部。

插入推特信息

将下面的代码,插入到post.htmlpage.html的顶部。另外两个文件不必插入。

<!--Twitter Meta-->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="{{ext_twitter:site}}" />
<meta name="twitter:creator" content="{{ext_twitter:creator}}" />
<meta name="twitter:title" content="{{post.title}}" />
<meta property="og:url" content="{{siteURL}}{{post.url}}" />
<meta property="og:title" content="{{pageTitle}}" />
<meta property="og:description" content="{{post.ext_og:description}}" />
<meta property="og:image" content="{{siteURL}}{{ext_og:image}}" />

完成

保存所有文件,在MWeb中的站点,选择清空并重新生成网站,然后同步网站到你的服务器就可以了。

以后,你只要分享任意该网站的文章链接到推特,就可以同步生成推特卡片了。

参考资料