{"id":5876,"date":"2025-12-03T10:16:00","date_gmt":"2025-12-03T10:16:00","guid":{"rendered":"https:\/\/dewinelabs.wpenginepowered.com\/?p=5876"},"modified":"2026-06-02T07:37:52","modified_gmt":"2026-06-02T07:37:52","slug":"why-the-at-interface-sucks","status":"publish","type":"post","link":"https:\/\/dewinelabs.com\/de\/why-the-at-interface-sucks\/","title":{"rendered":"Why the AT interface typically causes issues in deployed industrial BLE systems"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5876\" class=\"elementor elementor-5876 elementor-5846\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f0c51e2 e-flex e-con-boxed e-con e-parent\" data-id=\"6f0c51e2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ff471c3 e-con-full e-flex e-con e-child\" data-id=\"ff471c3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b6e0be1 elementor-widget elementor-widget-text-editor\" data-id=\"b6e0be1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">If you\u2019ve built anything with Bluetooth Low Energy (BLE) modules, you\u2019ve probably used AT commands at some point.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You connect over UART, type a few text commands, get an <\/span><span style=\"font-weight: 400;\">OK<\/span><span style=\"font-weight: 400;\"> back, and things start working fast. For prototypes, internal tools, and low complexity devices, that approach makes sense.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The problem usually starts later.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A system that began with one BLE module turns into dozens of devices exchanging continuous data in noisy environments. Timing and throughput start to matter. Debugging gets harder. Communication delays become inconsistent. Suddenly, the UART command layer that felt convenient during development starts creating engineering problems.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This is where many industrial BLE systems hit the limits of AT interfaces.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac0beb9 elementor-widget elementor-widget-text-editor\" data-id=\"ac0beb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>What AT Interfaces Actually Solve<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">AT interfaces were originally built for human-operated modem communication. That design philosophy still shows up today.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The strengths are obvious:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Quick setup<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Human-readable commands<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Easy serial debugging<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Minimal firmware complexity<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Low barrier to entry for prototyping<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">For simple products, that can be completely fine. A sensor broadcasting small packets every few seconds usually does not need a sophisticated communication stack. But industrial systems are different.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b50eb9 elementor-widget elementor-widget-text-editor\" data-id=\"4b50eb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>Industrial BLE Systems Behave Differently Under Load<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">In industrial environments, wireless communication is rarely clean or predictable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You are dealing with:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">RF interference<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Dense Wi-Fi environments<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Multiple connected devices<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Retransmissions<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Moving machinery<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Timing-sensitive communication<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Under those conditions, consistency in production matters more than convenience during development.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The issue is not BLE itself. BLE can perform reliably in industrial environments when the communication layer is designed for it. Problems often appear in the abstraction layer sitting between the firmware and the radio.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At low throughput, the overhead is easy to ignore. Under heavier communication loads, it becomes harder to ignore.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6ce782 elementor-widget elementor-widget-text-editor\" data-id=\"f6ce782\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>Where AT Interfaces Start Creating Friction<\/b><\/h2>\n<h3><b>1. Timing Becomes Harder to Predict<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">AT commands rely on parsing ASCII text over serial communication.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That introduces multiple layers of variability:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Serial buffering<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Command parsing<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Asynchronous responses<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Vendor-specific timeout behavior<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Retransmission handling<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">For simple devices, this overhead is negligible.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For systems coordinating machine states, synchronization events, or continuous telemetry, those delays start accumulating in ways that are difficult to debug or predict.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The problem is usually not average latency. It is inconsistent latency. That distinction matters in industrial systems.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2517a1 elementor-widget elementor-widget-text-editor\" data-id=\"a2517a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><b>2. Diagnostics Are Often Limited<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Many AT-based workflows still rely on generic responses such as:<\/span><\/p>\n<ul>\n<li dir=\"ltr\" style=\"line-height: 1.38;\" role=\"presentation\"><span style=\"font-size: 11pt; font-family: 'Roboto Mono', monospace; color: #188038; background-color: transparent; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;\">OK<\/span><\/li>\n<li dir=\"ltr\" style=\"line-height: 1.38;\" role=\"presentation\"><span style=\"font-size: 11pt; font-family: 'Roboto Mono', monospace; color: #188038; background-color: transparent; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;\">ERROR<\/span><\/li>\n<li dir=\"ltr\" style=\"line-height: 1.38;\" role=\"presentation\"><span style=\"font-size: 11pt; font-family: 'Roboto Mono', monospace; color: #188038; background-color: transparent; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;\">BUSY<\/span><\/li>\n<li dir=\"ltr\" style=\"line-height: 1.38;\" role=\"presentation\"><span style=\"font-size: 11pt; font-family: 'Roboto Mono', monospace; color: #188038; background-color: transparent; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;\">TIMEOUT<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">That becomes frustrating during real field debugging.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If communication fails, engineers need to know what failed:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Was the packet malformatted?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Was the connection interrupted?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Did the payload exceed limits?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Was data partially transmitted?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Did interference corrupt the transmission?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Some vendors expose deeper diagnostics than others, but there is no consistent standard across implementations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That inconsistency becomes a maintenance problem over time.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a05e87 elementor-widget elementor-widget-image\" data-id=\"4a05e87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dewinelabs.com\/webinar\/\" target=\"_blank\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"266\" src=\"https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-1024x341.png\" class=\"attachment-large size-large wp-image-6366\" alt=\"\" srcset=\"https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-1024x341.png 1024w, https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-300x100.png 300w, https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-768x256.png 768w, https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-1536x512.png 1536w, https:\/\/dewinelabs.com\/wp-content\/uploads\/2026\/06\/banner-2048x683.png 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2db32c8 elementor-widget elementor-widget-text-editor\" data-id=\"2db32c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><b>3. Vendor Lock-In Creeps In Quietly<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Most BLE AT implementations look similar at first glance. They are not.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Every vendor defines commands differently:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Different syntax<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Different initialization flows<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Different buffering behavior<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Different feature exposure<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Different edge case handling<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Firmware written tightly around one vendor\u2019s command set often needs refactoring when hardware changes later.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For industrial OEMs with long product lifecycles, that matters more than it does in short term prototype work.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f40602 elementor-widget elementor-widget-text-editor\" data-id=\"6f40602\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><b>4. ASCII Communication Adds Overhead<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Text based communication is easy for humans to read, but inefficient for machines.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A command like:<\/span><\/p>\n<p><span id=\"docs-internal-guid-b2f1d73e-7fff-8ec7-c322-ef328ecd5bdb\"><span style=\"font-size: 11pt; font-family: 'Roboto Mono', monospace; color: #188038; background-color: transparent; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;\">AT+SEND=Hello<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">requires more transmitted data than a compact binary packet carrying the same payload.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On heavily loaded systems, that overhead affects:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Bandwidth usage<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Parsing time<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Queue handling<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Response timing<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Again, this may not matter for a small prototype. It starts mattering when systems exchange continuous data across many devices with tight timing requirements.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c67962 elementor-widget elementor-widget-text-editor\" data-id=\"0c67962\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>What Industrial Systems Tend to Move Toward Instead<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">As BLE systems mature, engineering teams often move toward industrial-grade communication layers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The goal is usually:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Predictable timing behavior<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">More transparent diagnostics<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Lower transmission overhead<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Cleaner scaling across devices<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">That does not automatically mean \u201ccustom protocol everything.\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In many cases, it simply means moving away from human-readable serial commands and toward communication designed primarily for machine reliability.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That shift becomes more common in:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Industrial automation<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Robotics<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Medical devices<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Wireless control systems<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Multi-device sensor networks<\/span><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-278ab20 elementor-widget elementor-widget-text-editor\" data-id=\"278ab20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>AT Interfaces Still Have a Place<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">AT interfaces are still useful.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They are excellent for:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rapid prototyping<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Proof of concepts<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Educational projects<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Low complexity BLE products<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fast hardware evaluation<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The issue is assuming the same interface scales cleanly into production-grade industrial communication. Sometimes it does. Often, it becomes the first layer that engineers revisit once systems start behaving unpredictably in the field.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-703adaf elementor-widget elementor-widget-text-editor\" data-id=\"703adaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><b>Final Thoughts<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">BLE itself is rarely the bottleneck in industrial systems. The bigger issue is usually the off-the-shelf communication stack (with the typical AT interface) that comes preinstalled on BLE modules.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once systems become timing sensitive, data-heavy, or difficult to debug under interference, text-based UART command layers start showing their limits. Engineering teams then end up solving problems that were introduced by the interface itself.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That is usually the point where AT commands stop feeling simple.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The AT interface for BLE chips is simple and familiar \u2013 but also slow, inefficient, and error-prone due to its human-readable nature. Learn why the AT interface typically causes issues in deployed industrial BLE systems!<\/p>\n","protected":false},"author":3,"featured_media":6379,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[37],"tags":[],"class_list":["post-5876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post-de"],"acf":[],"_links":{"self":[{"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/posts\/5876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/comments?post=5876"}],"version-history":[{"count":0,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/posts\/5876\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/media\/6379"}],"wp:attachment":[{"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/media?parent=5876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/categories?post=5876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dewinelabs.com\/de\/wp-json\/wp\/v2\/tags?post=5876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}