Raspberry Pi 4 Python上的ThingSpeak错误

Raspberry Pi 4 Python上的ThingSpeak错误,python,raspberry-pi,iot,Python,Raspberry Pi,Iot,因此,我目前正在进行一个大学项目,在我的Raspberry Pi 4上使用ThingSpeak(IoT)。我已经建立了ThingSpeak频道,还有一个程序可以正常工作,可以将数据授权给它。现在我正试图编写另一个程序来读取它,但我遇到了一个非常奇怪的问题 代码如下:(我已经“审查”了他们的相关密钥,这样人们就不会滥用该频道) 在循环的第二次迭代中,会发生以下情况: 136.22669 None Traceback (most recent call last): File "/ho

因此,我目前正在进行一个大学项目,在我的Raspberry Pi 4上使用ThingSpeak(IoT)。我已经建立了ThingSpeak频道,还有一个程序可以正常工作,可以将数据授权给它。现在我正试图编写另一个程序来读取它,但我遇到了一个非常奇怪的问题

代码如下:(我已经“审查”了他们的相关密钥,这样人们就不会滥用该频道)

在循环的第二次迭代中,会发生以下情况:

136.22669
None
Traceback (most recent call last):
  File "/home/pi/Documents/Projects/Project testing/RPI4_test.py", line 58, in <module>
    (data1, data2) = read_from_thingspeak()
  File "/home/pi/Documents/Projects/Project testing/RPI4_test.py", line 18, in read_from_thingspeak
    data.append(float(x['field1']))
TypeError: float() argument must be a string or a number, not 'NoneType'
136.22669
没有一个
回溯(最近一次呼叫最后一次):
文件“/home/pi/Documents/Projects/Project testing/RPI4_test.py”,第58行,在
(data1,data2)=从thingspeak()读取
文件“/home/pi/Documents/Projects/Project testing/RPI4_test.py”,第18行,读自
data.append(float(x['field1']))
TypeError:float()参数必须是字符串或数字,而不是“NoneType”
它坏了。如果我尝试重新运行程序,它现在会跳过它工作的部分,并直接转到损坏的部分

只有我重新运行将数据点馈送到ThingSpeak频道的程序,它才能再次正常运行


欢迎提出任何想法。

我查看了您的公共频道,您的field1数据中有一些空值。为什么要读取最后两个值?最好将数据放在多个字段中,读取一个提要条目,然后从中解析出正确的字段

我建议您在ThingSpeak上使用MQTT功能,然后您可以订阅该频道并仅在频道更改时获取更新

67.54235
136.22669
checking if data crossed threshold
successfully written light status
successfully written blinds status
136.22669
None
Traceback (most recent call last):
  File "/home/pi/Documents/Projects/Project testing/RPI4_test.py", line 58, in <module>
    (data1, data2) = read_from_thingspeak()
  File "/home/pi/Documents/Projects/Project testing/RPI4_test.py", line 18, in read_from_thingspeak
    data.append(float(x['field1']))
TypeError: float() argument must be a string or a number, not 'NoneType'