Siguiendo las instrucciones de Freddy cuando intente instalar Johnny Five para correrlo con arduino, me generó varios errores, por el Python, por el serialport, por las librerias C++ y viendo los comentarios vi que varios tenían esos problemas. Así que leí en varios sitios y acá dejo el paso a paso que me funcionó a mi y me dejo correr un programa en arduino con Johnny Five.
Instalar el Nodejs la versión LTS a 32 bit, muchos decían que las versiones a 64 bits no funcionaban bien.
Instalar Python versión 2.7.14, la mayoría coincidía con que era la más compatible.
Instalar Visual studio 2015 C++.
Ejecutar esto en la consola para agregar Python a las variables de entorno del sistema.
Instalar node-gyp desde la consola, necesario para compilar en Node
Instalar el serialport, en la carpeta del proyecto y globalmente, es por donde se comunicará con el arduino.
7. instalar Johnny Five en la carpeta del proyecto.
8. Ejecutar archivo.js
Al primer intento, me salió error, así que volví a descargar en el arduino el StandardFirmata y despúes corrió correctamente.
C:\>npm install -g node gyp > node@13.12.0 preinstall C:\Users\Laptop\AppData\Roaming\npm\node_modules\node > node installArchSpecificPackage + node-win-x64@13.12.0 added 1 package and audited 1 package in 13.265s found 0 vulnerabilities C:\Users\Laptop\AppData\Roaming\npm\node -> C:\Users\Laptop\AppData\Roaming\npm\node_modules\node\bin\node + gyp@0.5.0 + node@13.12.0 removed 1 package and updated 2 packages in 41.758sC:\>npm install serialport --save > @serialport/bindings@8.0.7 install C:\node_modules\@serialport\bindings > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild prebuild-install WARN install No prebuilt binaries found (target=13.12.0 runtime=node arch=x64 libc= platform=win32) C:\node_modules\@serialport\bindings>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) gyp ERR! find VS gyp ERR! find VS msvs_version not set from command line or npm config gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer gyp ERR! find VS looking for Visual Studio 2015 gyp ERR! find VS - not found gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8 gyp ERR! find VS gyp ERR! find VS ************************************************************** gyp ERR! find VS You need to install the latest version of Visual Studio gyp ERR! find VS including the "Desktop development with C++" workload. gyp ERR! find VS For more information consult the documentation at: gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows gyp ERR! find VS ************************************************************** gyp ERR! find VS gyp ERR! configure error gyp ERR! stack Error: Could not find any Visual Studio installation to use gyp ERR! stack at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16 gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16 gyp ERR! stack at ChildProcess.exithandler (child_process.js:310:5) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at maybeClose (internal/child_process.js:1026:16) gyp ERR! System Windows_NT 10.0.10586 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe""C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js""rebuild" gyp ERR! cwd C:\node_modules\@serialport\bindings gyp ERR! node -v v13.12.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm WARN enoent ENOENT: no such file or directory, open 'C:\package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @serialport/bindings@8.0.7install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @serialport/bindings@8.0.7 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Laptop\AppData\Roaming\npm-cache\_logs\2020-04-07T08_36_06_197Z-debug.log C:\>``` Me aparece este error y no se que hacer
busque y en sketch puedes descargar la libreria que necesites
¿Como se realiza el numero 4? Lo que he hecho es instalarlo a mano, aunque la consola, no me sirve
Nota del 2022:
Al intentar programar con Johnny Five pueden tener 3 posibles errores, incluso luego de haber flasheado la placa con firmataStandar en el IDE de Arduino. Los posibles errores son:
Estas soluciones que les diré son para WINDOWS 10, en Linux no tuve problemas pero si ustedes los tienen entonces el proceso supongo que debe ser similar.
Antes de decirle las soluciones que me funcionaron debo aclararles que necesitarán tener instalado lo siguiente:
-Python 2.7
-Visual Studio 2015C++ (esto lo leí de una publicación hecha en Platzi)
-NVM 1.1.9 Windows (fue la que me funcionó)
-Placa electrónica (en mi caso fue Arduino UNO) flasheada con StandardFirmata
Aquí les dejo las soluciones que me funcionaron:
a) no te permite instalar johnny five: Para solucionar esto debes usar otra versión de Nodejs. Esto sucede (según entiendo) porque Johnny Five solo es compatible con algunas versiones de Nodejs. La versión con la que me funcionó fue la “13.12.0” (en un video parece que a otra persona le funcionó con la “5.5.0”). Deben instalar y usar NVM (Node Version Manager) para tener varias versiones de Nodejs y poder cambiarse entre una y otra de forma fácil. Esto es importante porque según leí este tipo de problemas se pueden presentar con otros framework.
b)te dice que falta “serialport”: este problema lo podremos solucionar con tan solo indicar el puerto donde está la placa. Una manera para saber el puerto es tan solo ir al IDE de Arduino e ir a la siguiente ruta: “Herramientas -> Puerto”
El codigo debería quedar de la siguiente manera (en mi caso es):
myBoard = new Board({port: “COM3”});
Nota: “COM3” en Windows esos puertos generalmente vienen acompañados por el “COM”, ya el numero podría variar. En Linux no usan “COM”, es otra cosa, la cual pueden ver en el IDE de Arduino.
c)te dice que falta “firmata”: puedes intentar instalar firmata con “npm install firmata” y se arreglaría, PERO en mi caso NO funcionó en la versión 16.13.0 de Nodejs, me tocó instalar la versión 13.12.0 de Nodejs con NVM y luego si instalar firmata con “npm install firmata”.
En la terminal al tener instalado:
“Antes de decirle las soluciones que me funcionaron debo aclararles que necesitarán tener instalado lo siguiente:
-Python 2.7
-Visual Studio 2015C++ (esto lo leí de una publicación hecha en Platzi)
-NVM 1.1.9 Windows (fue la que me funcionó)
-Placa electrónica (en mi caso fue Arduino UNO) flasheada con StandardFirmata”
Al completar los pasos los dos primeros y estar en terminal para administrar NVM
1- Comprobar version con comando: node -v
Resultado:
“C:\Users\TuPc\Documents\Platzi\Arduino\arduinode> node -v
v17.4.0”
2- Seguidamente usar: npm -v
Resultado:
“C:\Users\TuPc\Documents\Platzi\Arduino\arduinode> npm -v
8.4.1”
3- Escribir: nvm help
desplegara la version y los comandos.
4- Usar nvm ls
Para listar todas la versiones que tenemos instaladas vamos introducir
5- Ejecutar nvm install 13.12.0 (versión que me funciono)
6- nvm use 13.12.0
si proveé error: "exit status 5: Acceso denegado.
exit status 1: No se puede crear un archivo que ya existe."
continuar con paso 7
7- npm install firmata.
8- Subir firmata en el arduino, verificar el circuito y código para evitar frustración y aumentar la ansiedad.
9- correr: node led.js
levantarte de la silla y darte cuenta que resolviste un problema de versiones en librerias y tools como real gansta programmer. Continuar con las clases.
Felicidades
me sigue dando el mismo problema.
Error: Cannot find module 'firmata' Require stack: - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\accelerometer.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\johnny-five.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Board.connect (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:107:16) at new Board (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:289:24) at Object.<anonymous> (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js:2:16) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\board.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\accelerometer.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\johnny-five.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\leds.js' ] } C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode>node leds.js node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'firmata' Require stack: - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\accelerometer.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\johnny-five.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Board.connect (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:107:16) at new Board (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:289:24) at Object.<anonymous> (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js:2:16) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\board.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\accelerometer.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\johnny-five.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\leds.js' ] } C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode>node led.js node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\led.js' ←[90m at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)←[39m ←[90m at Function.Module._load (node:internal/modules/cjs/loader:778:27)←[39m ←[90m at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)←[39m ←[90m at node:internal/main/run_main_module:17:47←[39m { code: ←[32m'MODULE_NOT_FOUND'←[39m, requireStack: [] } C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode>node leds.js node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'firmata' Require stack: - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\accelerometer.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\johnny-five.js - C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Board.connect (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:107:16) at new Board (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\node_modules\johnny-five\lib\board.js:289:24) at Object.<anonymous> (C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode\leds.js:2:16) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\board.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\accelerometer.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\node_modules\\johnny-five\\lib\\johnny-five.js', 'C:\\Users\\Usuário\\Downloads\\Progbasica\\ardui\\arduinode\\leds.js' ] } C:\Users\Usuário\Downloads\Progbasica\ardui\arduinode>```
A mi me dice es que necesito el firmata, entonces:
Error cannot find module “firmata”
no se que hacer, y al intentar instalar firmata me arroja lista de errores, aun siguiendo todos los pasos indicados anteriormente.
estoy en ubuntu.
Conseguiste solucionar el problema? ya a mi me está dando el mismo error.
gracias funciono a la perfeccion!
algo actualizado?
gracias funciono perfectp
If you are lover of online games then you are choose the right information online yahtzee are there and this is the best solution’s for those personae craziest fan of the online games.
muchas gracias ya me salió bien
Excelente, muchas gracias por el aporte. Me funciono correctamente.
Excelente aporte, todo operativo!
Solo descargando el packed LTS de Node js te trae ya el path no hay necesidad de hacer tanto procedimiento pero aun asi me sirvio muchisimo. Gracias!!
Quién me puede ayudar con este problema?
estoy estancado.
rubio@Misaels-iMac node_modules % node leds.js internal/modules/cjs/loader.js:983 throw err; ^ Error: Cannot find module 'serialport' Require stack: - /Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/board.js - /Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/accelerometer.js - /Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/johnny-five.js - /Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/leds.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15) at Function.Module._load (internal/modules/cjs/loader.js:862:27) at Module.require (internal/modules/cjs/loader.js:1042:19) at require (internal/modules/cjs/helpers.js:77:18) at Board.detect (/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/board.js:35:20) at new Board (/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/board.js:291:21) at Object.<anonymous> (/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/leds.js:2:13) at Module._compile (internal/modules/cjs/loader.js:1156:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10) at Module.load (internal/modules/cjs/loader.js:1000:32) { code:'MODULE_NOT_FOUND', requireStack: [ '/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/board.js', '/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/accelerometer.js', '/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/johnny-five/lib/johnny-five.js', '/Users/rubio/Dropbox/LineasCodigo/ARDUINO/arduinojs/node_modules/leds.js' ] } rubio@Misaels-iMac node_modules % cd johnny-five rubio@Misaels-iMac johnny-five % cd lib
Error: The module '\?\C:\Users\UsuarioNB\node_modules@serialport\bindings\build\Release\bindings.node’
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 83. Please try re-compiling or re-installing
the module (for instance, using
npm rebuild
ornpm install
).at Object.Module._extensions…node (internal/modules/cjs/loader.js:1226:18)
at Module.load (internal/modules/cjs/loader.js:1040:32)
at Function.Module._load (internal/modules/cjs/loader.js:929:14)
at Module.require (internal/modules/cjs/loader.js:1080:19)
at require (internal/modules/cjs/helpers.js:72:18)
at bindings (C:\Users\UsuarioNB\node_modules\bindings\bindings.js:112:48)
at Object.<anonymous> (C:\Users\UsuarioNB\node_modules@serialport\bindings\lib\win32.js:1:36)
at Module._compile (internal/modules/cjs/loader.js:1176:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1196:10)
at Module.load (internal/modules/cjs/loader.js:1040:32)
HELP!!
Si os sale un error que contiene
gyp ERR! find VS You need to install the latest versionof Visual Studio gyp ERR! find VS including the"Desktop development with C++" workload. gyp ERR! find VS For more information consult the documentation at: gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
Tenéis que installar las Visual C++ Build Environment desde Visual Studio Build Tools .
Para más información https://github.com/nodejs/node-gyp#on-windows