<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[基于Laravel+Swoole开发智能家居后端]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Thu, 30 Jun 2016 03:09:32 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：在本人用PHP和硬件进行交互的时候，用过dio_open这些，但硬件有硬件的特点，特别是一些位啥的，这儿就有一个问题涉及到串口16进制啥的，这位兄弟在实践中遇到的一些转化如：chr()、hexdec()、bin2hex()这3个函数，网上还提到了用pack()、unpack()，因为前面3个函数以及很好的解决了问题，所以就没有继续深入。 再就是用fiddler来看发送的十六进制，以及在进行十六进制转十进制的一些问题，很有价值：<br/>一）转换函数：<br/><textarea name="code" class="php" rows="15" cols="100">
chr()函数从不同的 ASCII 值返回字符，hexdec() 函数把十六进制转换为十进制。通常结合这两个函数把16进制字符串转换为ASCII字符串,理解起来有点绕。
例如： echo chr(hexdec(&#039;fe&#039;));//输出的就是下位机能认识的16进制的FE,大小写不敏感

bin2hex()函数把 ASCII 字符的字符串转换为十六进制值，用于从Swoole中读取数据的转换。
例如：$buffer = str_split(bin2hex($data), 2);//$data是Swoole中OnReceive事件传递的值

</textarea><br/><br/>二）再谈fiddler2的一个好处：<br/>优雅的快速测试<br/>由于PHP是弱类型，因此理解起来比较费解。接收数据和向硬件发送数据的数据类型是不一样的。用bin2hex()得到的是形如&quot;11 00 00 FE&quot;的字符串，用chr(hexdec())得到的是16进制的ASCII码，如果echo输出的话，会是乱码。那么如何测试（看到）自己生成的16进制ASCII码数据是否正确呢？1种是找一个TCP/IP工具发送过去，这种麻烦了点，我推荐用fiddler监听。<br/><br/><br/>HexView中的黑色部分就是你发送的<br/>你可以快速方便的用一个web页面输出你的ASCII码，在fiddler的HexView中，就可以看到原汁原味你发送的16进制数据了。另外，由于Swoole的监听类是CLI运行，因此我也非常推荐多写一点echo打印一下状态，在phpstorm的SSH客户端里可以快速的了解目前的情况，就像android-studio的Loger一样。<br/><br/>三）echo Carbon::now() . &#039;/Device Numbers:&#039; . $devNum . PHP_EOL;//老司机劝你多写点，最好packagist找个轮子或者自己写个Logger库<br/><br/><br/>除开本人的一个眉批外，以上摘录自：<br/>文／保安保安（简书作者）<br/>原文链接：http://www.jianshu.com/p/b25e8b46bd02<br/>著作权归作者所有，转载请联系作者获得授权，并标注“简书作者”。<br/><br/>
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 基于Laravel+Swoole开发智能家居后端]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>