介绍
Meshblu 是一种设备到设备通讯(Device-to-Device Communication)解决方案,是一个基于云的通讯系统,可以实现 IoT 设备与应用之间的通讯。
npm 包 meshblu-shell 是 Meshblu 官方开发的一个命令行工具,提供了一种简单方便的方式与 Meshblu 通讯进行设备配置、数据传输、管理操作等。
在本文中,我们将详细介绍如何安装、配置和使用 meshblu-shell,让你充分掌握此工具,可以更加便捷的进行 Meshblu 设备的管理。
安装
使用 npm 安装 meshblu-shell 的命令如下:
npm install meshblu-shell -g
配置
在使用 meshblu-shell 之前,我们需要首先进行配置。
- 获取 Meshblu UUID 和 Token。
在使用 meshblu-shell 的过程中,登录 Meshblu Cloud 是必须的。所以,我们需要获取我们的 Meshblu UUID 和使用 Meshblu Token 进行身份验证。我们可以通过 Meshblu 官方网站 注册并获取他们。
- 登录 Meshblu Cloud。
运行 meshblu login
命令,根据提示输入你的 Meshblu UUID 和 Token,完成登录操作。
meshblu login ? Your Meshblu UUID: <YOUR_UUID> ? Your Meshblu Token: <YOUR_TOKEN> Logged in successfully
- 设置默认选项。
我们可以通过运行 meshblu config
命令,设置默认选项。
例如,我们设置 --uuid
和 --token
选项为我们之前获取的 UUID 和 Token 值。此外,我们还可以设置 --server
选项为我们需要连接的 Meshblu 服务器地址。例如,在国内我们可以选择「南京裸衣 KangarooBeagleBone」服务器,地址为 meshblu-cn.octoblu.com
。
meshblu config set --uuid=<YOUR_UUID> meshblu config set --token=<YOUR_TOKEN> meshblu config set --server=meshblu-cn.octoblu.com
现在我们已经完成了 meshblu-shell 的配置,并且可以使用它来管理 Meshblu 设备了。
商店
运行 meshblu link
命令,将 meshblu-shell 与 Meshblu 商店连接,使得我们可以从商店获取/上传设备和插件。Meshblu 商店是存放 Meshblu 设备和插件的一个公开库,你可以在商店中搜索到你想要的设备或插件,并下载到你的设备中。
例如,在商店中搜索并安装 octoblu:arduino:uno
,就能够在本地设备上创建一个 Arduino Uno 设备。
meshblu link meshblu search octoblu:arduino:uno meshblu install octoblu:arduino:uno
设备
我们可以使用 meshblu devices
命令,查看当前 Meshblu 帐户下的设备。
-- -------------------- ---- ------- ------- ------- - --------------------------------------- - ------- --------------------------------------- -------- ------------------------------------------- ------- --- ---------- --- -------- --------------------------------------- --------- ----- -------------------- ---- ------- --- ---------- --------------------------- -------------- -------------------------- - -
我们可以通过 meshblu generate-key
命令,生成设备的公钥和私钥,在设备之间传递数据时起到身份验证的作用。
meshblu generate-key { "uuid": "78ad8044-4a71-46ac-a535-bf83d777c1b1", "token": "eaL8RwsxrEGZpCzVOaoEpYDwkAh8WDDR5xgSCrZe", "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAudE+ZpbIc6U4Y6+j4JiT\nsyFJcTZ9RmLbyjNd1BowTVZ3zbfa/z2QzVGLId61+TcCv7DfiiJ9uV7WRKg2IuVw\n761cN8flY6U89GY6U4vAa+M6348PUmjD85hmyg0JvFFKjH5aIx23YNTmmJzgGq3t\n2+8XfJXB541OIhAyaJwHlKjhcRzDPe/ddeOReSD3qrgG2mXjJiTAKmviSHcGZLkk\njFtk8ljYhPi1bxyt5iu5C5y5lDgNpPbSehNDv+zKfZz8Y/5vk2JzBr7VulDGoymu\n7VufjQ0uS7Hbslx6PrhU6Y4U6NZ4ir7sOxHsR9hl0ci+hOjg06afqRuZQcvT8TjT\nmwIDAQAB\n-----END PUBLIC KEY-----", "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC50T5mlshzpThj\nr6PgmJyzIUlxNn1GYtvKM13UGjBNVnfNt9r/PZDNUYsh3rX5NwK/sN+KIn25XtZE\nqDYi5XDvrVw3x+VjpTz0ZjpTi8Br4zrfjw9SaMPzmGbKDSbxFFqMflojHbdg1OaY\nnOAKre3b7xd8lcHnjU4iEDJonAeUqOFxHMMA3v3XXjkXkg96q4Btpl4yYkAqa+JI\ndwZkuSSMm2TyWNiE+LVvHK3mK7kLnLmUOA2k9tJ6E0O/7Mp9nPxj/amQBYIaUJb7\nuAMbfZTxeg/oGdhCz+NPf2AFDGY1bKx1ytc9bwcnRUDSJpTa47mB4UlkK6UzdYRG\n1WB/NSgVAgMBAAECggEAIb7nmJAYGbtuEwWoQ+ND8wnJLZYM0zKslr5xHLpW8Hfn\nWXJjK0WM13d+Z78WtZKRMtca+BPSJzbrcO/P1340sbGJfTLjQbzJghlZv1tWJHtj\nhBPSpKJFvAcGy268X42PRh2j/nOl3qHv25aeMoZ1BOYTuG/Kb/pzKo0/NNBOpXvp\nDV/J32KjSSh4H4U6KuUOmYcU6BQU0MkQ0ohBf9GDXIky6ygutzMFwGjMBaCWuTSa\nQ2hwjaOqDTj/Kxjh9X9R0cLoOCoF98uCNTTWtZvJgeD765FFjAWY0ovWSP0A7vBt\n3Bq0NLcMfOdpWr2QlbiHNpqzC7jGgkc+jX8e+HxhQQKBgQDjK6mZUwE4o6nDbwy6\nUnmW1f9jRpRRS6PmU7VfUzjto50lGJMez3Xi3DLnNmtWexi9LcC/yb+uNe02PCKR\nbup0ZglLJ3qXDzQ0fC9ywCxXySqxGs+yb732+lP7AJvjH6VP98Ew4KQU6IadYKLz\nlAZ9ahQSU/SfJKGkJuV7O31zwQKBgQDZ+WAzLJFSK/qh21WdX+5x5J5t5h5KXIiq\npldhPhdA01AGDttKzJtRhTO08+Xe587N3KqNOl2QJc8gOhJZ/SvQk/bdfHxFcVIM\nOgWx5vRBH5+i5+5ND5tZ0ig81kvMwAh+GMr0RkM8Xh/EaOJfCq+3SA/W0QbxT/hT\nfZw3q3q68QKBgCBXyAEzsLuV1eNlsBcmRXTfoxUeL6//4cZzfsa6UUbY1dIa1NJx\nyjkbuJTI32C68mmsU6z4UwE/dUuDzTBXiH1k9bCSyS7V03PN6TPgbH7hrT0TGlT+\nvjoq3q3ca3BxnX9re0IoIlkMkEt04KNR0rk34nlNnDsJURZlfqdjDAp/AoGBAINX\nPkw/J/iiMoqC3uuLrg83HXpm8WtmCuG2vJmPfCA29KnFh8W9rMg62fzuLch5/v1b\n+O5tiYfIM8DfWfwJvUmO5+5b5a5EykC0LiCMF+W89CRz0jscHGi+L37nbJcsouNW\nQGJf3qNO3JXVEWTOyvii2qrImUGc+nqY8bqt/LOfAoGALbRZZAnlKST9AXyURnIy\nzVMHhiLmY17I4o6UokoHE6FsmfmCUJ/cV7swmHU97eSXEyB1NZBDOK/HlYWyU6ud\nU6OeHCiOFRNg7MJX9ihMo+xO7V0QbvImq3CshiUVeWe05TIXwvLs+hR39sMkX9Az\n0pwCvNzRnMFt+Y8tWg/rnZw=\n-----END PRIVATE KEY-----" }
我们可以使用 meshblu message
命令,向指定设备发送消息(message)。
meshblu message <DEVICE_UUID> <MESSAGE>
例如:
meshblu message 78ad8044-4a71-46ac-a535-bf83d777c1b1 '{"hello":"World"}'
此时,我们对 <DEVICE_UUID>
号为 78ad8044-4a71-46ac-a535-bf83d777c1b1
的设备发送了一条消息 {\"hello\":\"World\"}
。
示例代码
可以查看如下示例代码,用 JavaScript 实现了简单的 meshblu-shell 使用操作例子。
-- -------------------- ---- ------- ----- ------- - ------------------ ----- ------- - --- --------- ----- ----------- - - ----- ------------ ------ ------------ - ---------------------------- -- ------- ----------------------- -------- -- - -------------------- -- -- ---- ------------------------------------- --------- ------ ------- ------------- -- - ------------------------- --
总结
本篇文章详细介绍了如何安装、配置和使用 npm 包 meshblu-shell,包括商店、设备等常用操作。我们相信你可以更加轻松得与 Meshblu 建立联系、进行设备管理操作。
发布此文的目的不仅仅是教授正确使用方式,更重要的是希望围绕 Meshblu 的开发,实现各种酷炫的 IoT 设备与应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3d1d8e776d08040a9e