Я получил Raspberry Pi с запущенным на нем сервером json rpc. я использовал этот модуль: https://github.com/bcb/jsonrpcserver
Все работает нормально, когда я делаю запрос только следующим способом:
@method
def ping():
return "pong"
Но когда я хочу пойти дальше и выполнить другие функции и такие вещи, как
@method
def changeDisplay():
self.led.clear_display()
Даже когда я делаю
@method
def ping():
self.helloworld()
def helloworld():
print("helloworld")
тогда я получаю ошибку 500 без дальнейшего объяснения.
request("http://192.168.2.5:5000", "ping")
Запрос выглядит как выше. Я застрял и перепробовал много разных вещей.
Traceback:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\jsonrpcclient\__init__.py", line 8, in request
return HTTPClient(endpoint).request(*args, **kwargs)
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\apply_defaults\decorators.py", line 13, in wrapper
return function(self, *args, **kwargs)
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\jsonrpcclient\client.py", line 232, in request
validate_against_schema=validate_against_schema,
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\apply_defaults\decorators.py", line 13, in wrapper
return function(self, *args, **kwargs)
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\jsonrpcclient\client.py", line 171, in send
self.validate_response(response)
File "C:\Users\Tijn\PycharmProjects\JSONrpcTest\venv\lib\site-packages\jsonrpcclient\clients\http_client.py", line 48, in validate_response
raise ReceivedNon2xxResponseError(response.raw.status_code)
jsonrpcclient.exceptions.ReceivedNon2xxResponseError: Received 500 status code
Pastebin полного кода:
https://pastebin.com/dgFEUBNp
UPDATE
Думаю, это как-то связано с тем, что сервер не является асинхронным. Все отпечатки после запуска сервера не печатаются