다른 파이썬 모듈에서 콜백 함수를 정의했습니다. paho.mqtt 클라이언트 콜백에 다른 모듈에 정의 된 콜백을 어떻게 첨부합니까? 에 대한. 예를 들어 데이터베이스에 연결하고 데이터베이스 및 mqtt.client() 인스턴스를 만들고 브로커에 연결하여 주제에 가입하는 mqttbroker.py 모듈에 메시지를 저장하는 등의 모든 데이터베이스 작업을 수행하는 database.py가 있습니다. on_connect 및 on_disconnect와 같은 콜백을 정의 할 수 있습니다. 이제 on_message mqtt 콜백에서 database.py 모듈에 콜백 함수를 만들었습니다. 이 콜백은 어떻게 첨부합니까? database.py 및 mqttbroker.py 모듈을 가져 오는 main.py (내 클라이언트)가 있습니다.파이썬의 다른 클래스 모듈에서 paho mqtt 콜백
-2
A
답변
0
인터페이스를 정의하고 해당 인터페이스를 클라이언트 모듈에서 호출하고 데이터베이스 모듈에 정의 된 콜백을 인터페이스라고합니다.
#mqttbroker.py
def onMessage(self, callback):
self.client.on_message = callback
self.client.loop_forever()
#database.py
def on_message(self,client,userdata, msg)
#store messsages in db
#main.py
import mqqtbroker
import database
client = mqqtbroker()
client.connect(host, port, 60)
client.onMessage(database.on_message)
관련 문제
- 1. 다른 클래스의 Paho-mqtt 콜백 java
- 2. 여러 구독에 대한 Paho mqtt 콜백
- 3. paho-mqtt : callback thread
- 4. Android MQTT - Paho wss : //
- 5. MessageArrived MQTT paho library
- 6. MQTT PAHO [CERTIFICATE_VERIFY_FAILED]
- 7. paho mqtt 클라이언트 중개인 연결
- 8. PAHO MQTT 안드로이드 클라이언트는 안드로이드
- 9. MQXR 브로커에 연결하는 Paho MQTT
- 10. mqtt 콜백 범위 밖에있는 액세스 클래스 속성
- 11. 구독을 다시로드하기위한 paho mqtt 클라이언트 인터럽트
- 12. 라즈베리 파이에 Paho MQTT 클라이언트를 설치하는 방법
- 13. Paho MQTT (C++) 클라이언트가 Mosquitto에 연결하지 못했습니다.
- 14. django에서 paho mqtt 클라이언트를 사용하는 방법?
- 15. MQTT paho 클라이언트 연결 시간 초과 오류
- 16. Paho MqttClient를 사용하여 안드로이드에서 Mqtt 연결 시도하기
- 17. Python Paho MQTT and IBM Watson IoT
- 18. Python- 내가 보낸 Paho Mqtt 메시지가 다른 이유는 무엇입니까?
- 19. 여러 Paho MQTT 클라이언트를 서비스/데몬으로 실행하는 방법
- 20. paho mqtt의 SOP 위반
- 21. 모든 모듈에서 파이썬의 전역 변수
- 22. 다른 꼭두각시 모듈에서 클래스 확장하기
- 23. python paho mqtt 클라이언트 연결을 통해 ssl/tls 오류가 발생했습니다.
- 24. MQTT (paho) + activeMQ를 사용하여 메시지를받는 올바른 방법은 무엇입니까?
- 25. Mqtt Paho - 브로커에 연결할 수없는 동안 게시하려고 시도합니다.
- 26. 라즈베리 파이의 Paho MQTT 클라이언트는 결코 게시하지 않습니다
- 27. Bluemix가 Paho MQTT 클라이언트로 게시 할 때 연결을 끊습니다.
- 28. python paho mqtt x 분 동안 클라이언트를 실행하십시오.
- 29. C++ 프로젝트에서 Paho C Mqtt 라이브러리 오류 연결
- 30. paho mqtt 자바 스크립트 클라이언트가 주제를 구독 할 수 없습니다.
당신이 찾고 있던 분리가 깨졌습니다. 콜백을'mqttbroker.py'로 옮기고'database.py'를 호출하십시오. – hardillb
코드를 실제로 편집하려면 질문을 편집하십시오. – hardillb
감사합니다. 아래 코드를 찾으십시오. 이제 작동합니다. – Mythri