1、whconsole.py简单介绍
whconsole.py用于测试klipper的对外接口api,其实是连接klipper的uds服务(Unix Domain Socket),官方也有介绍API 服务器 - Klipper 文档。
需要注意是的whconsole.py脚本启动不能使用Python3,否则会出问题。所以需要安装Python2,安装命令sudo apt install python2
安装完Python2后启动:scripts/whconsole.py /home/ykf/printer_data/comms/klippy.sock。然后提示“Waiting for connect to /home/ykf/printer_data/comms/klippy.sock
Connection.”表示与klipper连接成功。
2、常用命令
输入{"id": 123, "method": "gcode/help"}查看帮助命令
2.1 打印gcode文件指令:
{"id": 123, "method": "gcode/script", "params": {"script": "SDCARD_PRINT_FILE FILENAME=3911_rabit.gcode"}}
3、浏览器请求
3.1 objects/query 该端点查询可用打印机“对象”的列表,可以查询(通过“objects/query”端点),浏览器输入:
http://172.23.211.196:7125/printer/objects/query?objects&print_stats&extruder
返回:
{
"result": {
"objects": [
"webhooks",
"configfile",
"mcu",
"gcode_move",
"print_stats",
"virtual_sdcard",
"display_status",
"pause_resume",
"gcode_macro PAUSE",
"gcode_macro RESUME",
"gcode_macro CANCEL_PRINT",
"idle_timeout",
"heaters",
"heater_bed",
"fan",
"heater_fan my_nozzle_fan",
"filament_switch_sensor filament_sensor",
"probe",
"bed_mesh",
"bed_screws",
"exclude_object",
"motion_report",
"query_endstops",
"system_stats",
"manual_probe",
"toolhead",
"extruder"
]
}
}
3.2 objects/query 这个endpoint允许从打印机对象中查询信息
浏览器输入:http://172.23.211.196:7125/printer/objects/query?objects&print_stats&extruder
返回:
{
"result": {
"eventtime": 1198973.69910971,
"status": {
"objects": {
},
"print_stats": {
"filename": "",
"total_duration": 0,
"print_duration": 0,
"filament_used": 0,
"state": "standby",
"message": "",
"info": {
"total_layer": null,
"current_layer": null
}
},
"extruder": {
"temperature": 24.47,
"target": 0,
"power": 0,
"can_extrude": false,
"pressure_advance": 0,
"smooth_time": 0.04
}
}
}
}