[{"data":1,"prerenderedAt":1917},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Frpc-runner":488,"\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Frpc-runner-surround":1912},[4,326,444,470],{"title":5,"path":6,"stem":7,"children":8,"page":191},"Docs","\u002Fdocs","1.docs",[9,32,62,116,138,192,262,268,292],{"title":10,"path":11,"stem":12,"children":13,"icon":15},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[14,16,20,24,28],{"title":10,"path":11,"stem":12,"icon":15},"i-lucide-house",{"title":17,"path":18,"stem":19},"Register a User","\u002Fdocs\u002Fgetting-started\u002Fregister-a-user","1.docs\u002F1.getting-started\u002F2.register-a-user",{"title":21,"path":22,"stem":23},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","1.docs\u002F1.getting-started\u002F3.platform-overview",{"title":25,"path":26,"stem":27},"Create an Organisation","\u002Fdocs\u002Fgetting-started\u002Fcreate-an-organisation","1.docs\u002F1.getting-started\u002F4.create-an-organisation",{"title":29,"path":30,"stem":31},"Quickstarts","\u002Fdocs\u002Fgetting-started\u002Fquickstarts","1.docs\u002F1.getting-started\u002F5.quickstarts",{"title":33,"path":34,"stem":35,"children":36},"Organisation Administration","\u002Fdocs\u002Finfuse-cloud","1.docs\u002F2.infuse-cloud\u002F1.index",[37,38,42,46,50,54,58],{"title":33,"path":34,"stem":35},{"title":39,"path":40,"stem":41},"Create or Switch Organisations","\u002Fdocs\u002Finfuse-cloud\u002Fcreate-or-switch-organisations","1.docs\u002F2.infuse-cloud\u002F2.create-or-switch-organisations",{"title":43,"path":44,"stem":45},"Organisation Profile","\u002Fdocs\u002Finfuse-cloud\u002Forganisation-profile","1.docs\u002F2.infuse-cloud\u002F3.organisation-profile",{"title":47,"path":48,"stem":49},"Members and Invitations","\u002Fdocs\u002Finfuse-cloud\u002Fmembers-and-invitations","1.docs\u002F2.infuse-cloud\u002F4.members-and-invitations",{"title":51,"path":52,"stem":53},"Member Roles","\u002Fdocs\u002Finfuse-cloud\u002Fmember-roles","1.docs\u002F2.infuse-cloud\u002F5.member-roles",{"title":55,"path":56,"stem":57},"API Access","\u002Fdocs\u002Finfuse-cloud\u002Fapi-access","1.docs\u002F2.infuse-cloud\u002F6.api-access",{"title":59,"path":60,"stem":61},"Webhooks","\u002Fdocs\u002Finfuse-cloud\u002Fwebhooks","1.docs\u002F2.infuse-cloud\u002F7.webhooks",{"title":63,"path":64,"stem":65,"children":66},"Infuse-IoT Cloud","\u002Fdocs\u002Finfuse-iot-cloud","1.docs\u002F3.infuse-iot-cloud\u002F1.index",[67,68,72,76,80,84,88,92,96,100,104,108,112],{"title":63,"path":64,"stem":65},{"title":69,"path":70,"stem":71},"Provisioning","\u002Fdocs\u002Finfuse-iot-cloud\u002Fprovisioning","1.docs\u002F3.infuse-iot-cloud\u002F10.provisioning",{"title":73,"path":74,"stem":75},"Connectivity","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconnectivity","1.docs\u002F3.infuse-iot-cloud\u002F11.connectivity",{"title":77,"path":78,"stem":79},"Definitions","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdefinitions","1.docs\u002F3.infuse-iot-cloud\u002F12.definitions",{"title":81,"path":82,"stem":83},"Telemetry","\u002Fdocs\u002Finfuse-iot-cloud\u002Ftelemetry","1.docs\u002F3.infuse-iot-cloud\u002F13.telemetry",{"title":85,"path":86,"stem":87},"Console","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconsole","1.docs\u002F3.infuse-iot-cloud\u002F2.console",{"title":89,"path":90,"stem":91},"Concepts","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconcepts","1.docs\u002F3.infuse-iot-cloud\u002F3.concepts",{"title":93,"path":94,"stem":95},"Boards","\u002Fdocs\u002Finfuse-iot-cloud\u002Fboards","1.docs\u002F3.infuse-iot-cloud\u002F4.boards",{"title":97,"path":98,"stem":99},"Networks","\u002Fdocs\u002Finfuse-iot-cloud\u002Fnetworks","1.docs\u002F3.infuse-iot-cloud\u002F5.networks",{"title":101,"path":102,"stem":103},"Devices","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdevices","1.docs\u002F3.infuse-iot-cloud\u002F6.devices",{"title":105,"path":106,"stem":107},"Device Configuration","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdevice-configuration","1.docs\u002F3.infuse-iot-cloud\u002F7.device-configuration",{"title":109,"path":110,"stem":111},"Applications and Releases","\u002Fdocs\u002Finfuse-iot-cloud\u002Fapplications-and-releases","1.docs\u002F3.infuse-iot-cloud\u002F8.applications-and-releases",{"title":113,"path":114,"stem":115},"Commands","\u002Fdocs\u002Finfuse-iot-cloud\u002Fcommands","1.docs\u002F3.infuse-iot-cloud\u002F9.commands",{"title":117,"path":118,"stem":119,"children":120},"Infuse-DB","\u002Fdocs\u002Finfuse-db","1.docs\u002F4.infuse-db\u002F1.index",[121,122,126,130,134],{"title":117,"path":118,"stem":119},{"title":123,"path":124,"stem":125},"Datasets","\u002Fdocs\u002Finfuse-db\u002Fdatasets","1.docs\u002F4.infuse-db\u002F2.datasets",{"title":127,"path":128,"stem":129},"Ingestion","\u002Fdocs\u002Finfuse-db\u002Fingestion","1.docs\u002F4.infuse-db\u002F3.ingestion",{"title":131,"path":132,"stem":133},"Querying","\u002Fdocs\u002Finfuse-db\u002Fquerying","1.docs\u002F4.infuse-db\u002F4.querying",{"title":135,"path":136,"stem":137},"Retention","\u002Fdocs\u002Finfuse-db\u002Fretention","1.docs\u002F4.infuse-db\u002F5.retention",{"title":139,"path":140,"stem":141,"children":142},"Embedded Tools","\u002Fdocs\u002Finfuse-iot-sdk","1.docs\u002F4.infuse-iot-sdk\u002F1.index",[143,144,148],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147},"Infuse-IoT SDK","\u002Fdocs\u002Finfuse-iot-sdk\u002Fsdk-reference","1.docs\u002F4.infuse-iot-sdk\u002F2.sdk-reference",{"title":149,"path":150,"stem":151,"children":152,"page":191},"Python Tools","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools",[153,156,159,163,167,171,175,179,183,187],{"title":149,"path":154,"stem":155},"\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fpython-tools","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F01.python-tools",{"title":113,"path":157,"stem":158},"\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fcommands","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F02.commands",{"title":160,"path":161,"stem":162},"Credential Management","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fcredentials","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F03.credentials",{"title":164,"path":165,"stem":166},"Gateways","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fgateways","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F04.gateways",{"title":168,"path":169,"stem":170},"Infuse-IoT Cloud support","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fcloud","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F05.cloud",{"title":172,"path":173,"stem":174},"Provision Hardware","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fhardware-provisioning","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F06.hardware-provisioning",{"title":176,"path":177,"stem":178},"TDF Viewers","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Ftdf-viewers","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F07.tdf-viewers",{"title":180,"path":181,"stem":182},"RPC Runners","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Frpc-runner","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F08.rpc-runner",{"title":184,"path":185,"stem":186},"Over-the-Air Upgrades","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fota-upgrades","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F09.ota-upgrades",{"title":188,"path":189,"stem":190},"Bluetooth Log Viewer","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools\u002Fble-log-viewer","1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F10.ble-log-viewer",false,{"title":193,"path":194,"stem":195,"children":196},"Infuse-Marketplace","\u002Fdocs\u002Fmarketplace","1.docs\u002F5.marketplace\u002F1.index",[197,198,202,206,232],{"title":193,"path":194,"stem":195},{"title":199,"path":200,"stem":201},"Infuse-Marketplace Instances","\u002Fdocs\u002Fmarketplace\u002Finstances","1.docs\u002F5.marketplace\u002F2.instances",{"title":203,"path":204,"stem":205},"Infuse-Marketplace Roles","\u002Fdocs\u002Fmarketplace\u002Froles","1.docs\u002F5.marketplace\u002F3.roles",{"title":207,"path":208,"stem":209,"children":210},"Infuse-Marketplace Developers","\u002Fdocs\u002Fmarketplace\u002Fdevelopers","1.docs\u002F5.marketplace\u002Fdevelopers\u002F1.index",[211,212,216,220,224,228],{"title":207,"path":208,"stem":209},{"title":213,"path":214,"stem":215},"Create an App or Algorithm","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fcreate-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F2.create-product",{"title":217,"path":218,"stem":219},"Upload Assets","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fupload-assets","1.docs\u002F5.marketplace\u002Fdevelopers\u002F3.upload-assets",{"title":221,"path":222,"stem":223},"Releases and Versions","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Freleases-and-versions","1.docs\u002F5.marketplace\u002Fdevelopers\u002F4.releases-and-versions",{"title":225,"path":226,"stem":227},"Pricing","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpricing","1.docs\u002F5.marketplace\u002Fdevelopers\u002F5.pricing",{"title":229,"path":230,"stem":231},"Publish an App or Algorithm","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpublish-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F6.publish-product",{"title":233,"path":234,"stem":235,"children":236},"Infuse-Marketplace Providers","\u002Fdocs\u002Fmarketplace\u002Fproviders","1.docs\u002F5.marketplace\u002Fproviders\u002F1.index",[237,238,242,246,250,254,258],{"title":233,"path":234,"stem":235},{"title":239,"path":240,"stem":241},"Discover Apps and Algorithms","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fdiscover-products","1.docs\u002F5.marketplace\u002Fproviders\u002F2.discover-products",{"title":243,"path":244,"stem":245},"Create and Manage Listings","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcreate-listings","1.docs\u002F5.marketplace\u002Fproviders\u002F3.create-listings",{"title":247,"path":248,"stem":249},"Build a Storefront","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fbuild-a-storefront","1.docs\u002F5.marketplace\u002Fproviders\u002F4.build-a-storefront",{"title":251,"path":252,"stem":253},"Checkout Flow","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcheckout-flow","1.docs\u002F5.marketplace\u002Fproviders\u002F5.checkout-flow",{"title":255,"path":256,"stem":257},"Purchases","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fpurchases","1.docs\u002F5.marketplace\u002Fproviders\u002F6.purchases",{"title":259,"path":260,"stem":261},"Install Purchased Apps and Algorithms","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Finstall-purchased-products","1.docs\u002F5.marketplace\u002Fproviders\u002F7.install-purchased-products",{"title":263,"path":264,"stem":265,"children":266},"Infuse-Analytics","\u002Fdocs\u002Finfuse-analytics","1.docs\u002F6.infuse-analytics\u002F1.index",[267],{"title":263,"path":264,"stem":265},{"title":89,"path":269,"stem":270,"children":271},"\u002Fdocs\u002Fconcepts","1.docs\u002F7.concepts\u002F1.index",[272,273,277,281,284,288],{"title":89,"path":269,"stem":270},{"title":274,"path":275,"stem":276},"Organisations","\u002Fdocs\u002Fconcepts\u002Forganisations","1.docs\u002F7.concepts\u002F2.organisations",{"title":278,"path":279,"stem":280},"Products","\u002Fdocs\u002Fconcepts\u002Fproducts","1.docs\u002F7.concepts\u002F3.products",{"title":101,"path":282,"stem":283},"\u002Fdocs\u002Fconcepts\u002Fdevices","1.docs\u002F7.concepts\u002F5.devices",{"title":285,"path":286,"stem":287},"Entitlements","\u002Fdocs\u002Fconcepts\u002Fentitlements","1.docs\u002F7.concepts\u002F6.entitlements",{"title":289,"path":290,"stem":291},"Infuse-Marketplace Model","\u002Fdocs\u002Fconcepts\u002Fmarketplace-model","1.docs\u002F7.concepts\u002F7.marketplace-model",{"title":293,"path":294,"stem":295,"children":296},"IAM and Access","\u002Fdocs\u002Fiam-and-access","1.docs\u002F8.iam-and-access\u002F1.index",[297,298,302,306,310,314,318,322],{"title":293,"path":294,"stem":295},{"title":299,"path":300,"stem":301},"Users, Groups, and Roles","\u002Fdocs\u002Fiam-and-access\u002Fusers-groups-and-roles","1.docs\u002F8.iam-and-access\u002F2.users-groups-and-roles",{"title":303,"path":304,"stem":305},"Permissions and Resource Limits","\u002Fdocs\u002Fiam-and-access\u002Fpermissions","1.docs\u002F8.iam-and-access\u002F3.permissions",{"title":307,"path":308,"stem":309},"Service Accounts","\u002Fdocs\u002Fiam-and-access\u002Fservice-accounts","1.docs\u002F8.iam-and-access\u002F4.service-accounts",{"title":311,"path":312,"stem":313},"API Keys","\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens","1.docs\u002F8.iam-and-access\u002F5.api-tokens",{"title":315,"path":316,"stem":317},"Token Exchange","\u002Fdocs\u002Fiam-and-access\u002Ftoken-exchange","1.docs\u002F8.iam-and-access\u002F6.token-exchange",{"title":319,"path":320,"stem":321},"Rotate and Revoke Credentials","\u002Fdocs\u002Fiam-and-access\u002Frotate-and-revoke-credentials","1.docs\u002F8.iam-and-access\u002F7.rotate-and-revoke-credentials",{"title":323,"path":324,"stem":325},"Troubleshooting Auth","\u002Fdocs\u002Fiam-and-access\u002Ftroubleshooting-auth","1.docs\u002F8.iam-and-access\u002F8.troubleshooting-auth",{"title":327,"path":328,"stem":329,"children":330},"Guides","\u002Fguides","2.guides\u002F1.index",[331,332,342,352,424,434],{"title":327,"path":328,"stem":329},{"title":333,"path":334,"stem":335,"children":336},"Access Guides","\u002Fguides\u002Faccess","2.guides\u002Faccess\u002F1.index",[337,338],{"title":333,"path":334,"stem":335},{"title":339,"path":340,"stem":341},"Create an API Key","\u002Fguides\u002Faccess\u002Fcreate-an-api-token","2.guides\u002Faccess\u002F2.create-an-api-token",{"title":343,"path":344,"stem":345,"children":346},"Data Guides","\u002Fguides\u002Fdata","2.guides\u002Fdata\u002F1.index",[347,348],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351},"Stream IoT Data to Infuse-DB","\u002Fguides\u002Fdata\u002Fstream-iot-data-to-infuse-db","2.guides\u002Fdata\u002F2.stream-iot-data-to-infuse-db",{"title":353,"path":354,"stem":355,"children":356},"Embedded SDK Guides","\u002Fguides\u002Fembedded-iot","2.guides\u002Fembedded-iot\u002F1.index",[357,358,362,384,394],{"title":353,"path":354,"stem":355},{"title":359,"path":360,"stem":361},"Python Tools Setup & Install","\u002Fguides\u002Fembedded-iot\u002Fpython-setup-install","2.guides\u002Fembedded-iot\u002F2.python-setup-install",{"title":363,"path":364,"stem":365,"children":366},"Creating Embedded Algorithms","\u002Fguides\u002Fembedded-iot\u002Fembedded-algorithms","2.guides\u002Fembedded-iot\u002Fembedded-algorithms\u002F1.index",[367,368,372,376,380],{"title":363,"path":364,"stem":365},{"title":369,"path":370,"stem":371},"Data collection","\u002Fguides\u002Fembedded-iot\u002Fembedded-algorithms\u002Fdata-collection","2.guides\u002Fembedded-iot\u002Fembedded-algorithms\u002F2.data-collection",{"title":373,"path":374,"stem":375},"Dataset Creation","\u002Fguides\u002Fembedded-iot\u002Fembedded-algorithms\u002Fdataset-creation","2.guides\u002Fembedded-iot\u002Fembedded-algorithms\u002F3.dataset-creation",{"title":377,"path":378,"stem":379},"Training Models","\u002Fguides\u002Fembedded-iot\u002Fembedded-algorithms\u002Ftraining-models","2.guides\u002Fembedded-iot\u002Fembedded-algorithms\u002F4.training-models",{"title":381,"path":382,"stem":383},"Deploying Models","\u002Fguides\u002Fembedded-iot\u002Fembedded-algorithms\u002Fdeploy","2.guides\u002Fembedded-iot\u002Fembedded-algorithms\u002F5.deploy",{"title":385,"path":386,"stem":387,"children":388},"Hardware Guides","\u002Fguides\u002Fembedded-iot\u002Fhardware","2.guides\u002Fembedded-iot\u002Fhardware\u002F1.index",[389,390],{"title":385,"path":386,"stem":387},{"title":391,"path":392,"stem":393},"nRF54L15 Tag","\u002Fguides\u002Fembedded-iot\u002Fhardware\u002Fnrf54l15-tag","2.guides\u002Fembedded-iot\u002Fhardware\u002F2.nrf54l15-tag",{"title":395,"path":396,"stem":397,"children":398},"How To's","\u002Fguides\u002Fembedded-iot\u002Fhow-tos","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F1.index",[399,400,404,408,412,416,420],{"title":395,"path":396,"stem":397},{"title":401,"path":402,"stem":403},"Device Provisioning","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Fprovision-a-tag","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F01.provision-a-tag",{"title":405,"path":406,"stem":407},"Setup and Flash a gateway","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Fflash-a-gateway","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F02.flash-a-gateway",{"title":409,"path":410,"stem":411},"Connecting to a gateway","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Fconnect-gateway","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F03.connect-gateway",{"title":413,"path":414,"stem":415},"How to physically connect a device","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Fdevice-logs","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F03.device-logs",{"title":417,"path":418,"stem":419},"Configuring the default network","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Fconfigure-network","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F04.configure-network",{"title":421,"path":422,"stem":423},"Device's Infuse ID","\u002Fguides\u002Fembedded-iot\u002Fhow-tos\u002Ftag-infuse-id","2.guides\u002Fembedded-iot\u002Fhow-tos\u002F05.tag-infuse-id",{"title":425,"path":426,"stem":427,"children":428},"IoT Guides","\u002Fguides\u002Fiot","2.guides\u002Fiot\u002F1.index",[429,430],{"title":425,"path":426,"stem":427},{"title":431,"path":432,"stem":433},"Connect an IoT Device","\u002Fguides\u002Fiot\u002Fconnect-a-device","2.guides\u002Fiot\u002F2.connect-a-device",{"title":435,"path":436,"stem":437,"children":438},"Infuse-Marketplace Guides","\u002Fguides\u002Fmarketplace","2.guides\u002Fmarketplace\u002F1.index",[439,440],{"title":435,"path":436,"stem":437},{"title":441,"path":442,"stem":443},"Build an Infuse-Marketplace Storefront","\u002Fguides\u002Fmarketplace\u002Fbuild-a-storefront","2.guides\u002Fmarketplace\u002F2.build-a-storefront",{"title":445,"path":446,"stem":447,"children":448},"API Reference","\u002Fapi-reference","3.api-reference\u002F1.index",[449,450,454,458,462,466],{"title":445,"path":446,"stem":447},{"title":451,"path":452,"stem":453},"Admin API","\u002Fapi-reference\u002Fcloud","3.api-reference\u002F2.cloud",{"title":455,"path":456,"stem":457},"Infuse-Marketplace API","\u002Fapi-reference\u002Fmarketplace","3.api-reference\u002F3.marketplace",{"title":459,"path":460,"stem":461},"IAM API","\u002Fapi-reference\u002Fiam","3.api-reference\u002F4.iam",{"title":463,"path":464,"stem":465},"Infuse-IoT Cloud API","\u002Fapi-reference\u002Fiot","3.api-reference\u002F5.iot",{"title":467,"path":468,"stem":469},"Infuse-DB API","\u002Fapi-reference\u002Fdb","3.api-reference\u002F6.db",{"title":471,"path":472,"stem":473,"children":474},"Resources","\u002Fresources","4.resources\u002F1.index",[475,476,480,484],{"title":471,"path":472,"stem":473},{"title":477,"path":478,"stem":479},"SDKs","\u002Fresources\u002Fsdks","4.resources\u002F2.sdks",{"title":481,"path":482,"stem":483},"OpenAPI Specs","\u002Fresources\u002Fopenapi-specs","4.resources\u002F3.openapi-specs",{"title":485,"path":486,"stem":487},"Examples","\u002Fresources\u002Fexamples","4.resources\u002F4.examples",{"id":489,"title":180,"body":490,"description":1906,"extension":1907,"links":1908,"meta":1909,"navigation":655,"path":181,"seo":1910,"stem":182,"__hash__":1911},"docs\u002F1.docs\u002F4.infuse-iot-sdk\u002Fpython-tools\u002F08.rpc-runner.md",{"type":491,"value":492,"toc":1902},"minimark",[493,510,513,532,542,547,568,1814,1818,1835,1838,1898],[494,495,496,497,501,502,509],"p",{},"The ",[498,499,500],"code",{},"rpc"," subcommand can be used to send and receive commands to local devices via serial and Bluetooth using\n",[503,504,508],"a",{"href":505,"rel":506},"https:\u002F\u002Fdocs.dev.infuse-iot.com\u002Flatest\u002Fembedded\u002Fapp_features\u002Frpc.html#rpc-api",[507],"nofollow","Remote Procedure Calls (RPC)",".",[494,511,512],{},"In general, the tool uses the following process to run the command:",[514,515,516,520,523,526,529],"ol",{},[517,518,519],"li",{},"Requests a connection to the target device from the gateway bridge",[517,521,522],{},"Send the request to the target device",[517,524,525],{},"Wait for the command response",[517,527,528],{},"Disconnect from the target device",[517,530,531],{},"Display the results",[533,534,535],"note",{},[494,536,537,538,541],{},"Running RPCs requires a running instance of a ",[503,539,164],{"href":540},"gateways"," bridge.",[543,544,546],"h2",{"id":545},"supported-commands","Supported Commands",[494,548,549,550,567],{},"Each command is an easy to use CLI wrapper around each of the corresponding RPC making argument formatting easier.\nThe full list of currently supported commands can be displayed with ",[498,551,555,560,564],{"className":552,"language":553,"style":554},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bash","",[556,557,559],"span",{"class":558},"sBMFI","infuse",[556,561,563],{"class":562},"sfazB"," rpc",[556,565,566],{"class":562}," --help",":",[569,570,572],"pre",{"className":552,"code":571,"language":553,"meta":554,"style":554},"> infuse rpc --help\nusage: infuse rpc [-h] (--gateway | --id ID) [--conn-log] [--conn-timeout CONN_TIMEOUT] [--server-port SERVER_SOCK] \u003Ccommand> ...\n\nRun remote procedure calls on devices\n\noptions:\n  -h, --help            show this help message and exit\n  --gateway             Run command on local gateway\n  --id ID               Infuse ID to run command on\n  --conn-log            Request logs from remote device\n  --conn-timeout CONN_TIMEOUT\n                        Timeout to wait for a connection to the device (ms)\n  --server-port SERVER_SOCK\n                        Alternate port to use for Gateway connections (default 8751)\n\ncommands:\n  \u003Ccommand>\n    annotate            Write a data annotation event to a tag\n    application_info    Query basic application versions and state\n    bt_connect_infuse   Connect to an Infuse-IoT Bluetooth device\n    bt_disconnect       Disconnect from a Bluetooth device\n    bt_file_copy_coap   Copy a file fetched from COAP to a remote device over Bluetooth\n    bt_mcumgr_reboot    Connect to a Bluetooth device and run the MCUMGR reboot command\n    coap_download       Download a file from a COAP server (Infuse-IoT DTLS protected)\n    data_logger_erase   Erase all data from a data logger\n    data_logger_read    Read data from data logger\n    data_logger_state   Get state of a data logger\n    fault               Immediately trigger an exception on the device\n    file_write_basic    Write a file to the device\n    generic             Generic RPC sender\n    gravity_reference_update\n                        Store the current accelerometer vector as the gravity reference\n    heap_stats          Query stats of heaps\n    infuse_states_query\n                        Read current Infuse-IoT application states\n    infuse_states_update\n                        Update Infuse-IoT application states\n    kv_bt_peer          Configure the peer Bluetooth address\n    kv_read             Read values from the KV store\n    kv_reflect_crcs     Read KV store reflection crc values\n    kv_write            Write an arbitrary kv value\n    last_reboot         Retrieve information pertaining to the previous reboot\n    lte_at_cmd          Run AT command against LTE modem\n    lte_modem_info      Get LTE modem information\n    lte_pdp_ctx         Set the LTE PDP context (IP family & APN)\n    lte_state           Get current LTE interface state\n    lte_state_v2        Get current LTE interface state (with RAI information)\n    reboot              Reboot the device after a delay\n    security_key_update\n                        Update key material\n    security_public_keys\n                        Query device public keys\n    security_state      Query current security state and validate identity\n    sym_read            Read arbitrary memory (NO ADDRESS VALIDATION PERFORMED)\n    thread_stats        Query runtime thread statistics\n    time_get            Get the current time knowledge of the device\n    time_set            Set the current time of the device\n    ubx_assist_now_ztp_creds\n                        Retrieve U-blox AssistNow Zero Touch Provisioning credentials\n    wifi_configure      Set the WiFi network SSID and PSK\n    wifi_scan           Scan for WiFi networks\n    wifi_state          Get current WiFi interface state\n    zbus_channel_state  Query current state of zbus channel\n    zperf_upload        Network upload bandwidth testing using zperf\u002Fiperf\n",[498,573,574,586,650,657,678,683,689,715,735,759,779,788,819,828,860,865,871,883,910,933,955,972,1008,1040,1073,1096,1113,1134,1157,1176,1191,1197,1225,1242,1248,1263,1269,1281,1300,1322,1345,1364,1389,1412,1429,1462,1480,1507,1528,1534,1545,1551,1565,1589,1617,1635,1660,1681,1687,1711,1736,1752,1769,1790],{"__ignoreMap":554},[556,575,578,582],{"class":576,"line":577},"line",1,[556,579,581],{"class":580},"sMK4o",">",[556,583,585],{"class":584},"sTEyZ"," infuse rpc --help\n",[556,587,589,592,595,597,600,603,606,609,612,615,618,621,624,627,630,632,634,637,639,642,645,647],{"class":576,"line":588},2,[556,590,591],{"class":558},"usage:",[556,593,594],{"class":562}," infuse",[556,596,563],{"class":562},[556,598,599],{"class":584}," [-h] (",[556,601,602],{"class":558},"--gateway",[556,604,605],{"class":580}," |",[556,607,608],{"class":558}," --id",[556,610,611],{"class":562}," ID",[556,613,614],{"class":584},") ",[556,616,617],{"class":580},"[",[556,619,620],{"class":584},"--conn-log",[556,622,623],{"class":580},"]",[556,625,626],{"class":580}," [",[556,628,629],{"class":584},"--conn-timeout CONN_TIMEOUT",[556,631,623],{"class":580},[556,633,626],{"class":580},[556,635,636],{"class":584},"--server-port SERVER_SOCK",[556,638,623],{"class":580},[556,640,641],{"class":580}," \u003C",[556,643,644],{"class":584},"command",[556,646,581],{"class":580},[556,648,649],{"class":584}," ...\n",[556,651,653],{"class":576,"line":652},3,[556,654,656],{"emptyLinePlaceholder":655},true,"\n",[556,658,660,663,666,669,672,675],{"class":576,"line":659},4,[556,661,662],{"class":558},"Run",[556,664,665],{"class":562}," remote",[556,667,668],{"class":562}," procedure",[556,670,671],{"class":562}," calls",[556,673,674],{"class":562}," on",[556,676,677],{"class":562}," devices\n",[556,679,681],{"class":576,"line":680},5,[556,682,656],{"emptyLinePlaceholder":655},[556,684,686],{"class":576,"line":685},6,[556,687,688],{"class":558},"options:\n",[556,690,692,695,697,700,703,706,709,712],{"class":576,"line":691},7,[556,693,694],{"class":558},"  -h,",[556,696,566],{"class":562},[556,698,699],{"class":562},"            show",[556,701,702],{"class":562}," this",[556,704,705],{"class":562}," help",[556,707,708],{"class":562}," message",[556,710,711],{"class":562}," and",[556,713,714],{"class":562}," exit\n",[556,716,718,721,724,727,729,732],{"class":576,"line":717},8,[556,719,720],{"class":558},"  --gateway",[556,722,723],{"class":562},"             Run",[556,725,726],{"class":562}," command",[556,728,674],{"class":562},[556,730,731],{"class":562}," local",[556,733,734],{"class":562}," gateway\n",[556,736,738,741,743,746,748,751,754,756],{"class":576,"line":737},9,[556,739,740],{"class":558},"  --id",[556,742,611],{"class":562},[556,744,745],{"class":562},"               Infuse",[556,747,611],{"class":562},[556,749,750],{"class":562}," to",[556,752,753],{"class":562}," run",[556,755,726],{"class":562},[556,757,758],{"class":562}," on\n",[556,760,762,765,768,771,774,776],{"class":576,"line":761},10,[556,763,764],{"class":558},"  --conn-log",[556,766,767],{"class":562},"            Request",[556,769,770],{"class":562}," logs",[556,772,773],{"class":562}," from",[556,775,665],{"class":562},[556,777,778],{"class":562}," device\n",[556,780,782,785],{"class":576,"line":781},11,[556,783,784],{"class":558},"  --conn-timeout",[556,786,787],{"class":562}," CONN_TIMEOUT\n",[556,789,791,794,796,799,802,805,808,810,813,816],{"class":576,"line":790},12,[556,792,793],{"class":558},"                        Timeout",[556,795,750],{"class":562},[556,797,798],{"class":562}," wait",[556,800,801],{"class":562}," for",[556,803,804],{"class":562}," a",[556,806,807],{"class":562}," connection",[556,809,750],{"class":562},[556,811,812],{"class":562}," the",[556,814,815],{"class":562}," device",[556,817,818],{"class":584}," (ms)\n",[556,820,822,825],{"class":576,"line":821},13,[556,823,824],{"class":558},"  --server-port",[556,826,827],{"class":562}," SERVER_SOCK\n",[556,829,831,834,837,839,842,844,847,850,853,857],{"class":576,"line":830},14,[556,832,833],{"class":558},"                        Alternate",[556,835,836],{"class":562}," port",[556,838,750],{"class":562},[556,840,841],{"class":562}," use",[556,843,801],{"class":562},[556,845,846],{"class":562}," Gateway",[556,848,849],{"class":562}," connections",[556,851,852],{"class":584}," (default ",[556,854,856],{"class":855},"sbssI","8751",[556,858,859],{"class":584},")\n",[556,861,863],{"class":576,"line":862},15,[556,864,656],{"emptyLinePlaceholder":655},[556,866,868],{"class":576,"line":867},16,[556,869,870],{"class":558},"commands:\n",[556,872,874,877,880],{"class":576,"line":873},17,[556,875,876],{"class":580},"  \u003C",[556,878,644],{"class":879},"s2Zo4",[556,881,882],{"class":584},">\n",[556,884,886,889,892,894,897,900,903,905,907],{"class":576,"line":885},18,[556,887,888],{"class":558},"    annotate",[556,890,891],{"class":562},"            Write",[556,893,804],{"class":562},[556,895,896],{"class":562}," data",[556,898,899],{"class":562}," annotation",[556,901,902],{"class":562}," event",[556,904,750],{"class":562},[556,906,804],{"class":562},[556,908,909],{"class":562}," tag\n",[556,911,913,916,919,922,925,928,930],{"class":576,"line":912},19,[556,914,915],{"class":558},"    application_info",[556,917,918],{"class":562},"    Query",[556,920,921],{"class":562}," basic",[556,923,924],{"class":562}," application",[556,926,927],{"class":562}," versions",[556,929,711],{"class":562},[556,931,932],{"class":562}," state\n",[556,934,936,939,942,944,947,950,953],{"class":576,"line":935},20,[556,937,938],{"class":558},"    bt_connect_infuse",[556,940,941],{"class":562},"   Connect",[556,943,750],{"class":562},[556,945,946],{"class":562}," an",[556,948,949],{"class":562}," Infuse-IoT",[556,951,952],{"class":562}," Bluetooth",[556,954,778],{"class":562},[556,956,958,961,964,966,968,970],{"class":576,"line":957},21,[556,959,960],{"class":558},"    bt_disconnect",[556,962,963],{"class":562},"       Disconnect",[556,965,773],{"class":562},[556,967,804],{"class":562},[556,969,952],{"class":562},[556,971,778],{"class":562},[556,973,975,978,981,983,986,989,991,994,996,998,1000,1002,1005],{"class":576,"line":974},22,[556,976,977],{"class":558},"    bt_file_copy_coap",[556,979,980],{"class":562},"   Copy",[556,982,804],{"class":562},[556,984,985],{"class":562}," file",[556,987,988],{"class":562}," fetched",[556,990,773],{"class":562},[556,992,993],{"class":562}," COAP",[556,995,750],{"class":562},[556,997,804],{"class":562},[556,999,665],{"class":562},[556,1001,815],{"class":562},[556,1003,1004],{"class":562}," over",[556,1006,1007],{"class":562}," Bluetooth\n",[556,1009,1011,1014,1017,1019,1021,1023,1025,1027,1029,1031,1034,1037],{"class":576,"line":1010},23,[556,1012,1013],{"class":558},"    bt_mcumgr_reboot",[556,1015,1016],{"class":562},"    Connect",[556,1018,750],{"class":562},[556,1020,804],{"class":562},[556,1022,952],{"class":562},[556,1024,815],{"class":562},[556,1026,711],{"class":562},[556,1028,753],{"class":562},[556,1030,812],{"class":562},[556,1032,1033],{"class":562}," MCUMGR",[556,1035,1036],{"class":562}," reboot",[556,1038,1039],{"class":562}," command\n",[556,1041,1043,1046,1049,1051,1053,1055,1057,1059,1062,1065,1068,1071],{"class":576,"line":1042},24,[556,1044,1045],{"class":558},"    coap_download",[556,1047,1048],{"class":562},"       Download",[556,1050,804],{"class":562},[556,1052,985],{"class":562},[556,1054,773],{"class":562},[556,1056,804],{"class":562},[556,1058,993],{"class":562},[556,1060,1061],{"class":562}," server",[556,1063,1064],{"class":584}," (Infuse-IoT ",[556,1066,1067],{"class":562},"DTLS",[556,1069,1070],{"class":562}," protected",[556,1072,859],{"class":584},[556,1074,1076,1079,1082,1085,1087,1089,1091,1093],{"class":576,"line":1075},25,[556,1077,1078],{"class":558},"    data_logger_erase",[556,1080,1081],{"class":562},"   Erase",[556,1083,1084],{"class":562}," all",[556,1086,896],{"class":562},[556,1088,773],{"class":562},[556,1090,804],{"class":562},[556,1092,896],{"class":562},[556,1094,1095],{"class":562}," logger\n",[556,1097,1099,1102,1105,1107,1109,1111],{"class":576,"line":1098},26,[556,1100,1101],{"class":558},"    data_logger_read",[556,1103,1104],{"class":562},"    Read",[556,1106,896],{"class":562},[556,1108,773],{"class":562},[556,1110,896],{"class":562},[556,1112,1095],{"class":562},[556,1114,1116,1119,1122,1125,1128,1130,1132],{"class":576,"line":1115},27,[556,1117,1118],{"class":558},"    data_logger_state",[556,1120,1121],{"class":562},"   Get",[556,1123,1124],{"class":562}," state",[556,1126,1127],{"class":562}," of",[556,1129,804],{"class":562},[556,1131,896],{"class":562},[556,1133,1095],{"class":562},[556,1135,1137,1140,1143,1146,1148,1151,1153,1155],{"class":576,"line":1136},28,[556,1138,1139],{"class":558},"    fault",[556,1141,1142],{"class":562},"               Immediately",[556,1144,1145],{"class":562}," trigger",[556,1147,946],{"class":562},[556,1149,1150],{"class":562}," exception",[556,1152,674],{"class":562},[556,1154,812],{"class":562},[556,1156,778],{"class":562},[556,1158,1160,1163,1166,1168,1170,1172,1174],{"class":576,"line":1159},29,[556,1161,1162],{"class":558},"    file_write_basic",[556,1164,1165],{"class":562},"    Write",[556,1167,804],{"class":562},[556,1169,985],{"class":562},[556,1171,750],{"class":562},[556,1173,812],{"class":562},[556,1175,778],{"class":562},[556,1177,1179,1182,1185,1188],{"class":576,"line":1178},30,[556,1180,1181],{"class":558},"    generic",[556,1183,1184],{"class":562},"             Generic",[556,1186,1187],{"class":562}," RPC",[556,1189,1190],{"class":562}," sender\n",[556,1192,1194],{"class":576,"line":1193},31,[556,1195,1196],{"class":558},"    gravity_reference_update\n",[556,1198,1200,1203,1205,1208,1211,1214,1217,1219,1222],{"class":576,"line":1199},32,[556,1201,1202],{"class":558},"                        Store",[556,1204,812],{"class":562},[556,1206,1207],{"class":562}," current",[556,1209,1210],{"class":562}," accelerometer",[556,1212,1213],{"class":562}," vector",[556,1215,1216],{"class":562}," as",[556,1218,812],{"class":562},[556,1220,1221],{"class":562}," gravity",[556,1223,1224],{"class":562}," reference\n",[556,1226,1228,1231,1234,1237,1239],{"class":576,"line":1227},33,[556,1229,1230],{"class":558},"    heap_stats",[556,1232,1233],{"class":562},"          Query",[556,1235,1236],{"class":562}," stats",[556,1238,1127],{"class":562},[556,1240,1241],{"class":562}," heaps\n",[556,1243,1245],{"class":576,"line":1244},34,[556,1246,1247],{"class":558},"    infuse_states_query\n",[556,1249,1251,1254,1256,1258,1260],{"class":576,"line":1250},35,[556,1252,1253],{"class":558},"                        Read",[556,1255,1207],{"class":562},[556,1257,949],{"class":562},[556,1259,924],{"class":562},[556,1261,1262],{"class":562}," states\n",[556,1264,1266],{"class":576,"line":1265},36,[556,1267,1268],{"class":558},"    infuse_states_update\n",[556,1270,1272,1275,1277,1279],{"class":576,"line":1271},37,[556,1273,1274],{"class":558},"                        Update",[556,1276,949],{"class":562},[556,1278,924],{"class":562},[556,1280,1262],{"class":562},[556,1282,1284,1287,1290,1292,1295,1297],{"class":576,"line":1283},38,[556,1285,1286],{"class":558},"    kv_bt_peer",[556,1288,1289],{"class":562},"          Configure",[556,1291,812],{"class":562},[556,1293,1294],{"class":562}," peer",[556,1296,952],{"class":562},[556,1298,1299],{"class":562}," address\n",[556,1301,1303,1306,1309,1312,1314,1316,1319],{"class":576,"line":1302},39,[556,1304,1305],{"class":558},"    kv_read",[556,1307,1308],{"class":562},"             Read",[556,1310,1311],{"class":562}," values",[556,1313,773],{"class":562},[556,1315,812],{"class":562},[556,1317,1318],{"class":562}," KV",[556,1320,1321],{"class":562}," store\n",[556,1323,1325,1328,1331,1333,1336,1339,1342],{"class":576,"line":1324},40,[556,1326,1327],{"class":558},"    kv_reflect_crcs",[556,1329,1330],{"class":562},"     Read",[556,1332,1318],{"class":562},[556,1334,1335],{"class":562}," store",[556,1337,1338],{"class":562}," reflection",[556,1340,1341],{"class":562}," crc",[556,1343,1344],{"class":562}," values\n",[556,1346,1348,1351,1353,1355,1358,1361],{"class":576,"line":1347},41,[556,1349,1350],{"class":558},"    kv_write",[556,1352,891],{"class":562},[556,1354,946],{"class":562},[556,1356,1357],{"class":562}," arbitrary",[556,1359,1360],{"class":562}," kv",[556,1362,1363],{"class":562}," value\n",[556,1365,1367,1370,1373,1376,1379,1381,1383,1386],{"class":576,"line":1366},42,[556,1368,1369],{"class":558},"    last_reboot",[556,1371,1372],{"class":562},"         Retrieve",[556,1374,1375],{"class":562}," information",[556,1377,1378],{"class":562}," pertaining",[556,1380,750],{"class":562},[556,1382,812],{"class":562},[556,1384,1385],{"class":562}," previous",[556,1387,1388],{"class":562}," reboot\n",[556,1390,1392,1395,1398,1401,1403,1406,1409],{"class":576,"line":1391},43,[556,1393,1394],{"class":558},"    lte_at_cmd",[556,1396,1397],{"class":562},"          Run",[556,1399,1400],{"class":562}," AT",[556,1402,726],{"class":562},[556,1404,1405],{"class":562}," against",[556,1407,1408],{"class":562}," LTE",[556,1410,1411],{"class":562}," modem\n",[556,1413,1415,1418,1421,1423,1426],{"class":576,"line":1414},44,[556,1416,1417],{"class":558},"    lte_modem_info",[556,1419,1420],{"class":562},"      Get",[556,1422,1408],{"class":562},[556,1424,1425],{"class":562}," modem",[556,1427,1428],{"class":562}," information\n",[556,1430,1432,1435,1438,1440,1442,1445,1448,1451,1454,1457,1460],{"class":576,"line":1431},45,[556,1433,1434],{"class":558},"    lte_pdp_ctx",[556,1436,1437],{"class":562},"         Set",[556,1439,812],{"class":562},[556,1441,1408],{"class":562},[556,1443,1444],{"class":562}," PDP",[556,1446,1447],{"class":562}," context",[556,1449,1450],{"class":584}," (IP ",[556,1452,1453],{"class":562},"family",[556,1455,1456],{"class":580}," &",[556,1458,1459],{"class":558}," APN",[556,1461,859],{"class":584},[556,1463,1465,1468,1471,1473,1475,1478],{"class":576,"line":1464},46,[556,1466,1467],{"class":558},"    lte_state",[556,1469,1470],{"class":562},"           Get",[556,1472,1207],{"class":562},[556,1474,1408],{"class":562},[556,1476,1477],{"class":562}," interface",[556,1479,932],{"class":562},[556,1481,1483,1486,1489,1491,1493,1495,1497,1500,1503,1505],{"class":576,"line":1482},47,[556,1484,1485],{"class":558},"    lte_state_v2",[556,1487,1488],{"class":562},"        Get",[556,1490,1207],{"class":562},[556,1492,1408],{"class":562},[556,1494,1477],{"class":562},[556,1496,1124],{"class":562},[556,1498,1499],{"class":584}," (with ",[556,1501,1502],{"class":562},"RAI",[556,1504,1375],{"class":562},[556,1506,859],{"class":584},[556,1508,1510,1513,1516,1518,1520,1523,1525],{"class":576,"line":1509},48,[556,1511,1512],{"class":558},"    reboot",[556,1514,1515],{"class":562},"              Reboot",[556,1517,812],{"class":562},[556,1519,815],{"class":562},[556,1521,1522],{"class":562}," after",[556,1524,804],{"class":562},[556,1526,1527],{"class":562}," delay\n",[556,1529,1531],{"class":576,"line":1530},49,[556,1532,1533],{"class":558},"    security_key_update\n",[556,1535,1537,1539,1542],{"class":576,"line":1536},50,[556,1538,1274],{"class":558},[556,1540,1541],{"class":562}," key",[556,1543,1544],{"class":562}," material\n",[556,1546,1548],{"class":576,"line":1547},51,[556,1549,1550],{"class":558},"    security_public_keys\n",[556,1552,1554,1557,1559,1562],{"class":576,"line":1553},52,[556,1555,1556],{"class":558},"                        Query",[556,1558,815],{"class":562},[556,1560,1561],{"class":562}," public",[556,1563,1564],{"class":562}," keys\n",[556,1566,1568,1571,1574,1576,1579,1581,1583,1586],{"class":576,"line":1567},53,[556,1569,1570],{"class":558},"    security_state",[556,1572,1573],{"class":562},"      Query",[556,1575,1207],{"class":562},[556,1577,1578],{"class":562}," security",[556,1580,1124],{"class":562},[556,1582,711],{"class":562},[556,1584,1585],{"class":562}," validate",[556,1587,1588],{"class":562}," identity\n",[556,1590,1592,1595,1598,1600,1603,1606,1609,1612,1615],{"class":576,"line":1591},54,[556,1593,1594],{"class":558},"    sym_read",[556,1596,1597],{"class":562},"            Read",[556,1599,1357],{"class":562},[556,1601,1602],{"class":562}," memory",[556,1604,1605],{"class":584}," (NO ",[556,1607,1608],{"class":562},"ADDRESS",[556,1610,1611],{"class":562}," VALIDATION",[556,1613,1614],{"class":562}," PERFORMED",[556,1616,859],{"class":584},[556,1618,1620,1623,1626,1629,1632],{"class":576,"line":1619},55,[556,1621,1622],{"class":558},"    thread_stats",[556,1624,1625],{"class":562},"        Query",[556,1627,1628],{"class":562}," runtime",[556,1630,1631],{"class":562}," thread",[556,1633,1634],{"class":562}," statistics\n",[556,1636,1638,1641,1644,1646,1648,1651,1654,1656,1658],{"class":576,"line":1637},56,[556,1639,1640],{"class":558},"    time_get",[556,1642,1643],{"class":562},"            Get",[556,1645,812],{"class":562},[556,1647,1207],{"class":562},[556,1649,1650],{"class":562}," time",[556,1652,1653],{"class":562}," knowledge",[556,1655,1127],{"class":562},[556,1657,812],{"class":562},[556,1659,778],{"class":562},[556,1661,1663,1666,1669,1671,1673,1675,1677,1679],{"class":576,"line":1662},57,[556,1664,1665],{"class":558},"    time_set",[556,1667,1668],{"class":562},"            Set",[556,1670,812],{"class":562},[556,1672,1207],{"class":562},[556,1674,1650],{"class":562},[556,1676,1127],{"class":562},[556,1678,812],{"class":562},[556,1680,778],{"class":562},[556,1682,1684],{"class":576,"line":1683},58,[556,1685,1686],{"class":558},"    ubx_assist_now_ztp_creds\n",[556,1688,1690,1693,1696,1699,1702,1705,1708],{"class":576,"line":1689},59,[556,1691,1692],{"class":558},"                        Retrieve",[556,1694,1695],{"class":562}," U-blox",[556,1697,1698],{"class":562}," AssistNow",[556,1700,1701],{"class":562}," Zero",[556,1703,1704],{"class":562}," Touch",[556,1706,1707],{"class":562}," Provisioning",[556,1709,1710],{"class":562}," credentials\n",[556,1712,1714,1717,1720,1722,1725,1728,1731,1733],{"class":576,"line":1713},60,[556,1715,1716],{"class":558},"    wifi_configure",[556,1718,1719],{"class":562},"      Set",[556,1721,812],{"class":562},[556,1723,1724],{"class":562}," WiFi",[556,1726,1727],{"class":562}," network",[556,1729,1730],{"class":562}," SSID",[556,1732,711],{"class":562},[556,1734,1735],{"class":562}," PSK\n",[556,1737,1739,1742,1745,1747,1749],{"class":576,"line":1738},61,[556,1740,1741],{"class":558},"    wifi_scan",[556,1743,1744],{"class":562},"           Scan",[556,1746,801],{"class":562},[556,1748,1724],{"class":562},[556,1750,1751],{"class":562}," networks\n",[556,1753,1755,1758,1761,1763,1765,1767],{"class":576,"line":1754},62,[556,1756,1757],{"class":558},"    wifi_state",[556,1759,1760],{"class":562},"          Get",[556,1762,1207],{"class":562},[556,1764,1724],{"class":562},[556,1766,1477],{"class":562},[556,1768,932],{"class":562},[556,1770,1772,1775,1778,1780,1782,1784,1787],{"class":576,"line":1771},63,[556,1773,1774],{"class":558},"    zbus_channel_state",[556,1776,1777],{"class":562},"  Query",[556,1779,1207],{"class":562},[556,1781,1124],{"class":562},[556,1783,1127],{"class":562},[556,1785,1786],{"class":562}," zbus",[556,1788,1789],{"class":562}," channel\n",[556,1791,1793,1796,1799,1802,1805,1808,1811],{"class":576,"line":1792},64,[556,1794,1795],{"class":558},"    zperf_upload",[556,1797,1798],{"class":562},"        Network",[556,1800,1801],{"class":562}," upload",[556,1803,1804],{"class":562}," bandwidth",[556,1806,1807],{"class":562}," testing",[556,1809,1810],{"class":562}," using",[556,1812,1813],{"class":562}," zperf\u002Fiperf\n",[543,1815,1817],{"id":1816},"running-commands","Running Commands",[494,1819,1820,1821,1825,1826,1834],{},"Running a RPC on a remote device requires specifying the desired target device.\nThis can be either ",[498,1822,1823],{"className":552,"language":553,"style":554},[556,1824,602],{"class":558}," to run the command on the local serial gateway device\n(no matter its ID), or ",[498,1827,1828,1831],{"className":552,"language":553,"style":554},[556,1829,1830],{"class":558},"--id",[556,1832,1833],{"class":584}," $INFUSE_ID"," to specify a local Bluetooth device.",[494,1836,1837],{},"The target device is then followed by the desired command name and any command specific arguments.",[569,1839,1841],{"className":552,"code":1840,"language":553,"meta":554,"style":554},"> infuse rpc --id 0x1234567890ABCDEF time_get\n          Source: GNSS\n     Remote Time: 2025-03-10 01:54:52.837\n      Local Time: 2025-03-10 01:54:52.150\n          Synced: 2193 seconds ago\n",[498,1842,1843,1850,1858,1872,1884],{"__ignoreMap":554},[556,1844,1845,1847],{"class":576,"line":577},[556,1846,581],{"class":580},[556,1848,1849],{"class":584}," infuse rpc --id 0x1234567890ABCDEF time_get\n",[556,1851,1852,1855],{"class":576,"line":588},[556,1853,1854],{"class":558},"          Source:",[556,1856,1857],{"class":562}," GNSS\n",[556,1859,1860,1863,1866,1869],{"class":576,"line":652},[556,1861,1862],{"class":558},"     Remote",[556,1864,1865],{"class":562}," Time:",[556,1867,1868],{"class":562}," 2025-03-10",[556,1870,1871],{"class":562}," 01:54:52.837\n",[556,1873,1874,1877,1879,1881],{"class":576,"line":659},[556,1875,1876],{"class":558},"      Local",[556,1878,1865],{"class":562},[556,1880,1868],{"class":562},[556,1882,1883],{"class":562}," 01:54:52.150\n",[556,1885,1886,1889,1892,1895],{"class":576,"line":680},[556,1887,1888],{"class":558},"          Synced:",[556,1890,1891],{"class":855}," 2193",[556,1893,1894],{"class":562}," seconds",[556,1896,1897],{"class":562}," ago\n",[1899,1900,1901],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":554,"searchDepth":652,"depth":588,"links":1903},[1904,1905],{"id":545,"depth":588,"text":546},{"id":1816,"depth":588,"text":1817},"Send and Receive commands to nearby devices.","md",null,{},{"title":180,"description":1906},"tTSJMS6JZdMrUwErjsqnLC_60_tvv-kGlzHetSag7XY",[1913,1915],{"title":176,"path":177,"stem":178,"description":1914,"children":-1},"View and log live sensor data.",{"title":184,"path":185,"stem":186,"description":1916,"children":-1},"Update individual or batches of nearby devices to newer software releases.",1791526870570]