{"id":1344,"date":"2018-06-28T15:17:42","date_gmt":"2018-06-28T06:17:42","guid":{"rendered":"http:\/\/robonoid.bluecomtech.com\/?page_id=1344"},"modified":"2018-06-28T15:17:43","modified_gmt":"2018-06-28T06:17:43","slug":"specifications-protocol","status":"publish","type":"page","link":"http:\/\/robonoid.bluecomtech.com\/en_US\/specifications-protocol","title":{"rendered":"Specifications - Protocol"},"content":{"rendered":"<h2 id=\"basic_specification\" class=\"sectionedit2\">Basic Specification<\/h2>\n<p>In sending a command, firstly send header that defined as 3 characters. Secondly formatting and send each argument.<\/p>\n<p>Before sending a command, client must convert binary-expression to ascii-expression. (If the client sending a command without conversion, PLEN&#8217;s moving is different from you intended.)<\/p>\n<p>No differences the command line made of upper case or lower case. Required baud-rate is <strong>2,000,000<\/strong>.<\/p>\n<h2 id=\"group_of_controller_command\" class=\"sectionedit2\">Group of Controller Command<\/h2>\n<h3 id=\"an_apply_native_value\" class=\"sectionedit3\">$AN (Apply Native Value)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">DEVICE_ID<\/td>\n<td align=\"left\">Set a device id.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">23<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE<\/td>\n<td align=\"left\">Set to apply native value.<\/td>\n<td align=\"center\">-2048<\/td>\n<td align=\"center\">2047<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c3 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to apply <strong>1000<\/strong> to device <strong>10<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"ad_apply_diff_value\" class=\"sectionedit3\">$AD (Apply Diff Value)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">DEVICE_ID<\/td>\n<td align=\"left\">Set a device id.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">23<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE<\/td>\n<td align=\"left\">Set to apply diff value.<\/td>\n<td align=\"center\">-2048<\/td>\n<td align=\"center\">2047<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c3 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to apply <strong>home value &#8211; 100<\/strong> to device <strong>4<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"pm_play_a_motion\" class=\"sectionedit3\">$PM (Play a Motion)<\/h3>\n<p><strong>Attention!<\/strong><br \/>\nYou could also use &#8220;$MP&#8221;, but this is <strong>deprecated<\/strong>.<\/p>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">Set to read slot.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">89<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to play slot <strong>4<\/strong>, send command below. <a href=\"http:\/\/web.bluecomtech.com\/PLEN%202016\/plen.jp\/playground\/wiki\/specifications\/motion_assignment.html\">See also&#8230;<\/a><\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"sm_stop_a_motion\" class=\"sectionedit3\">$SM (Stop a Motion)<\/h3>\n<p><strong>Attention!<\/strong><br \/>\nYou could also use &#8220;$MS&#8221;, but this is <strong>deprecated<\/strong>.<\/p>\n<p><em>example<\/em>:<br \/>\nIf you want to stop a motion, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"hp_apply_home_position\" class=\"sectionedit3\">$HP (Apply Home Position)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to apply home position, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h2 id=\"group_of_interpreter_command\" class=\"sectionedit2\">Group of Interpreter Command<\/h2>\n<h3 id=\"pu_push_a_function\" class=\"sectionedit3\">#PU (Push a Function)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">Set to read slot.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">89<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_COUNT<\/td>\n<td align=\"left\">Set number of play.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">255<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to push function that plays slot <strong>10<\/strong> <strong>three<\/strong> times, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"po_pop_a_function\" class=\"sectionedit3\">#PO (Pop a Function)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to pop a function, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"ri_reset_the_interpreter\" class=\"sectionedit3\">#RI (Reset the Interpreter)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to reset the interpreter, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h2 id=\"group_of_setter_command\" class=\"sectionedit2\">Group of Setter Command<\/h2>\n<h3 id=\"mh_set_a_motion_header\" class=\"sectionedit3\">&gt;MH (Set a Motion Header)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">Set to write slot.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">89<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">NAME<\/td>\n<td align=\"left\">Set a motion name.<\/td>\n<td align=\"center\">&#8212;<\/td>\n<td align=\"center\">&#8212;<\/td>\n<td align=\"left\">White space padding\uff0c20 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_LOOP<\/td>\n<td align=\"left\">Use loop function or not.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"left\">True (1) or false (0), 1 byte<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_BEGIN<\/td>\n<td align=\"left\">Set a loop beginning frame.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">255<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_END<\/td>\n<td align=\"left\">Set a loop ending frame.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">255<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_COUNT<\/td>\n<td align=\"left\">Set a loop count. (255 as infinity.)<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">255<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_JUMP<\/td>\n<td align=\"left\">Use jump function or not.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"left\">True (1) or false (0), 1 byte<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">JUMP_SLOT<\/td>\n<td align=\"left\">Jump to the slot after stopped the motion.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">255<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_EXTRA<\/td>\n<td align=\"left\">Use extra function or not. (WIP)<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"left\">True (1) or false (0), 1 byte<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">FRAME_LENGTH<\/td>\n<td align=\"left\">Set a frame length.<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"center\">20<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nPlease get more details at &#8220;&gt;MF&#8221; section.<\/p>\n<h3 id=\"mf_set_a_motion_frame\" class=\"sectionedit3\">&gt;MF (Set a Motion Frame)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">Set to write slot.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">89<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">FRAME_ID<\/td>\n<td align=\"left\">Set a frame id.<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"center\">20<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">TRANSITION_TIME_MS<\/td>\n<td align=\"left\">Set a transition time (msec).<\/td>\n<td align=\"center\">32<\/td>\n<td align=\"center\">65535<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c4 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE[DEVICE_ID]<\/td>\n<td align=\"left\">Set to apply value. (*1)<\/td>\n<td align=\"center\">-32768<\/td>\n<td align=\"center\">32767<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c4 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>(*1) Sum of devices is 24 and the all are servo motors in current implementation.<\/strong><\/p>\n<p><em>example<\/em><br \/>\nIntroduce how to install a motion below.<\/p>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">NAME<\/td>\n<td align=\"left\">Test<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_LOOP<\/td>\n<td align=\"left\">True<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_BEGIN<\/td>\n<td align=\"left\">0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_END<\/td>\n<td align=\"left\">1<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">LOOP_COUNT<\/td>\n<td align=\"left\">3<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_JUMP<\/td>\n<td align=\"left\">True<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">JUMP_SLOT<\/td>\n<td align=\"left\">50<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">USE_EXTRA<\/td>\n<td align=\"left\">False<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">FRAME_LENGTH<\/td>\n<td align=\"left\">2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">TRANSITION_TIME_MS<\/td>\n<td align=\"left\">100<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE[EVEN]<\/td>\n<td align=\"left\">0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE[ODD]<\/td>\n<td align=\"left\">-1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Please send command below. (Do not need to insert CR, LF, or CRLF actually.)<\/p>\n<pre><code><\/code><\/pre>\n<p>If you are interested deeply, please see also <a href=\"https:\/\/github.com\/plenprojectcompany\/plen-ControlServer\/blob\/master\/control_server\/protocol\/protocol.py\">the implementation on the Control Server<\/a>.<\/p>\n<h3 id=\"js_reset_the_joint_settings\" class=\"sectionedit3\">&gt;JS (Reset the Joint Settings)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to reset the joint settings, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"ho_set_a_home_value\" class=\"sectionedit3\">&gt;HO (Set a Home Value)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">DEVICE_ID<\/td>\n<td align=\"left\">Set a device id.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">23<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE<\/td>\n<td align=\"left\">Set to apply home value.<\/td>\n<td align=\"center\">-2048<\/td>\n<td align=\"center\">2047<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c3 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to apply <strong>100<\/strong> as home value to device <strong>0<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"ma_set_a_max_value\" class=\"sectionedit3\">&gt;MA (Set a Max Value)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">DEVICE_ID<\/td>\n<td align=\"left\">Set a device id.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">23<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE<\/td>\n<td align=\"left\">Set to apply max value.<\/td>\n<td align=\"center\">-2048<\/td>\n<td align=\"center\">2047<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c3 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to apply <strong>100<\/strong> as max value to device <strong>0<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"mi_set_a_min_value\" class=\"sectionedit3\">&gt;MI (Set a Min Value)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">DEVICE_ID<\/td>\n<td align=\"left\">Set a device id.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">23<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">VALUE<\/td>\n<td align=\"left\">Set to apply min value.<\/td>\n<td align=\"center\">-2048<\/td>\n<td align=\"center\">2047<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c3 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to apply <strong>-1<\/strong> as min value to device <strong>10<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<h2 id=\"group_of_getter_command\" class=\"sectionedit2\">Group of Getter Command<\/h2>\n<h3 id=\"js_dump_the_joint_settings\" class=\"sectionedit3\">&lt;JS (Dump the Joint Settings)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to dump the joint settings, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<p>At that time, outputting result like json below.<\/p>\n<pre><code><\/code><\/pre>\n<h3 id=\"mo_dump_a_motion\" class=\"sectionedit3\">&lt;MO (Dump a Motion)<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Args<\/th>\n<th align=\"left\">Roles<\/th>\n<th align=\"center\">Min (dec)<\/th>\n<th align=\"center\">Max (dec)<\/th>\n<th align=\"left\">Format<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">SLOT<\/td>\n<td align=\"left\">Set to read slot.<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">89<\/td>\n<td align=\"left\">0 padding\uff0chex\uff0c2 bytes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>example<\/em>:<br \/>\nIf you want to dump slot <strong>0<\/strong>, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<p>At that time, outputting result like &#8220;motion.json&#8221;. (<a href=\"https:\/\/github.com\/plenprojectcompany\/PLEN2\/tree\/master\/motions\">See also&#8230;<\/a>) However, property &#8220;device&#8221;&#8216;s type is not <strong>string<\/strong> but <strong>integer<\/strong> defined as device id in &#8220;<a href=\"https:\/\/github.com\/plenprojectcompany\/plen-ControlServer\/blob\/master\/control_server\/device_map.json\">device_map.json<\/a>&#8220;.<\/p>\n<h3 id=\"vi_dump_the_version_information\" class=\"sectionedit3\">&lt;VI (Dump the Version Information)<\/h3>\n<p><em>example<\/em>:<br \/>\nIf you want to dump the version information, send command below.<\/p>\n<pre><code><\/code><\/pre>\n<p>At that time, outputting result like json below.<\/p>\n<pre><code><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<h2 id=\"basic_specification\" class=\"sectionedit2\">Basic Specification<\/h2>\n<p>In sending a command, firstly send header that defined as 3 characters. Secondly formatting and send each argument.<\/p>\n<p>Before sending a command, client must convert binary-ex&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"spay_email":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9Nvgc-lG","_links":{"self":[{"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/pages\/1344"}],"collection":[{"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/comments?post=1344"}],"version-history":[{"count":1,"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/pages\/1344\/revisions"}],"predecessor-version":[{"id":1345,"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/pages\/1344\/revisions\/1345"}],"wp:attachment":[{"href":"http:\/\/robonoid.bluecomtech.com\/en_US\/wp-json\/wp\/v2\/media?parent=1344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}