Python Can';t连接到本地主机(8888)上的pigpio Can';不要创建回调线程。可能有太多同时的pigpio连接
已将DHT11连接到Rpi4 VCC--引脚1 datapin--gpio4 接地针脚--针脚6 它工作得很好,但是在给出了几次结果之后,我得到了这个错误。 pigpio新手请帮我找出问题所在Python Can';t连接到本地主机(8888)上的pigpio Can';不要创建回调线程。可能有太多同时的pigpio连接,python,python-3.x,raspberry-pi,raspbian,pigpio,Python,Python 3.x,Raspberry Pi,Raspbian,Pigpio,已将DHT11连接到Rpi4 VCC--引脚1 datapin--gpio4 接地针脚--针脚6 它工作得很好,但是在给出了几次结果之后,我得到了这个错误。 pigpio新手请帮我找出问题所在 import time from pigpio_dht import DHT11, DHT22 while True: gpio = 4 # BCM Numbering sensor = DHT11(gpio) #sensor = DHT22(gpio)
import time
from pigpio_dht import DHT11, DHT22
while True:
gpio = 4 # BCM Numbering
sensor = DHT11(gpio)
#sensor = DHT22(gpio)
result = sensor.read()
temperature=([value for value in result.values()][0])
print(temperature)
humidity=([value for value in result.values()][2])
print(humidity)
time.sleep(10)
输出:
28
46
28
46
28
46
28
46
28
46
然后我得到以下结果:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Can't connect to pigpio at localhost(8888)
Can't create callback thread.
Perhaps too many simultaneous pigpio connections.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Traceback (most recent call last):
File "dht8.py", line 9, in <module>
sensor = DHT11(gpio)
File "/home/pi/.local/lib/python3.7/site-packages/pigpio_dht/dht11.py", line 24, in __init__
super(DHT11, self).__init__(gpio, pi=pi, timeout_secs=timeout_secs, use_internal_pullup=True, max_read_rate_secs=1, datum_byte_count=1)
File "/home/pi/.local/lib/python3.7/site-packages/pigpio_dht/dhtxx.py", line 47, in __init__
self._pi.set_pull_up_down(gpio, pigpio.PUD_UP)
File "/usr/lib/python3/dist-packages/pigpio.py", line 1385, in set_pull_up_down
return _u2i(_pigpio_command(self.sl, _PI_CMD_PUD, gpio, pud))
File "/usr/lib/python3/dist-packages/pigpio.py", line 993, in _pigpio_command
sl.s.send(struct.pack('IIII', cmd, p1, p2, 0))
AttributeError: 'NoneType' object has no attribute 'send'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
无法连接到本地主机上的pigpio(8888)
无法创建回调线程。
可能有太多同时的pigpio连接。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
回溯(最近一次呼叫最后一次):
文件“dht8.py”,第9行,在
传感器=DHT11(gpio)
文件“/home/pi/.local/lib/python3.7/site packages/pigpio_dht/dht11.py”,第24行,在u_init中__
super(DHT11,self)。\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(gpio,pi=pi,timeout\u secs=timeout\u secs,use\u internal\u pullup=True,max\u read\u secs=
文件“/home/pi/.local/lib/python3.7/site packages/pigpio_dht/dhtxx.py”,第47行,在u_init中__
自我设置向上拉向下(gpio、pigpio、PUD向上)
文件“/usr/lib/python3/dist packages/pigpio.py”,第1385行,在set\u pull\u up\u down中
返回u2i(_pigpio_命令(self.sl,_PI_CMD_PUD,gpio,PUD))
文件“/usr/lib/python3/dist packages/pigpio.py”,第993行,在_pigpio_命令中
sl.s.send(结构包('IIII',命令,p1,p2,0))
AttributeError:“非类型”对象没有属性“发送”
提前感谢您正在
while
循环中设置设备,因此它会创建同一设备的多个实例,从而产生错误代码
Can't create callback thread.
Perhaps too many simultaneous pigpio connections.
您需要创建一个设备实例并从传感器中长期读取信息。类似这样的方法会奏效:
import time
from pigpio_dht import DHT11, DHT22
gpio = 4 # BCM Numbering
sensor = DHT11(gpio)
while True:
result = sensor.read()
temperature=([value for value in result.values()][0])
print(temperature)
humidity=([value for value in result.values()][2])
print(humidity)
time.sleep(10)
您必须在while循环之外进行设置,因为它会创建一个新的连接实例。将您的
gpio=4#BCM编号
和sensor=DHT11(gpio)
移动到while之外loop@BijayRegmi是的..你的权利..现在起作用了..谢谢你为将来寻找这个的人创造了一个答案