gpt4 book ai didi

go - 使用 url 包更新 ThingSpeak 上的 channel

转载 作者:IT王子 更新时间:2023-10-29 00:46:41 25 4
gpt4 key购买 nike

我在 Raspberry Pi 上使用以下代码部分,以便将采样的 [温度和湿度] 值持续上传到 ThingSpeak [https://www.thingspeak.com/] 的 channel 。问题是只有第一个值被上传而其余的被忽略。我究竟做错了什么? values.Set 创建一个以前未创建的键,为其分配第一个值并毫无问题地替换每个下一个值。他们为什么不上传? http.PostForm有什么问题吗?

//imports

type Data struct {
Temperature int
Humidity int
}

//....

var data Data

func httpPost(values url.Values) {
values.Set("field1", fmt.Sprint(data.Temperature))
values.Set("field2", fmt.Sprint(data.Humidity))
log.Println(values)

_, err := http.PostForm("http://api.thingspeak.com/update", values)
if err != nil {
log.Printf("error posting values to thingspeak: %s", err)
}
return
}

//....

func main() {
dataPool := []Data{{28, 41}, {24, 43}, {27, 42}, {21, 40}}
values := make(url.Values)
values.Set("key", "Write API Key")

for _, value := range dataPool {
data = value

//ThingSpeak update
httpPost(values)

time.Sleep(2 * time.Second)
}
}

我对网络了解不多,但现在我正在通过连接在基于集线器的卫星互联网连接上的以太网端口访问互联网 [我想这不是正常的路由器连接?] 所以这可能是一个管理问题 [宿舍,呃]。我应该问问我的网络管理员,但无论如何我都把它放在这里。欢迎任何反馈。

最佳答案

好的,我找到问题所在了。显然 ThingSpeak 的 API 速率限制为 15 秒(http://community.thingspeak.com/documentation/api/),而我试图每 2 秒在 channel 上发布一次。我将 2 设置为 20,现在一切正常。感谢您的评论。

道德课:下次仔细阅读文档:)

关于go - 使用 url 包更新 ThingSpeak 上的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com