npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dobot-plus-toolkit

v1.0.38

Published

该工具为 [DobotStudio Pro](https://dobot.cn/service/download-center) Dobot+ 插件开发工具,用于快捷高效的开发 Dobot+ 插件

Downloads

64

Readme

Dobot+ 插件开发工具集

该工具为 DobotStudio Pro Dobot+ 插件开发工具,用于快捷高效的开发 Dobot+ 插件

依赖

NodeJS

该工具依赖于 v20+ 版本的 NodeJS,在开发时,请保持 NodeJs 版本的一致性。

安装

安装 dobot-plus-toolkit

使用 npm 安装

npm install -g dobot-plus-toolkit

使用

创建插件

dpt create

该指令需要开发者提供:

  • 插件名,插件名不得与当前路径下子文件夹同名
  • 描述,可选,默认为空
  • 版本号,默认 1-0-0,版本号请遵循 [主版本]-[次要版本]-[更新/修复]-[状态] 使用 - 连接的格式
  • 真机的 ip 地址,默认是 192.168.5.1 后续调试可变更

创建成功后文件夹结构如下:

my-plugin
├── Resources # 资源文件夹
│   ├── document 
│   │   └── config.json
│   ├── i18n # 国际化资源
│   │   ├── client # 积木编程、脚本编程、插件在客户端展示的翻译资源
│   │   │   ├── de.json # 德语
│   │   │   ├── en.json # 英语
│   │   │   ├── es.json # 西班牙语
│   │   │   ├── hk.json # 繁体中文
│   │   │   ├── ja.json # 日语
│   │   │   ├── ko.json # 韩语
│   │   │   ├── ru.json # 俄语
│   │   │   └── zh.json # 中文
│   │   └── plugin # 插件 UI 界面的国际化翻译资源
│   │       ├── de.json
│   │       ├── en.json
│   │       ├── es.json
│   │       ├── hk.json
│   │       ├── ja.json
│   │       ├── ko.json
│   │       ├── ru.json
│   │       └── zh.json
│   └── images
│       └── pallet.svg
├── configs # 配置文件
│   ├── Blocks.json  # 积木编程配置文件
│   ├── Main.json    # 插件信息配置文件
│   ├── Scripts.json # 函数编程配置文件
│   └── Toolbar.json # 工具栏配置文件
├── dpt.json
├── lua # 控制器lua脚本文件夹
│   ├── daemon.lua  # 主进程
│   ├── httpAPI.lua # 响应http请求的进程
│   ├── userAPI.lua # 脚本编程、积木编程对外接口进程
│   ├── control.lua # 插件核心控制逻辑
│   └── utils # lua工具函数
│       ├── await485.lua #485 通道使用的工具
│       ├── mqtt.lua # mqtt 连接工具
│       ├── num_convert.lua # 数字运算工具
│       ├── util.lua # 通用工具
│       └── variables.lua # 变量模块
├── package.json
├── pnpm-lock.yaml
├── tsconfig.json
└── ui # 插件UI界面
    ├── Blocks.tsx # 积木弹窗页面
    ├── Main.tsx # 插件主页面
    └── Toolbar.tsx # 插件工具栏

开发者可以根据需要对具体的文件内容进行变更。项目中有一个 .dobot 文件夹,里面是该工具内置的函数和组件,旨在减少开发者初始化项目的操作,开发者可以根据需要,自由更改里面的内容,但请保持文件夹和文件的完整性。

调试

  • dev

    dpt dev

    上述指令会执行:

    • 建立 sftp 连接,用于代码同步到控制器
    • 建立本地开发服务,用于调试页面
    • 根据 httpAPI.lua 文件生成前端请求接口,在界面可根据ide提示自动引入
  • lua

    dpt lua

    上述指令会执行:

    • 便利项目下lua文件夹的所有文件
    • 配置lua的模块加载路径
    • 执行用户选择的lua脚本并打印其中的日志
  • gui

    dpt gui

    上述指令会执行:

    • 启动本地文件服务,执行本地文件的读写操作
    • 开发Web端的图形界面,提供用户编辑积木配置、脚本编程配置、插件翻译配置的能力

打包

dpt build

在构建的过程中,ui 路径下的第一层的 .tsx 文件会被构建成对应的页面

  • Main.tsx 对应插件主页面
  • Toolbar.tsx 对应插件工具栏
  • Blocks.tsx 对应插件的积木弹窗页面
  • 其他一级自定义页面也会进行同类型构建,所以请开发者注意 ui 文件夹下一级目录中 .tsx 文件的命名

在程序顺利执行完毕后,当前文件夹下会出现 dist 文件夹和 output 文件夹。

  • dist 文件夹中存放着本次构建后的插件代码,用于开发者检查构建结果
  • output 文件夹存放着压缩后的 zip 文件,文件名格式为 <插件名>-<版本号>.zip,该文件为实际在客户端导入使用的的插件。

构建后未压缩的文件夹结构如下:

├── Blocks
│   ├── config.json # 积木编程配置文件
│   └── index.html  # 积木编程点击积木块展示的页面
├── Main
│   ├── config.json # 插件基础配置
│   └── index.html
├── Resources
│   ├── document
│   │   └── config.json # 脚本编程文档配置
│   ├── i18n            # 国际化翻译数据
│   │   ├── Deutsch     # 德语翻译
│   │   │   ├── blocks.json  # 积木编程翻译
│   │   │   ├── config.json  # 基础配置的翻译
│   │   │   └── scripts.json # 脚本编程的翻译
│   │   ├── English
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   ├── Español
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   ├── Русский язык
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   ├── 日本語
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   ├── 简体中文
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   ├── 繁體中文
│   │   │   ├── blocks.json
│   │   │   ├── config.json
│   │   │   └── scripts.json
│   │   └── 한국어
│   │       ├── blocks.json
│   │       ├── config.json
│   │       └── scripts.json
│   └── images
│       └── pallet.svg
├── Scripts
│   └── config.json # 脚本编程的配置文件
├── Toolbar
│   ├── config.json
│   └── index.html
├── daemon.lua  # lua入口文件、守护进程 
├── httpAPI.lua # 控制器和GUI的数据交互模块,处理GUI界面的http请求
├── userAPI.lua # 积木编程和脚本编程的模块
├── control.lua # 插件核心控制模块,对应实际控制机械臂末端的方法
└── utils
    └── await485.lua

命令行指令

全局安装成功后,dobot-plus-toolkit 会自动注册一个名为 dpt 的命令行工具。

dpt 是一个集成了多种功能的命令行工具,旨在简化插件开发流程。以下是该工具中包含的主要指令及其详细用法说明:

| 命令 | 用途 | 用法 | 选项 | 详细说明 | |-------------|------------------------------------------------------------|-----------------------------------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | create | 创建一个新的插件项目 | dpt create | 无 | 运行此命令时,系统会引导您创建一个新的插件项目。您可以通过一系列的选择,设置项目的名称、版本号以及插件的基础结构。生成的项目将包含初始的配置文件和文件结构,方便后续开发。 | | dev| 启动开发服务器,并将代码同步到真实设备进行调试 | dpt dev [--port <port>] | --port <port>:指定开发服务器的端口,默认为 8080 | 运行 dpt dev 后,系统会启动 Webpack 开发服务器,并根据配置文件 dpt.json 与真实设备建立连接。您可以选择是否在真实设备上调试 Lua 脚本。如果选择调试,系统会通过 SFTP 将代码同步到设备,并监控文件变动。每当 Lua 脚本发生变化时,系统会自动更新设备上的文件并重新加载插件。 | | lua | 运行 Lua 脚本,并在项目中选择目标 Lua 文件执行 | dpt lua | 无 | 此命令会列出 ./lua 目录中的所有 Lua 文件,并让您选择目标文件执行。选择完成后,命令会通过 lua54.exe 运行该脚本,输出执行结果。此功能适合开发过程中快速测试和运行 Lua 代码。 | | gui | 通过图形化界面(GUI)配置项目 | dpt gui [--dev] | --dev:以开发模式启动 GUI | 运行此命令时,系统会启动一个 Web GUI 界面,允许用户通过浏览器进行项目配置。该界面支持实时预览和交互操作。如果指定 --dev 选项,命令会以开发模式启动 GUI,适用于调试和开发场景。 | | build | 打包项目 | dpt build | 无 | 此命令用于将项目代码进行打包处理,生成最终的插件发布版本。打包时会根据项目的 Webpack 配置,优化代码并生成最终的可发布文件。 |


vscode 插件建议

该工具在使用时,创建完项目后,会提示用户安装一些 vscode 插件,强烈建议开发者使用这些插件,对于开发的效率和便利性有很大的帮助。

  • lua

    • 该插件是调试开发lua的首选,具备代码检查、自动补全和代码提示的功能
  • lua-helper

    • 使用 GO 开发的一款 lua 开发工具,可以执行代码的检查、补全、提示和格式化
    • 功能稳定
  • i18n

    • 在 vscode 中提供可视化的翻译资源编辑工具
    • 联网状态下可以一键翻译文案
    • 在组件内,可以预览文案