1

如何获取从 Raspberry Pi 传感器的 rest API 调用返回的数据?

我一直在使用邮递员来操作 GET 和 POST 调用,所以我可以看到它的工作原理并查看响应。xcode控制台返回的信息如下:

可选({ URL:> http://192.168.1.83:8000/GPIO/10/value } {状态码:200,标头{“缓存控制”=“无缓存”;“内容长度”= 1; “内容类型”=“文本/纯文本”;日期=“格林威治标准时间 2016 年 2 月 29 日星期一 23:40:32”;服务器 =“WebIOPi/0.7.1/Python3.4”;}})

我使用的代码是从邮递员生成的,如下所示:

import Foundation

let headers = [
  "authorization": "Basic ***SNIP***",
  "cache-control": "no-cache",
  "postman-token": "e-4d2-2------d---9d---c0bc72a44f7e"
]

var request = NSMutableURLRequest(URL: NSURL(string:         "http://192.168.1.83:8000/GPIO/10/value")!,
                                    cachePolicy:     .UseProtocolCachePolicy,
                                timeoutInterval: 10.0)
request.HTTPMethod = "GET"
request.allHTTPHeaderFields = headers

let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler:    { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? NSHTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

我想要调用 GPIO 引脚 10 所返回的值,这将是 0 或 1。如果我尝试从完成处理程序响应中获取值,它会返回 Nil,而我尝试的几乎所有其他操作都会崩溃它。

4

1 回答 1

0

好的,想通了!我需要使用....

dispatch_async(dispatch_get_main_queue(),
                {
}

我不确定这是否是标准做法,但我可以得到我需要的东西(yipee),所以现在我可以用我的方式发送一些 kharma 来改变!!!随时发表评论或称我为 putz,但如果有人想给出正确的技术解释会更好,这样我就可以更好地理解它以及其他可能从中受益的人

于 2016-03-01T06:39:09.810 回答