程序技术好文:让你的WizFi250适应各种气候

简介: 程序技术好文:让你的WizFi250适应各种气候

这篇文章会具体描写叙述如何马上得到指定城市的天气状况(比方首尔)。由OpenWeatherMap提供。


用JSON(由OpenWeatherMap提供),XML和一个以太网模块。使WIZnet-WizFi250执行起来。


首先,在OpenWeatherMap上检查API内容。


由城市的名称调用。API用一列结果应答。来匹配一个搜索词。


在JSON中:


api.openweathermap.org/data/2.5/weather?q=London,uk //代码效果参考:http://www.lyjsj.net.cn/wz/art_24023.html

在XML:

api.openweathermap.org/data/2.5/weather?q=London&mode=xml


然后,尾随上面的指导。在电脑上将JSON和XML格式中的首尔天气数据提取出来。


以下有一个网络数据包的截屏能够作为參考。


红色高亮部分的数据是由PC发送的。我们准备消除不必要部分,并使用请求数据输入下面数据。


在这步。 \r(Carriage return, 0x0d), \n(Line Feed, 0x0a)必须准确输入,而且传送数据(72 Byte, 81 Byte)也要特别注意。


JSON


GET /data/2.5/weather?q=Seoul HTTP/1.1\r\n


Host: api.openweathermap.org\r\n\r\n


(72 Byte)


XML


GET /data/2.5/weather?q=Seoul&mode=xml HTTP/1.1\r\n


Host: api.openweathermap.org\r\n\r\n


(81 Byte)


既然初始化设置已完毕,我们将执行WizFi250.首先,在AP上建立联接。


AT+WSET=0,Team Wiki


【OK】 AT+WSEC=0,,12345678


【OK】 AT+WNET=1


【OK】 AT+WJOIN


Joining : Team Wiki


Successfully joined : Team Wiki


【Link-Up Event】 IP Addr : 192.168.101.33


Gateway : 192.168.101.1


【OK】


提取OpenWeatherMap API server的IP地址。


AT+FDNS=api.openweathermap.org,3000


128.199.164.95


【OK】


与OpenWeatherMap API server连接。


AT+SCON=O,TCN,128.199.164.95,80,,0


【OK】 【CONNECT 0】


发送JSON请求数据到 OpenWeatherMap APIserver。


AT+SSEND=0,,,72


【0,,,72】 ( ? 72 Byte? .)


【OK】


然后,OpenWeatherMap API server将用一个JSON回复(例如以下)来应答。


{0,128.199.164.95,80,857}HTTP/1.1 200 OK


Server: nginx


Date: Wed, 06 Aug 2014 00:06:49 GMT


Content-Type: application/json; charset=utf-8


Transfer-Encoding: chunked


Connection: keep-alive


X-Source: redis


Access-Control-Allow-Origin:


Access-Control-Allow-Credentials: true


Access-Control-Allow-Methods: GET, POST


221


{“coord”:{“lon”:126.98,”lat”:37.57},”sys”:{“type”:3,”id”:8519,”message”:0.033,”country”:”KR”,”sunrise”:1407184771,”sunset”:1407234998},”weather”:【{"id":721,"main":"Haze","description":"haze","icon":"50n"},{"id":500,"main":"Rain","description":"light


rain","icon":"10n"},{"id":701,"main":"Mist","description":"mist","icon":"50n"}】,”base”:”cmc stations”,”main”:{“temp”:297.26,”pressure”:1005,”humidity”:83,”temp_min”:295.15,”temp_max”:298.15},”wind”:{“speed”:1,”deg”:140},”clouds”:{“all”:40},”dt”:1407277800,”id”:1835848,”name”:”Seoul”,”cod”:200}


0


假设一旦完整接收,连接仍在进行。用OpenWeatherMap APIserver来终止连接。


AT+SMGMT=ALL


【DISCONNECT 0】 【OK】


如今。分析如上接收的JSON数据,使用期望的天气数据(首尔的温度,湿度。风速等等)Enjoy!


以下是当你在XML格式下接收数据情况下。然而。WizFi250操作的基本规则是与JSON想死的。所以应该非常easy。


AT+SCON=O,TCN,128.199.164.95,80,,0


【OK】 【CONNECT 0】 AT+SSEND=0,,,81


【0,,,81】 ( ? 81 Byte? .)


【OK】 {0,128.199.164.95,80,969}HTTP/1.1 200 OK


Server: nginx


Date: Tue, 05 Aug 2014 23:59:54 GMT


Content-Type: text/xml; charset=utf-8


Transfer-Encoding: chunked


Connection: keep-alive


X-Source: back


Access-Control-Allow-Origin:


Access-Control-Allow-Credentials: true


Access-Control-Allow-Methods: GET, POST


29a


KR


0


AT+SMGMT=ALL


【DISCONNECT 0】 【OK】


欢迎登陆WIZnet官方站点:


WIZnet官方博客:

相关文章
|
4天前
|
缓存 算法 数据可视化
程序技术好文:计算机图形学
程序技术好文:计算机图形学
|
4天前
|
文字识别 数据安全/隐私保护
程序技术好文:简易验证码识别
程序技术好文:简易验证码识别
程序技术好文:简易验证码识别
|
15天前
|
算法
探索技术之巅:我的编程之旅
【6月更文挑战第15天】在这篇文章中,我将分享我在编程领域的旅程和感悟。从最初的困惑到逐渐掌握技能,再到深入理解技术的精髓,我将带你了解我如何在这个充满挑战和机遇的领域中不断成长。
|
4天前
程序技术好文:欧奈尔的RPS曲线的编制方法(陶博士原创)
程序技术好文:欧奈尔的RPS曲线的编制方法(陶博士原创)
|
JSON 安全 JavaScript
开源分享|速进!这些开源项目助你玩转世界杯
为了帮助大家找到更好的世界杯打开方式,OpenSCA项目组搜罗了一些与世界杯相关的开源项目。一起来看看吧~
187 0
开源分享|速进!这些开源项目助你玩转世界杯
|
程序员
一篇文章,助你实现认知突破,重获新生(全网首发)
如何实现认知突破?今天,**我将从这23个环环相扣的问题出发,一步一步,帮助你实现质的突破,找到人生新的可能**。 ## 1、为什么许多人的人生都难免陷入混沌之中? 因为对未来充满模糊。 而只有制造清晰,才能消除你心中的模糊。 ### 如何制造清晰? 从混沌到清晰,关键在于,通过学习不断地加深自己对事物的认知,**只有认知越清晰,你的行动才会越坚定**,然后再去持续做那些
一篇文章,助你实现认知突破,重获新生(全网首发)
|
人工智能 大数据 Java
大数据肌肉猿公众号年终总结(文末福利)
大数据肌肉猿公众号年终总结(文末福利)
大数据肌肉猿公众号年终总结(文末福利)
你不必懂 但我们一直在 —— 技术人致敬
你不必懂,但我们一直在。1024 技术人节日快乐!
1554 0
你不必懂 但我们一直在 —— 技术人致敬
|
算法 Java 程序员
蚂蚁金服中间件,一大波面经来袭!助Java程序员一臂之力
蚂蚁金服中间件一号机 一面: 自我介绍 1、Java中的多线程了解么,线程池的增长策略和拒绝策略了解么,说一下。 2、讲一下线程增加的过程和拒绝策略的执行。
1855 1
|
Java Linux 开发者
收藏!阿里毕玄16篇文章,深度讲解Java开发、系统设计、职业发展 | 技术日报(8期)
阿里毕玄结合自己的经历深度讲解Java开发、系统设计、职业发展等问题,快来一键收藏吧。
1831 0