-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Hello, first of all: Thank you very much for your code!
I always get an error, when trying to stop an drive event:
pi@raspberrypi:~/Downloads/lego/SBrick-Framework $ sudo python3 sbrick_server.py --connect --broker-ip 127.0.0.1 --broker-port 1883 --log-level debug --sbrick-id D0:CF:5E:52:BA:AE 2021-12-20 22:22:44,230 [sbrick_server.py:104(INFO)] MainThread - SBrick server settings 2021-12-20 22:22:44,230 [sbrick_server.py:106(INFO)] MainThread - connect:True 2021-12-20 22:22:44,230 [sbrick_server.py:106(INFO)] MainThread - scan:False 2021-12-20 22:22:44,230 [sbrick_server.py:106(INFO)] MainThread - broker_ip:127.0.0.1 2021-12-20 22:22:44,231 [sbrick_server.py:106(INFO)] MainThread - broker_port:1883 2021-12-20 22:22:44,231 [sbrick_server.py:106(INFO)] MainThread - broker_user:None 2021-12-20 22:22:44,231 [sbrick_server.py:106(INFO)] MainThread - broker_passwd:None 2021-12-20 22:22:44,231 [sbrick_server.py:106(INFO)] MainThread - sbrick_id:['D0:CF:5E:52:BA:AE'] 2021-12-20 22:22:44,231 [sbrick_server.py:106(INFO)] MainThread - log_level:debug 2021-12-20 22:22:47,281 [sbrick_api.py:155(INFO)] MainThread - Try to connect to SBrick (D0:CF:5E:52:BA:AE) 2021-12-20 22:22:47,440 [sbrick_api.py:174(INFO)] MainThread - Connect to SBrick (D0:CF:5E:52:BA:AE) successfully 2021-12-20 22:22:47,440 [sbrick_api.py:178(INFO)] MainThread - Get rcc characteristic 2021-12-20 22:22:48,415 [sbrick_m2mipc.py:60(INFO)] MainThread - Connect to mosquitto broker 127.0.0.1:1883 2021-12-20 22:22:55,174 [sbrick_m2mipc.py:97(DEBUG)] MainThread - Accept drive() event: {'sbrick_id': 'D0:CF:5E:52:BA:AE', 'channel': '02', 'direction': '00', 'power': '40', 'exec_time': 5566} 2021-12-20 22:22:55,175 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:22:55,176 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:22:56,178 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:22:56,178 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:22:57,180 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:22:57,180 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:22:58,182 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:22:58,183 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:22:59,185 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:22:59,185 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:23:00,187 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:23:00,188 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:23:01,190 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 01020040 2021-12-20 22:23:01,190 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x01\x02\x00@' 2021-12-20 22:23:01,827 [sbrick_m2mipc.py:106(DEBUG)] MainThread - Accept sopt() evnet: {'sbrick_id': 'D0:CF:5E:52:BA:AE', 'channels': ['02']} 2021-12-20 22:23:01,828 [sbrick_api.py:255(DEBUG)] MainThread - Stop action Unhandled exception in callback Traceback (most recent call last): File "/home/pi/Downloads/lego/SBrick-Framework/lib/m2mipc.py", line 153, in _on_uv_poll self.loop_read(100) File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 1556, in loop_read rc = self._packet_read() File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 2439, in _packet_read rc = self._packet_handle() File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 3033, in _packet_handle return self._handle_publish() File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 3327, in _handle_publish self._handle_on_message(message) File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 3570, in _handle_on_message on_message(self, self._userdata, message) File "/home/pi/Downloads/lego/SBrick-Framework/lib/m2mipc.py", line 200, in _on_mqtt_message subs[1](rr, agent, msg.topic, payload) File "/home/pi/Downloads/lego/SBrick-Framework/lib/sbrick_m2mipc.py", line 109, in _on_subscribe_stop sbrick.stop(channels=msg['channels']) File "/home/pi/Downloads/lego/SBrick-Framework/lib/sbrick_api.py", line 259, in stop thd.stop() File "/home/pi/Downloads/lego/SBrick-Framework/lib/sbrick_api.py", line 67, in stop self._timer_thd.cancel() AttributeError: 'NoneType' object has no attribute 'cancel' 2021-12-20 22:23:02,192 [sbrick_api.py:105(DEBUG)] channel_02 - Exec command 0002 2021-12-20 22:23:02,192 [sbrick_api.py:267(DEBUG)] channel_02 - RCC characteristic writes binary: b'\x00\x02' ^CReceive SIGINT signal 2021-12-20 22:23:10,678 [sbrick_m2mipc.py:44(INFO)] MainThread - Disconnect from mosquitto broker 127.0.0.1:1883 2021-12-20 22:23:10,682 [sbrick_api.py:222(INFO)] MainThread - Disconnect from SBrick(D0:CF:5E:52:BA:AE) successfully
my client code:
`from lib.sbrick_m2mipc import SbrickIpcClient
from time import sleep
import sys
import os
import signal
from xbox360controller import Xbox360Controller
SBRICK_MAC = 'D0:CF:5E:52:BA:AE'
SBRICK_CHANNEL = '02'
EXEC_TIME = 1
client = SbrickIpcClient(broker_ip='127.0.0.1', broker_port=1883)
client.connect()
def on_axis_moved(axis):
print('{0} '.format(axis.y))
if axis.y < -0.8:
print('Losfahren!')
client.publish_drive(sbrick_id=SBRICK_MAC,
channel=SBRICK_CHANNEL,
direction = '00', power=str(40),exec_time=5566)
if axis.y > -0.8:
print('Anhalten')
client.publish_stop(sbrick_id=SBRICK_MAC,
channel_list=[SBRICK_CHANNEL])
try:
with Xbox360Controller(0, axis_threshold=0.99) as controller:
fahren = False
controller.axis_l.when_moved = on_axis_moved
signal.pause()
except KeyboardInterrupt:
pass
client.disconnect()
sys.exit(0)
`