Skip to content

Commit

Permalink
Merge pull request #5 from houliangwang/main
Browse files Browse the repository at this point in the history
support add  led
  • Loading branch information
crealitycloud committed Aug 30, 2023
2 parents 659c455 + 3d2f6e2 commit 4c67e23
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 10 deletions.
2 changes: 1 addition & 1 deletion octoprint_crealitycloud/bin/rtsp_server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ else
cd $DIR
fi
./rtsp-simple-server
#ffmpeg -y -i /dev/video0 -s 640x480 -loglevel quiet -b:v 8000K -vcodec h264_omx -preset veryfast -f rtsp rtsp://127.0.0.1:554/ch0_0
#ffmpeg -y -i /dev/video0 -s 640x480 -loglevel quiet -b:v 8000K -vcodec h264_omx -preset veryfast -f rtsp rtsp://127.0.0.1:554/ch0_0
30 changes: 27 additions & 3 deletions octoprint_crealitycloud/crealityprinter.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ def __init__(self, plugin, lk, thingsboard, tbid, region, recorder):
self._printTime = 0
self.gcode_file = None
self.is_cloud_print = False
self._led = -1
self._logger.info("creality crealityprinter init!")
self.thingsboard = thingsboard
self._rpc_requestid = None
Expand All @@ -94,7 +95,7 @@ def __init__(self, plugin, lk, thingsboard, tbid, region, recorder):
self._livestream = None
self._pullclient = None
self._webrtc_thread = None
self._thingsboard_Id = tbid
self._thingsboard_Id = tbid
self.websocket_queue = queue.Queue()
self.close_queue = queue.Queue()
self.WebSocketClient = None
Expand All @@ -103,6 +104,7 @@ def __init__(self, plugin, lk, thingsboard, tbid, region, recorder):
self.recorder = recorder
self._telemetry_msg = {}
self._attributes_msg = {}
self._model = ''

def _upload_data(self, payload):
if not payload:
Expand Down Expand Up @@ -156,6 +158,28 @@ def filename(self,v):
self._attributes_msg["print"] = filename
except Exception as e:
self._logger.error(e)
@property
def led(self):
return self._led

@led.setter
def led(self, v):
if int(v) != int(self._led):
self._led = int(v)
self._logger.info("led=======" + self._model)
if self._led == 1:
if self._model == "CR-10 Smart Pro" or self._model == "CR-10 Smart":
# M224
self.printer.commands(["M224"])
else:
self.printer.commands(["M936 LEDSET1"])
else:
if self._model == "CR-10 Smart Pro" or self._model == "CR-10 Smart":
# M224
self.printer.commands(["M225"])
else:
self.printer.commands(["M936 LEDSET0"])
self._attributes_msg["led_state"] = self._led

@property
def print(self):
Expand Down Expand Up @@ -756,7 +780,7 @@ def token(self, v):
self._webrtc_thread = threading.Thread(target=self.start_webrtc_service)
self._webrtc_thread.start()
except Exception as e:
self._logger.error(e)
self._logger.error(e)
elif self._webrtc_thread is not None:
if self._webrtc_thread.is_alive() == False:
try:
Expand Down Expand Up @@ -826,7 +850,7 @@ def start_webrtc_service(self):
self._pc_update_timer = RepeatedTimer(30,self.peerconnection_upadate,run_first=False)
self._pc_update_timer.start()
try:
loop.run_until_complete(
loop.run_until_complete(
self.websocket_msg_run(self.WebrtcManager, self.WebSocketClient)
)
except KeyboardInterrupt:
Expand Down
2 changes: 1 addition & 1 deletion octoprint_crealitycloud/crealitytb.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def __init__(self, devicename, credentials):
,"err": 0,"curPosition":" ","printId":" ","filename":" ","video": 0,"netIP":" ","state": 0,"tfCard": 0,"model":" "
,"mcu_is_print": 0,"boxVersion":" ","InitString":" ","APILicense":" ","DIDString":" ","retGcodeFileInfo":" ","autohome": 0
,"fan": 0,"stop": 0,"print":" ","nozzleTemp2": 0,"bedTemp2": 0,"pause": 0,"opGcodeFile":" ","gcodeCmd":" ","setPosition":" "
,"livestream": 0, "token": " ", "pullclient": " ","tag":"1.1.3"}
,"livestream": 0, "token": " ", "pullclient": " ","tag":"1.1.3", "led_state": 0}
self.__on_server_side_rpc_request = None

def client_initialization(self, region):
Expand Down
8 changes: 4 additions & 4 deletions octoprint_crealitycloud/webrtc_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ async def signaling_message_handler(self, ws, message):
# elif(action == "bye"):
# peerId = data["from"]
# await self.remove_peer(self.peers[peerId])

if(action == "ice_msg"):
sdpMessage = dict["sdpMessage"]
type = sdpMessage["type"]
Expand Down Expand Up @@ -333,7 +333,7 @@ async def update_session_description(self, peer, description, peerId):
if(peer.get('remoteVideoStream')):
self._logger.info("### STARTING REMOTE STREAM this is the remote stream",peer.get('remoteVideoStream'))
await peer.get('remoteVideoStream').start()

if(description["type"] == 'offer'):
await peerConnection.setLocalDescription(await peerConnection.createAnswer())
if(self.verbose):
Expand Down Expand Up @@ -478,9 +478,9 @@ async def remove_peer(self, peerId):

def getIceServers(self, deviceName):
if self.region == 0:
url = "https://model-admin.crealitygroup.com/api/cxy/v2/webrtc/iceServersJwt"
url = "https://api.crealitycloud.cn/api/cxy/v2/webrtc/iceServersJwt"
else:
url = "https://model-admin2.crealitygroup.com/api/cxy/v2/webrtc/iceServersJwt"
url = "https://api.crealitycloud.com/api/cxy/v2/webrtc/iceServersJwt"
data = '{"deviceName": "' + str(deviceName) + '" }'
headers = {
"Content-Type": "application/json",
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
plugin_name = "OctoPrint-Crealitycloud-With-Video"

# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
plugin_version = "1.1.3"
plugin_version = "1.1.4"

# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
# module
Expand Down

0 comments on commit 4c67e23

Please sign in to comment.