先讲一下背景:由于近期项目经常用到串口开发(通过pc控制外部的芯片比如驱动电机,超声波,温度传感器等等),注意我们当前用的后端是node的后端。而node中处理串口通信的框架就是serialport。就需要安装serialport,但是安装serialport,会经常报错,无法使用。每次都需要网上去找资料解决报错,特别烦人,于是决心彻底解决这个问题。robotjs(是一个自动化测试框架,java python都有类似的东西,可以用代码控制鼠标和键盘)安装环境与serialport一样,所以就一块说了。
这两个框架在安装之前都需要安装一些环境依赖。否则不能安装这两个框架。
一般网上都会有一个命令如下:
npm install --global --production windows-build-tools
但是多数情况下安装命令执行后会一直卡在那里不动。无论你等待多长时间。
这个命令其实是在安装三个东西,分别是1:python(v2.7) 2:visual C++ Build Tools(许多电脑会带vs2015) 3:framework.net4.7(我安装的是这个)
如上图,意味着你只需要你手动安装了这三种环境,第一步就算完成。注意python需要配置环境变量,也就是把python安装目录复制了,在环境变量path在最后边加个“;”然后粘贴即可。
后边我会把这期中两个文件分别上传以供大家下载(下载地址)。
当你手动安装后这三个东西,你再去执行上边那个命令会发现,他迅速提示你已安装好环境,注意(所有的cnpm/npm必须要在管理员权限下的cmd中执行,否则极易失败)
当你完成以上三个环境的安装后,python在控制台上也能被识别了。那恭喜你可以进入下一步了。
在第二步中,首先要向大家介绍这个命令 npm install -g node-gyp(必须要在管理员权限的cmd中安装)。
有的小伙伴就要问了,node-gyp 这是什么?
node-gyp其实就是node为了调用其他语言(比如c/c++语言写的dll)并且为解决跨平台而搞得一个东西。
当你安装完成第node-gyp后就恭喜你了。你可以安装serialport和 robotjs了。
安装robotjs的命令是:
npm i -g robotjs (使用管理员权限安装)
顺便附带一下robotjs 官方案例
// Move the mouse across the screen as a sine wave.
var robot = require("robotjs");
// Speed up the mouse.
robot.setMouseDelay(2);
var twoPI = Math.PI * 2.0;
var screenSize = robot.getScreenSize();
var height = (screenSize.height / 2) - 10;
var width = screenSize.width;
for (var x = 0; x < width; x++)
{
y = height * Math.sin((twoPI * x) / width) + height;
robot.moveMouse(x, y);
}
Keyboard
// Type "Hello World" then press enter.
var robot = require("robotjs");
// Type "Hello World".
robot.typeString("Hello World");
// Press enter.
robot.keyTap("enter");
Screen
// Get pixel color under the mouse.
var robot = require("robotjs");
// Get mouse position.
var mouse = robot.getMousePos();
// Get pixel color in hex format.
var hex = robot.getPixelColor(mouse.x, mouse.y);
console.log("#" + hex + " at x:" + mouse.x + " y:" + mouse.y);