6月28号拿到的手表,碰巧遇上了期末考试的考试周,一直没时间研究,今天考完试便立即开始研究。我现在分享一下今天的研究成果还有使用体验。
手表非常的漂亮,先给大家分享一下我刚拿到手表的开箱图。
25号到现在7号9天多的时间,电池电量还有66%,续航能力也非常的给力!
在官方下载的Demo里,Web request的Demo对一些初学者来说会比较难理解,一下子就吓到了一些小白。我现在给大家解析我自己理解的Web request,同时还稍微精简了一下程序,让初学者更好理解,如果有不正确的地方,请大家指出,谢谢谅解。
很多朋友想让自己的手表连接上自己的Arduino或者单片机,Web request是跟自己的单片机通信的方式之一。
HTTP是一个基于TCP的文本传输协议,我们在地址栏里面输入http://a.b.c.d/的时候,实际上是向a.b.c.d这个ip发送一个HTTP GET信息,这个信息如下(chrome浏览器)
GET / HTTP/1.1
Host: 192.168.1.107
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
后面的一串东西只是一些附加信息,而最重要的是GET/HTTP/1.1。
假如我们发送的是http://a.b.c.d/Hello
收到的将会是GET /Hello HTTP/1.1
所以你现在大概理解是怎么通过http来发送你的信息了吧?
而在我的Demo里,发送的信息为如下代码。
收到的是如下的消息
再看下面这段代码
当你url请求后,一般收到会json数据,其中包含很多信息,而过滤参数的作用则是将你需要的信息过滤出来给你。
值得注意的是maibu_comm_request_web这条语句中的sync_time这个参数,当sync_time大于0时,实际的最小有效值为5s,意思是你最快也只能每5s请求一次url,但是在我的使用过程中,很多时候要更久才能再请求一次,所以对发送数据量较大或者数度有要求的同学就来问题了。这个问题我还没想到解决办法。
以上代码的作用则是当发送失败后,起到重新发送的作用,还是有一定几率会发送失败的。
将以上代码应用到你的手表中,可以跟你的单片机通信还是很有意思的。
Web request Demo可以在下面下载。
1.34 KB, 下载次数: 461
Web request Demo
欢迎光临 麦步社区-论坛 (http://bbs.maibu.cc/) | Powered by Discuz! X3.2 |