大家好,
我想找到 BME280 设备的当前高度,以计算正确的海平面压力。我过去常常通过调用一些在线可用的各种 api 来找到它,这些 api 可以用 http get 命令调用。然而,目前大多数这些都需要使用 https 来调用。其中之一同时支持 http 和 https。使用 http 我得到了正确的答案,但是即使我安装了 tls 模块,所有使用 https 的调用最终都会出现错误“HTTP 客户端:连接超时”。
这需要一些初始化吗?我需要证书吗?
我在 2018 年看到有问题,但我无法确定它是否已经解决。
这是我的代码:
代码:
全选 http.getnil, func
tion(status, body, headers)
if status < 0 then
transmit.log('Failed to get the IP Location')
return
end
print(body)
local gl = sjson.decode(body)
transmit.log('The device is in '..gl.city..', '..gl.country)
http.get nil, function(status, body, headers)
if status < 0 then
transmit.log('Could not get the altitude')
return
end
file.putcontents('geolocation.json', body)
local alt = sjson.decode(body)
transmit.log('Devices altitude is: ', alt[1].elevation)
file.putcontents('altitude.json', body)
service[1].altitude = math.floor(alt[1].elevation)
timer:start()
end)
end)
这是我新构建的 NodeMCU:
NodeMCU 3.0.0.0 基于 frightanic.com
分支提供的 nodemcu-build.com 构建:主
提交:3d917850180f67adc7f2c6b5d00f27c152e7194c
发布:
发布 DTS:202002231746
SSL:真实
构建类型:float
LFS:0x20000
模块:adc,位,bme280,crypto,encoder,file,gpio,http,i2c,mdns,net,node,ow,rtctime,sjson,tmr,uart,websocket,wifi,tls build 2020-04-06 18:07 由 Lua 5.1 提供支持
。 4 在 SDK 3.0.1-dev(fce080e)