{"_id":"55ad8eb433616a0d00599ee7","version":{"_id":"55a823b78b9fdf0d00117110","project":"55a823b78b9fdf0d0011710d","__v":5,"createdAt":"2015-07-16T21:35:51.544Z","releaseDate":"2015-07-16T21:35:51.544Z","categories":["55a823b88b9fdf0d00117111","55a8485472e7120d004ae6de","55a84e53a9824d2d00a6b95c","55aecf97c97a1a0d002245af","55aedfe0c97a1a0d00224606"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"category":{"_id":"55a823b88b9fdf0d00117111","project":"55a823b78b9fdf0d0011710d","version":"55a823b78b9fdf0d00117110","pages":["55a823b88b9fdf0d00117113","55a84903a9824d2d00a6b94b","55a84c9ea9824d2d00a6b956","55a84cb972e7120d004ae6e8","55a84e83a9824d2d00a6b95d","55ad8eb433616a0d00599ee7","55aecfa8555b900d0036d1a2","55aee068555b900d0036d1e9"],"__v":8,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-16T21:35:52.065Z","from_sync":false,"order":9999,"slug":"documentation","title":"Documentation"},"project":"55a823b78b9fdf0d0011710d","user":"5564f227f0f70f0d00a9ab20","__v":25,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-07-21T00:13:40.358Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":999,"body":"This guide is for programmers, or people who want to use [Meshblu](http://meshblu.readme.io/docs/security) without using flows or Octoblu. If you want to use any of those, check out [Getting Started - Octoblu](doc:getting-started-1) \n\nThe distribution of The Tentacle for Arduino can be found in the \"releases\" section of the tentacle-build repo [here](https://github.com/octoblu/tentacle-build/releases). \n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"This is Not the Repo You're Looking For\",\n  \"body\": \"The code in this repo is not the actual tentacle code - it's the code for preparing the library for use in the Arduino IDE. **So don't try to flash it to your microcontroller**.\\n\\nFor more information on this, check out [The Source](the-source)\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Meshblu-Util\",\n  \"body\": \"The following examples assume you're using our command-line utility, [meshblu-util](http://meshblu.readme.io/docs/meshblu-utility). Any other method of communicating with Meshblu will work - it's just easier to do it this way.\\n\\n\\nFor more information on the message and configuration formats, check out [Message Formats](message-formats)\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Registering a New Device\"\n}\n[/block]\nThis works like any other Meshblu device. The only thing you may want to do is specify the device type as **device:tentacle** - though even that is not required.\n\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"meshblu-util register -t device:tentacle > meshblu.json\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Remember - Permissions Are Important\",\n  \"body\": \"Devices registered with meshblu-util are locked down by default. That means that nothing else can talk to, configure, or subscribe to the device until it's whitelist allows it. None of the sections below will work if you don't do this. See [Meshblu - Security](http://meshblu.readme.io/docs/security) for more info.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Configuring The Tentacle\"\n}\n[/block]\nAgain, this is pretty much the same as any other device in Meshblu. The only thing you need to worry about is... \n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Danger! Protocol Droid Required.\",\n  \"body\": \"If you message The Tentacle with the wrong format, Meshblu will disconnect the device, because who knows what microcontrollers would do otherwise. The Tentacle will immediately try to connect, however. The documentation for the message format can be found  in [Message Formats](doc:message-formats).\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"meshblu-util update -f ./the-right-config-format-i-swear.json ./meshblu.json\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Messaging The Tentacle\"\n}\n[/block]\nAgain, this is pretty much the same as any other device in Meshblu. The only thing you need to worry about is...\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Danger! Protocol Droid Required.\",\n  \"body\": \"See the configuration section for more on this.\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"meshblu-util message -u <your-tentacle-uuid> -f ./the-right-message-format-i-swear.json ./meshblu.json\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Subscribing to The Tentacle\"\n}\n[/block]\nThis is exactly the same as any other device in Meshblu. But here it is, for completeness' sake.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"meshblu-util subscribe -u <your-tentacle-uuid> ./meshblu.json\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]","excerpt":"You've convinced me. I'm in.","slug":"getting-started-meshblu","type":"basic","title":"Getting Started - Meshblu"}

Getting Started - Meshblu

You've convinced me. I'm in.

This guide is for programmers, or people who want to use [Meshblu](http://meshblu.readme.io/docs/security) without using flows or Octoblu. If you want to use any of those, check out [Getting Started - Octoblu](doc:getting-started-1) The distribution of The Tentacle for Arduino can be found in the "releases" section of the tentacle-build repo [here](https://github.com/octoblu/tentacle-build/releases). [block:callout] { "type": "warning", "title": "This is Not the Repo You're Looking For", "body": "The code in this repo is not the actual tentacle code - it's the code for preparing the library for use in the Arduino IDE. **So don't try to flash it to your microcontroller**.\n\nFor more information on this, check out [The Source](the-source)" } [/block] [block:callout] { "type": "info", "title": "Meshblu-Util", "body": "The following examples assume you're using our command-line utility, [meshblu-util](http://meshblu.readme.io/docs/meshblu-utility). Any other method of communicating with Meshblu will work - it's just easier to do it this way.\n\n\nFor more information on the message and configuration formats, check out [Message Formats](message-formats)" } [/block] [block:api-header] { "type": "basic", "title": "Registering a New Device" } [/block] This works like any other Meshblu device. The only thing you may want to do is specify the device type as **device:tentacle** - though even that is not required. [block:code] { "codes": [ { "code": "meshblu-util register -t device:tentacle > meshblu.json", "language": "shell" } ] } [/block] [block:callout] { "type": "warning", "title": "Remember - Permissions Are Important", "body": "Devices registered with meshblu-util are locked down by default. That means that nothing else can talk to, configure, or subscribe to the device until it's whitelist allows it. None of the sections below will work if you don't do this. See [Meshblu - Security](http://meshblu.readme.io/docs/security) for more info." } [/block] [block:api-header] { "type": "basic", "title": "Configuring The Tentacle" } [/block] Again, this is pretty much the same as any other device in Meshblu. The only thing you need to worry about is... [block:callout] { "type": "danger", "title": "Danger! Protocol Droid Required.", "body": "If you message The Tentacle with the wrong format, Meshblu will disconnect the device, because who knows what microcontrollers would do otherwise. The Tentacle will immediately try to connect, however. The documentation for the message format can be found in [Message Formats](doc:message-formats)." } [/block] [block:code] { "codes": [ { "code": "meshblu-util update -f ./the-right-config-format-i-swear.json ./meshblu.json", "language": "shell" } ] } [/block] [block:api-header] { "type": "basic", "title": "Messaging The Tentacle" } [/block] Again, this is pretty much the same as any other device in Meshblu. The only thing you need to worry about is... [block:callout] { "type": "danger", "title": "Danger! Protocol Droid Required.", "body": "See the configuration section for more on this." } [/block] [block:code] { "codes": [ { "code": "meshblu-util message -u <your-tentacle-uuid> -f ./the-right-message-format-i-swear.json ./meshblu.json", "language": "shell" } ] } [/block] [block:api-header] { "type": "basic", "title": "Subscribing to The Tentacle" } [/block] This is exactly the same as any other device in Meshblu. But here it is, for completeness' sake. [block:code] { "codes": [ { "code": "meshblu-util subscribe -u <your-tentacle-uuid> ./meshblu.json", "language": "text" } ] } [/block]