weinzmi / daumUSB2BLE

Bridge from USB RS232 converter to Bluetooth low energy for old Daum 8008 TRS Trainers to enable Zwift and other apps control the bike in ERG / SIM mode
MIT License
8 stars 5 forks source link

Raspberry installation don’t work #1

Open choucous opened 4 years ago

choucous commented 4 years ago

Hi everybody, I’m trying to install the daumUSB2BLE on a Raspberry zero w and a 3B with Stretch distribution. I used different Node.js version (from 8.x, 10.x , and above). Unfortunatly I have many errors about Dependecies, specialy with serial and usb node package. Is there somebody able to help me and confirm that’s possible to install the DaumUSB2BLE on a Raspberry Pi. In advance thank you.

choucous commented 4 years ago

Hi weinzmi, First thank you for your work about the possibility to connect the daum 8008 trs on a Raspberry.

Let's explain my installation directly from a Stretch img flashing for Raspberry Pi 3 B : Reinstall the same Node version 8.11.1 $sudo apt remove nodered –y $sudo apt remove node nodejs nodejs-legacy –y $sudo apt remove npm –y $sudo apt remove --purge node

$wget https://nodejs.org/dist/ v8.11.1/node-v8.11.1-linux-armv7l.tar.xz $sudo tar -C /usr/local --strip-components 1 -xJf node-v8.11.1-linux-armv7l.tar.xz $export PATH=$PATH:/usr/local/bin/node $export PATH=$PATH:/usr/local/bin/npm

$node –v 8.11.1 $npm –v 5.6.0

Copy your project from Git $git clone https://github.com/weinzmi/daumUSB2BLE.git

Modify your package.json like your version "bleno": "0.5.0", "config-yml": "0.10.3", "ejs": "2.6.1", "express": "4.16.4", "nodemon": "1.14.3", "q": "1.5.1", "serialport": "7.1.5", "socket.io": "2.2.0"

In daumUSB2BLE directory $npm install

Results npm WARN deprecated fsevents@1.2.9: One of your dependencies needs to upgrade to fsevents v2: 1) Proper nodejs v10+ support 2) No more fetching binaries from AWS, smaller package size

@serialport/bindings@2.0.8 install /home/pi/daumUSB2BLE/node_modules/@serialport/bindings prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=8.11.1 runtime=node arch=arm libc= platform=linux) make : on entre dans le répertoire « /home/pi/daumUSB2BLE/node_modules/@serialport/bindings/build » CXX(target) Release/obj.target/bindings/src/serialport.o CXX(target) Release/obj.target/bindings/src/serialport_unix.o CXX(target) Release/obj.target/bindings/src/poller.o CXX(target) Release/obj.target/bindings/src/serialport_linux.o SOLINK_MODULE(target) Release/obj.target/bindings.node COPY Release/bindings.node make : on quitte le répertoire « /home/pi/daumUSB2BLE/node_modules/@serialport/bindings/build »

usb@1.6.1 install /home/pi/daumUSB2BLE/node_modules/usb prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 5.3.3 prebuild-install info looking for cached prebuild @ /home/pi/.npm/_prebuilds/c04abf-usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install http request GET https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install WARN install No prebuilt binaries found (target=8.11.1 runtime=node arch=arm libc= platform=linux) make : on entre dans le répertoire « /home/pi/daumUSB2BLE/node_modules/usb/build » CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o ../libusb/libusb/os/linux_udev.c:40:21: fatal error: libudev.h: Aucun fichier ou dossier de ce type

include

                 ^

compilation terminated. libusb.target.mk:132 : la recette pour la cible « Release/obj.target/libusb/libusb/libusb/os/linux_udev.o » a échouée make: *** [Release/obj.target/libusb/libusb/libusb/os/linux_udev.o] Erreur 1 make : on quitte le répertoire « /home/pi/daumUSB2BLE/node_modules/usb/build » gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.19.66-v7+ gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/pi/daumUSB2BLE/node_modules/usb gyp ERR! node -v v8.11.1 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok

npm list npm list /home/pi └── (empty)

npm list ergoFACE_BLE@0.6.4-BETA /home/pi/daumUSB2BLE ├─┬ bleno@0.5.0 │ ├─┬ bluetooth-hci-socket@0.5.1 │ │ ├── debug@2.6.9 deduped │ │ ├── nan@2.14.0 │ │ └─┬ UNMET OPTIONAL DEPENDENCY usb@1.6.1 │ │ ├── bindings@1.5.0 deduped │ │ ├── UNMET OPTIONAL DEPENDENCY nan@2.13.2 │ │ └── prebuild-install@5.3.3 deduped │ ├── bplist-parser@0.0.6 │ ├─┬ debug@2.6.9 │ │ └── ms@2.0.0 │ └─┬ UNMET OPTIONAL DEPENDENCY xpc-connection@0.1.4 │ └── nan@2.14.0 deduped ├─┬ config-yml@0.10.3 │ ├─┬ js-yaml@3.13.1 │ │ ├─┬ argparse@1.0.10 │ │ │ └── sprintf-js@1.0.3 │ │ └── esprima@4.0.1 │ ├── lodash@4.17.15 │ ├── moment@2.24.0 │ ├─┬ shelljs@0.7.8 │ │ ├─┬ glob@7.1.6 │ │ │ ├── fs.realpath@1.0.0 │ │ │ ├─┬ inflight@1.0.6 │ │ │ │ ├── once@1.4.0 deduped │ │ │ │ └── wrappy@1.0.2 │ │ │ ├── inherits@2.0.4 deduped │ │ │ ├── minimatch@3.0.4 deduped │ │ │ ├─┬ once@1.4.0 │ │ │ │ └── wrappy@1.0.2 deduped │ │ │ └── path-is-absolute@1.0.1 deduped │ │ ├── interpret@1.2.0 │ │ └─┬ rechoir@0.6.2 │ │ └─┬ resolve@1.12.2 │ │ └── path-parse@1.0.6 │ └─┬ yargs@4.8.1 │ ├─┬ cliui@3.2.0 │ │ ├── string-width@1.0.2 deduped │ │ ├─┬ strip-ansi@3.0.1 │ │ │ └── ansi-regex@2.1.1 │ │ └─┬ wrap-ansi@2.1.0 │ │ ├── string-width@1.0.2 deduped │ │ └── strip-ansi@3.0.1 deduped │ ├── decamelize@1.2.0 │ ├── get-caller-file@1.0.3 │ ├── lodash.assign@4.2.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├─┬ path-exists@2.1.0 │ │ │ │ └── pinkie-promise@2.0.1 deduped │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├── graceful-fs@4.2.3 deduped │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.2 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ ├── pinkie-promise@2.0.1 deduped │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.5.0 │ │ │ ├── hosted-git-info@2.8.5 │ │ │ ├── resolve@1.12.2 deduped │ │ │ ├── semver@5.7.1 deduped │ │ │ └─┬ validate-npm-package-license@3.0.4 │ │ │ ├─┬ spdx-correct@3.1.0 │ │ │ │ ├── spdx-expression-parse@3.0.0 deduped │ │ │ │ └── spdx-license-ids@3.0.5 │ │ │ └─┬ spdx-expression-parse@3.0.0 │ │ │ ├── spdx-exceptions@2.2.0 │ │ │ └── spdx-license-ids@3.0.5 deduped │ │ └─┬ path-type@1.1.0 │ │ ├── graceful-fs@4.2.3 deduped │ │ ├── pify@2.3.0 deduped │ │ └── pinkie-promise@2.0.1 deduped │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ ├─┬ is-fullwidth-code-point@1.0.0 │ │ │ └── number-is-nan@1.0.1 │ │ └── strip-ansi@3.0.1 deduped │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ ├── y18n@3.2.1 │ └─┬ yargs-parser@2.4.1 │ ├── camelcase@3.0.0 │ └── lodash.assign@4.2.0 deduped ├── ejs@2.6.1 ├─┬ express@4.16.4 │ ├─┬ accepts@1.3.7 │ │ ├─┬ mime-types@2.1.25 │ │ │ └── mime-db@1.42.0 │ │ └── negotiator@0.6.2 │ ├── array-flatten@1.1.1 │ ├─┬ body-parser@1.18.3 │ │ ├── bytes@3.0.0 │ │ ├── content-type@1.0.4 deduped │ │ ├── debug@2.6.9 deduped │ │ ├── depd@1.1.2 deduped │ │ ├─┬ http-errors@1.6.3 │ │ │ ├── depd@1.1.2 deduped │ │ │ ├── inherits@2.0.3 │ │ │ ├── setprototypeof@1.1.0 deduped │ │ │ └── statuses@1.4.0 deduped │ │ ├─┬ iconv-lite@0.4.23 │ │ │ └── safer-buffer@2.1.2 │ │ ├── on-finished@2.3.0 deduped │ │ ├── qs@6.5.2 deduped │ │ ├─┬ raw-body@2.3.3 │ │ │ ├── bytes@3.0.0 deduped │ │ │ ├── http-errors@1.6.3 deduped │ │ │ ├── iconv-lite@0.4.23 deduped │ │ │ └── unpipe@1.0.0 deduped │ │ └── type-is@1.6.18 deduped │ ├── content-disposition@0.5.2 │ ├── content-type@1.0.4 │ ├── cookie@0.3.1 │ ├── cookie-signature@1.0.6 │ ├── debug@2.6.9 deduped │ ├── depd@1.1.2 │ ├── encodeurl@1.0.2 │ ├── escape-html@1.0.3 │ ├── etag@1.8.1 │ ├─┬ finalhandler@1.1.1 │ │ ├── debug@2.6.9 deduped │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── on-finished@2.3.0 deduped │ │ ├── parseurl@1.3.3 deduped │ │ ├── statuses@1.4.0 deduped │ │ └── unpipe@1.0.0 │ ├── fresh@0.5.2 │ ├── merge-descriptors@1.0.1 │ ├── methods@1.1.2 │ ├─┬ on-finished@2.3.0 │ │ └── ee-first@1.1.1 │ ├── parseurl@1.3.3 │ ├── path-to-regexp@0.1.7 │ ├─┬ proxy-addr@2.0.5 │ │ ├── forwarded@0.1.2 │ │ └── ipaddr.js@1.9.0 │ ├── qs@6.5.2 │ ├── range-parser@1.2.1 │ ├── safe-buffer@5.1.2 │ ├─┬ send@0.16.2 │ │ ├── debug@2.6.9 deduped │ │ ├── depd@1.1.2 deduped │ │ ├── destroy@1.0.4 │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── etag@1.8.1 deduped │ │ ├── fresh@0.5.2 deduped │ │ ├── http-errors@1.6.3 deduped │ │ ├── mime@1.4.1 │ │ ├── ms@2.0.0 deduped │ │ ├── on-finished@2.3.0 deduped │ │ ├── range-parser@1.2.1 deduped │ │ └── statuses@1.4.0 deduped │ ├─┬ serve-static@1.13.2 │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── parseurl@1.3.3 deduped │ │ └── send@0.16.2 deduped │ ├── setprototypeof@1.1.0 │ ├── statuses@1.4.0 │ ├─┬ type-is@1.6.18 │ │ ├── media-typer@0.3.0 │ │ └── mime-types@2.1.25 deduped │ ├── utils-merge@1.0.1 │ └── vary@1.1.2 ├─┬ nodemon@1.14.3 │ ├─┬ chokidar@1.7.0 │ │ ├─┬ anymatch@1.3.2 │ │ │ ├─┬ micromatch@2.3.11 │ │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ │ └── arr-flatten@1.1.0 │ │ │ │ ├── array-unique@0.2.1 │ │ │ │ ├─┬ braces@1.8.5 │ │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ │ └─┬ fill-range@2.2.4 │ │ │ │ │ │ ├─┬ is-number@2.1.0 │ │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ │ ├─┬ isobject@2.1.0 │ │ │ │ │ │ │ └── isarray@1.0.0 deduped │ │ │ │ │ │ ├─┬ randomatic@3.1.1 │ │ │ │ │ │ │ ├── is-number@4.0.0 │ │ │ │ │ │ │ ├── kind-of@6.0.2 │ │ │ │ │ │ │ └── math-random@1.0.4 │ │ │ │ │ │ ├── repeat-element@1.1.3 deduped │ │ │ │ │ │ └── repeat-string@1.6.1 deduped │ │ │ │ │ ├── preserve@0.2.0 │ │ │ │ │ └── repeat-element@1.1.3 │ │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ │ ├─┬ extglob@0.3.2 │ │ │ │ │ └── is-extglob@1.0.0 deduped │ │ │ │ ├── filename-regex@2.0.1 │ │ │ │ ├── is-extglob@1.0.0 deduped │ │ │ │ ├── is-glob@2.0.1 deduped │ │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ │ └── is-buffer@1.1.6 │ │ │ │ ├── normalize-path@2.1.1 deduped │ │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ │ └── is-extendable@0.1.1 │ │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ │ ├─┬ glob-base@0.3.0 │ │ │ │ │ │ ├── glob-parent@2.0.0 deduped │ │ │ │ │ │ └── is-glob@2.0.1 deduped │ │ │ │ │ ├── is-dotfile@1.0.3 │ │ │ │ │ ├── is-extglob@1.0.0 deduped │ │ │ │ │ └── is-glob@2.0.1 deduped │ │ │ │ └─┬ regex-cache@0.4.4 │ │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ │ └── is-primitive@2.0.0 │ │ │ └─┬ normalize-path@2.1.1 │ │ │ └── remove-trailing-separator@1.1.0 │ │ ├── async-each@1.0.3 │ │ ├─┬ UNMET OPTIONAL DEPENDENCY fsevents@1.2.9 │ │ │ ├── nan@2.14.0 deduped │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY node-pre-gyp@0.12.0 │ │ │ ├── UNMET OPTIONAL DEPENDENCY detect-libc@1.0.3 │ │ │ ├─┬ UNMET DEPENDENCY mkdirp@0.5.1 │ │ │ │ └── UNMET DEPENDENCY minimist@0.0.8 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY needle@2.3.0 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY debug@4.1.1 │ │ │ │ │ └── UNMET OPTIONAL DEPENDENCY ms@2.1.1 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY iconv-lite@0.4.24 │ │ │ │ │ └── UNMET OPTIONAL DEPENDENCY safer-buffer@2.1.2 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY sax@1.2.4 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY nopt@4.0.1 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY abbrev@1.1.1 │ │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY osenv@0.1.5 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY os-homedir@1.0.2 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY os-tmpdir@1.0.2 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY npm-packlist@1.4.1 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY ignore-walk@3.0.1 │ │ │ │ │ └─┬ UNMET DEPENDENCY minimatch@3.0.4 │ │ │ │ │ └─┬ UNMET DEPENDENCY brace-expansion@1.1.11 │ │ │ │ │ ├── UNMET DEPENDENCY balanced-match@1.0.0 │ │ │ │ │ └── UNMET DEPENDENCY concat-map@0.0.1 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY npm-bundled@1.0.6 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY npmlog@4.1.2 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY are-we-there-yet@1.1.5 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY delegates@1.0.0 │ │ │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY readable-stream@2.3.6 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY core-util-is@1.0.2 │ │ │ │ │ ├── UNMET DEPENDENCY inherits@2.0.3 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY isarray@1.0.0 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY process-nextick-args@2.0.0 │ │ │ │ │ ├── UNMET DEPENDENCY safe-buffer@5.1.2 │ │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY string_decoder@1.1.1 │ │ │ │ │ │ └── UNMET DEPENDENCY safe-buffer@5.1.2 │ │ │ │ │ └── UNMET OPTIONAL DEPENDENCY util-deprecate@1.0.2 │ │ │ │ ├── UNMET DEPENDENCY console-control-strings@1.1.0 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY gauge@2.7.4 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY aproba@1.2.0 │ │ │ │ │ ├── UNMET DEPENDENCY console-control-strings@1.1.0 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY has-unicode@2.0.1 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY object-assign@4.1.1 │ │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY signal-exit@3.0.2 │ │ │ │ │ ├─┬ UNMET DEPENDENCY string-width@1.0.2 │ │ │ │ │ │ ├── UNMET DEPENDENCY code-point-at@1.1.0 │ │ │ │ │ │ ├─┬ UNMET DEPENDENCY is-fullwidth-code-point@1.0.0 │ │ │ │ │ │ │ └── UNMET DEPENDENCY number-is-nan@1.0.1 │ │ │ │ │ │ └── UNMET DEPENDENCY strip-ansi@3.0.1 │ │ │ │ │ ├─┬ UNMET DEPENDENCY strip-ansi@3.0.1 │ │ │ │ │ │ └── UNMET DEPENDENCY ansi-regex@2.1.1 │ │ │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY wide-align@1.1.3 │ │ │ │ │ └── UNMET DEPENDENCY string-width@1.0.2 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY set-blocking@2.0.0 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY rc@1.2.8 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY deep-extend@0.6.0 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY ini@1.3.5 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY minimist@1.2.0 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY strip-json-comments@2.0.1 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY rimraf@2.6.3 │ │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY glob@7.1.3 │ │ │ │ ├── UNMET OPTIONAL DEPENDENCY fs.realpath@1.0.0 │ │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY inflight@1.0.6 │ │ │ │ │ ├── UNMET DEPENDENCY once@1.4.0 │ │ │ │ │ └── UNMET DEPENDENCY wrappy@1.0.2 │ │ │ │ ├── UNMET DEPENDENCY inherits@2.0.3 │ │ │ │ ├── UNMET DEPENDENCY minimatch@3.0.4 │ │ │ │ ├─┬ UNMET DEPENDENCY once@1.4.0 │ │ │ │ │ └── UNMET DEPENDENCY wrappy@1.0.2 │ │ │ │ └── UNMET OPTIONAL DEPENDENCY path-is-absolute@1.0.1 │ │ │ ├── UNMET OPTIONAL DEPENDENCY semver@5.7.0 │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY tar@4.4.8 │ │ │ ├── UNMET OPTIONAL DEPENDENCY chownr@1.1.1 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY fs-minipass@1.2.5 │ │ │ │ └── UNMET DEPENDENCY minipass@2.3.5 │ │ │ ├─┬ UNMET DEPENDENCY minipass@2.3.5 │ │ │ │ ├── UNMET DEPENDENCY safe-buffer@5.1.2 │ │ │ │ └── UNMET DEPENDENCY yallist@3.0.3 │ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY minizlib@1.2.1 │ │ │ │ └── UNMET DEPENDENCY minipass@2.3.5 │ │ │ ├── UNMET DEPENDENCY mkdirp@0.5.1 │ │ │ ├── UNMET DEPENDENCY safe-buffer@5.1.2 │ │ │ └── UNMET DEPENDENCY yallist@3.0.3 │ │ ├─┬ glob-parent@2.0.0 │ │ │ └── is-glob@2.0.1 deduped │ │ ├── inherits@2.0.4 │ │ ├─┬ is-binary-path@1.0.1 │ │ │ └── binary-extensions@1.13.1 │ │ ├─┬ is-glob@2.0.1 │ │ │ └── is-extglob@1.0.0 │ │ ├── path-is-absolute@1.0.1 │ │ └─┬ readdirp@2.2.1 │ │ ├── graceful-fs@4.2.3 │ │ ├─┬ micromatch@3.1.10 │ │ │ ├── arr-diff@4.0.0 │ │ │ ├── array-unique@0.3.2 │ │ │ ├─┬ braces@2.3.2 │ │ │ │ ├── arr-flatten@1.1.0 deduped │ │ │ │ ├── array-unique@0.3.2 deduped │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ ├─┬ fill-range@4.0.0 │ │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └─┬ kind-of@3.2.2 │ │ │ │ │ │ └── is-buffer@1.1.6 deduped │ │ │ │ │ ├── repeat-string@1.6.1 │ │ │ │ │ └─┬ to-regex-range@2.1.1 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ └── repeat-string@1.6.1 deduped │ │ │ │ ├── isobject@3.0.1 │ │ │ │ ├── repeat-element@1.1.3 deduped │ │ │ │ ├── snapdragon@0.8.2 deduped │ │ │ │ ├─┬ snapdragon-node@2.1.1 │ │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ │ ├─┬ is-accessor-descriptor@1.0.0 │ │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ │ ├─┬ is-data-descriptor@1.0.0 │ │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ └─┬ snapdragon-util@3.0.1 │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ ├─┬ split-string@3.1.0 │ │ │ │ │ └── extend-shallow@3.0.2 deduped │ │ │ │ └── to-regex@3.0.2 deduped │ │ │ ├─┬ define-property@2.0.2 │ │ │ │ ├─┬ is-descriptor@1.0.2 │ │ │ │ │ ├─┬ is-accessor-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ ├─┬ is-data-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ extend-shallow@3.0.2 │ │ │ │ ├── assign-symbols@1.0.0 │ │ │ │ └─┬ is-extendable@1.0.1 │ │ │ │ └─┬ is-plain-object@2.0.4 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ extglob@2.0.4 │ │ │ │ ├── array-unique@0.3.2 deduped │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ ├─┬ is-accessor-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ ├─┬ is-data-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ ├─┬ expand-brackets@2.1.4 │ │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ │ └─┬ is-descriptor@0.1.6 │ │ │ │ │ │ ├─┬ is-accessor-descriptor@0.1.6 │ │ │ │ │ │ │ └─┬ kind-of@3.2.2 │ │ │ │ │ │ │ └── is-buffer@1.1.6 deduped │ │ │ │ │ │ ├─┬ is-data-descriptor@0.1.4 │ │ │ │ │ │ │ └─┬ kind-of@3.2.2 │ │ │ │ │ │ │ └── is-buffer@1.1.6 deduped │ │ │ │ │ │ └── kind-of@5.1.0 │ │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ │ ├── posix-character-classes@0.1.1 │ │ │ │ │ ├── regex-not@1.0.2 deduped │ │ │ │ │ ├── snapdragon@0.8.2 deduped │ │ │ │ │ └── to-regex@3.0.2 deduped │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ ├── fragment-cache@0.2.1 deduped │ │ │ │ ├── regex-not@1.0.2 deduped │ │ │ │ ├── snapdragon@0.8.2 deduped │ │ │ │ └── to-regex@3.0.2 deduped │ │ │ ├─┬ fragment-cache@0.2.1 │ │ │ │ └── map-cache@0.2.2 │ │ │ ├── kind-of@6.0.2 │ │ │ ├─┬ nanomatch@1.2.13 │ │ │ │ ├── arr-diff@4.0.0 │ │ │ │ ├── array-unique@0.3.2 │ │ │ │ ├── define-property@2.0.2 deduped │ │ │ │ ├── extend-shallow@3.0.2 deduped │ │ │ │ ├── fragment-cache@0.2.1 deduped │ │ │ │ ├── is-windows@1.0.2 │ │ │ │ ├── kind-of@6.0.2 │ │ │ │ ├── object.pick@1.3.0 deduped │ │ │ │ ├── regex-not@1.0.2 deduped │ │ │ │ ├── snapdragon@0.8.2 deduped │ │ │ │ └── to-regex@3.0.2 deduped │ │ │ ├─┬ object.pick@1.3.0 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ regex-not@1.0.2 │ │ │ │ ├── extend-shallow@3.0.2 deduped │ │ │ │ └─┬ safe-regex@1.1.0 │ │ │ │ └── ret@0.1.15 │ │ │ ├─┬ snapdragon@0.8.2 │ │ │ │ ├─┬ base@0.11.2 │ │ │ │ │ ├─┬ cache-base@1.0.1 │ │ │ │ │ │ ├─┬ collection-visit@1.0.0 │ │ │ │ │ │ │ ├─┬ map-visit@1.0.0 │ │ │ │ │ │ │ │ └── object-visit@1.0.1 deduped │ │ │ │ │ │ │ └─┬ object-visit@1.0.1 │ │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ │ ├── component-emitter@1.3.0 deduped │ │ │ │ │ │ ├── get-value@2.0.6 │ │ │ │ │ │ ├─┬ has-value@1.0.0 │ │ │ │ │ │ │ ├── get-value@2.0.6 deduped │ │ │ │ │ │ │ ├─┬ has-values@1.0.0 │ │ │ │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ │ │ │ └─┬ kind-of@3.2.2 │ │ │ │ │ │ │ │ │ └── is-buffer@1.1.6 deduped │ │ │ │ │ │ │ │ └─┬ kind-of@4.0.0 │ │ │ │ │ │ │ │ └── is-buffer@1.1.6 deduped │ │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ │ ├─┬ set-value@2.0.1 │ │ │ │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ │ │ │ ├── is-extendable@0.1.1 deduped │ │ │ │ │ │ │ ├── is-plain-object@2.0.4 deduped │ │ │ │ │ │ │ └── split-string@3.1.0 deduped │ │ │ │ │ │ ├─┬ to-object-path@0.3.0 │ │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ │ ├─┬ union-value@1.0.1 │ │ │ │ │ │ │ ├── arr-union@3.1.0 deduped │ │ │ │ │ │ │ ├── get-value@2.0.6 deduped │ │ │ │ │ │ │ ├── is-extendable@0.1.1 deduped │ │ │ │ │ │ │ └── set-value@2.0.1 deduped │ │ │ │ │ │ └─┬ unset-value@1.0.0 │ │ │ │ │ │ ├─┬ has-value@0.3.1 │ │ │ │ │ │ │ ├── get-value@2.0.6 deduped │ │ │ │ │ │ │ ├── has-values@0.1.4 │ │ │ │ │ │ │ └─┬ isobject@2.1.0 │ │ │ │ │ │ │ └── isarray@1.0.0 deduped │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ ├─┬ class-utils@0.3.6 │ │ │ │ │ │ ├── arr-union@3.1.0 │ │ │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ │ │ └── is-descriptor@0.1.6 deduped │ │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ │ └─┬ static-extend@0.1.2 │ │ │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ │ │ └── is-descriptor@0.1.6 deduped │ │ │ │ │ │ └─┬ object-copy@0.1.0 │ │ │ │ │ │ ├── copy-descriptor@0.1.1 │ │ │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ │ │ └── is-descriptor@0.1.6 deduped │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ ├── component-emitter@1.3.0 │ │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ │ ├─┬ is-accessor-descriptor@1.0.0 │ │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ │ ├─┬ is-data-descriptor@1.0.0 │ │ │ │ │ │ │ └── kind-of@6.0.2 deduped │ │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ ├─┬ mixin-deep@1.3.2 │ │ │ │ │ │ ├── for-in@1.0.2 deduped │ │ │ │ │ │ └─┬ is-extendable@1.0.1 │ │ │ │ │ │ └── is-plain-object@2.0.4 deduped │ │ │ │ │ └── pascalcase@0.1.1 │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ └─┬ is-descriptor@0.1.6 │ │ │ │ │ ├─┬ is-accessor-descriptor@0.1.6 │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ ├─┬ is-data-descriptor@0.1.4 │ │ │ │ │ │ └── kind-of@3.2.2 deduped │ │ │ │ │ └── kind-of@5.1.0 │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ └── is-extendable@0.1.1 deduped │ │ │ │ ├── map-cache@0.2.2 deduped │ │ │ │ ├── source-map@0.5.7 │ │ │ │ ├─┬ source-map-resolve@0.5.2 │ │ │ │ │ ├── atob@2.1.2 │ │ │ │ │ ├── decode-uri-component@0.2.0 │ │ │ │ │ ├── resolve-url@0.2.1 │ │ │ │ │ ├── source-map-url@0.4.0 │ │ │ │ │ └── urix@0.1.0 │ │ │ │ └── use@3.1.1 │ │ │ └─┬ to-regex@3.0.2 │ │ │ ├── define-property@2.0.2 deduped │ │ │ ├── extend-shallow@3.0.2 deduped │ │ │ ├── regex-not@1.0.2 deduped │ │ │ └── safe-regex@1.1.0 deduped │ │ └─┬ readable-stream@2.3.6 │ │ ├── core-util-is@1.0.2 │ │ ├── inherits@2.0.4 deduped │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@2.0.1 │ │ ├── safe-buffer@5.1.2 deduped │ │ ├─┬ string_decoder@1.1.1 │ │ │ └── safe-buffer@5.1.2 deduped │ │ └── util-deprecate@1.0.2 │ ├── debug@2.6.9 deduped │ ├── ignore-by-default@1.0.1 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.11 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── pstree.remy@1.1.7 │ ├─┬ touch@3.1.0 │ │ └─┬ nopt@1.0.10 │ │ └── abbrev@1.1.1 │ ├── undefsafe@0.0.3 │ └─┬ update-notifier@2.5.0 │ ├─┬ boxen@1.3.0 │ │ ├─┬ ansi-align@2.0.0 │ │ │ └─┬ string-width@2.1.1 │ │ │ ├── is-fullwidth-code-point@2.0.0 │ │ │ └─┬ strip-ansi@4.0.0 │ │ │ └── ansi-regex@3.0.0 │ │ ├── camelcase@4.1.0 │ │ ├── chalk@2.4.2 deduped │ │ ├── cli-boxes@1.0.0 │ │ ├─┬ string-width@2.1.1 │ │ │ ├── is-fullwidth-code-point@2.0.0 │ │ │ └─┬ strip-ansi@4.0.0 │ │ │ └── ansi-regex@3.0.0 │ │ ├─┬ term-size@1.2.0 │ │ │ └─┬ execa@0.7.0 │ │ │ ├─┬ cross-spawn@5.1.0 │ │ │ │ ├─┬ lru-cache@4.1.5 │ │ │ │ │ ├── pseudomap@1.0.2 │ │ │ │ │ └── yallist@2.1.2 │ │ │ │ ├─┬ shebang-command@1.2.0 │ │ │ │ │ └── shebang-regex@1.0.0 │ │ │ │ └─┬ which@1.3.1 │ │ │ │ └── isexe@2.0.0 │ │ │ ├── get-stream@3.0.0 │ │ │ ├── is-stream@1.1.0 │ │ │ ├─┬ npm-run-path@2.0.2 │ │ │ │ └── path-key@2.0.1 │ │ │ ├── p-finally@1.0.0 │ │ │ ├── signal-exit@3.0.2 deduped │ │ │ └── strip-eof@1.0.0 │ │ └─┬ widest-line@2.0.1 │ │ └─┬ string-width@2.1.1 │ │ ├── is-fullwidth-code-point@2.0.0 │ │ └─┬ strip-ansi@4.0.0 │ │ └── ansi-regex@3.0.0 │ ├─┬ chalk@2.4.2 │ │ ├─┬ ansi-styles@3.2.1 │ │ │ └─┬ color-convert@1.9.3 │ │ │ └── color-name@1.1.3 │ │ ├── escape-string-regexp@1.0.5 │ │ └─┬ supports-color@5.5.0 │ │ └── has-flag@3.0.0 │ ├─┬ configstore@3.1.2 │ │ ├─┬ dot-prop@4.2.0 │ │ │ └── is-obj@1.0.1 │ │ ├── graceful-fs@4.2.3 deduped │ │ ├─┬ make-dir@1.3.0 │ │ │ └── pify@3.0.0 │ │ ├─┬ unique-string@1.0.0 │ │ │ └── crypto-random-string@1.0.0 │ │ ├─┬ write-file-atomic@2.4.3 │ │ │ ├── graceful-fs@4.2.3 deduped │ │ │ ├── imurmurhash@0.1.4 │ │ │ └── signal-exit@3.0.2 │ │ └── xdg-basedir@3.0.0 deduped │ ├── import-lazy@2.1.0 │ ├─┬ is-ci@1.2.1 │ │ └── ci-info@1.6.0 │ ├─┬ is-installed-globally@0.1.0 │ │ ├─┬ global-dirs@0.1.1 │ │ │ └── ini@1.3.5 │ │ └─┬ is-path-inside@1.0.1 │ │ └── path-is-inside@1.0.2 │ ├── is-npm@1.0.0 │ ├─┬ latest-version@3.1.0 │ │ └─┬ package-json@4.0.1 │ │ ├─┬ got@6.7.1 │ │ │ ├─┬ create-error-class@3.0.2 │ │ │ │ └── capture-stack-trace@1.0.1 │ │ │ ├── duplexer3@0.1.4 │ │ │ ├── get-stream@3.0.0 deduped │ │ │ ├── is-redirect@1.0.0 │ │ │ ├── is-retry-allowed@1.2.0 │ │ │ ├── is-stream@1.1.0 deduped │ │ │ ├── lowercase-keys@1.0.1 │ │ │ ├── safe-buffer@5.1.2 deduped │ │ │ ├── timed-out@4.0.1 │ │ │ ├── unzip-response@2.0.1 │ │ │ └─┬ url-parse-lax@1.0.0 │ │ │ └── prepend-http@1.0.4 │ │ ├─┬ registry-auth-token@3.4.0 │ │ │ ├── rc@1.2.8 deduped │ │ │ └── safe-buffer@5.1.2 deduped │ │ ├─┬ registry-url@3.1.0 │ │ │ └── rc@1.2.8 deduped │ │ └── semver@5.7.1 deduped │ ├─┬ semver-diff@2.1.0 │ │ └── semver@5.7.1 │ └── xdg-basedir@3.0.0 ├── q@1.5.1 ├─┬ serialport@7.1.5 │ ├─┬ @serialport/binding-mock@2.0.5 │ │ ├─┬ @serialport/binding-abstract@2.0.5 │ │ │ └─┬ debug@4.1.1 │ │ │ └── ms@2.1.2 │ │ └─┬ debug@4.1.1 │ │ └── ms@2.1.2 │ ├─┬ @serialport/bindings@2.0.8 │ │ ├── @serialport/binding-abstract@2.0.5 deduped │ │ ├── @serialport/parser-readline@2.0.2 deduped │ │ ├─┬ bindings@1.5.0 │ │ │ └── file-uri-to-path@1.0.0 │ │ ├─┬ debug@4.1.1 │ │ │ └── ms@2.1.2 │ │ ├── nan@2.14.0 deduped │ │ └─┬ prebuild-install@5.3.3 │ │ ├── detect-libc@1.0.3 │ │ ├── expand-template@2.0.3 │ │ ├── github-from-package@0.0.0 │ │ ├── minimist@1.2.0 │ │ ├─┬ mkdirp@0.5.1 │ │ │ └── minimist@0.0.8 │ │ ├── napi-build-utils@1.0.1 │ │ ├─┬ node-abi@2.12.0 │ │ │ └── semver@5.7.1 deduped │ │ ├── noop-logger@0.1.1 │ │ ├─┬ npmlog@4.1.2 │ │ │ ├─┬ are-we-there-yet@1.1.5 │ │ │ │ ├── delegates@1.0.0 │ │ │ │ └── readable-stream@2.3.6 deduped │ │ │ ├── console-control-strings@1.1.0 │ │ │ ├─┬ gauge@2.7.4 │ │ │ │ ├── aproba@1.2.0 │ │ │ │ ├── console-control-strings@1.1.0 deduped │ │ │ │ ├── has-unicode@2.0.1 │ │ │ │ ├── object-assign@4.1.1 │ │ │ │ ├── signal-exit@3.0.2 deduped │ │ │ │ ├── string-width@1.0.2 deduped │ │ │ │ ├── strip-ansi@3.0.1 deduped │ │ │ │ └─┬ wide-align@1.1.3 │ │ │ │ └── string-width@1.0.2 deduped │ │ │ └── set-blocking@2.0.0 deduped │ │ ├─┬ pump@3.0.0 │ │ │ ├─┬ end-of-stream@1.4.4 │ │ │ │ └── once@1.4.0 deduped │ │ │ └── once@1.4.0 deduped │ │ ├─┬ rc@1.2.8 │ │ │ ├── deep-extend@0.6.0 │ │ │ ├── ini@1.3.5 deduped │ │ │ ├── minimist@1.2.0 deduped │ │ │ └── strip-json-comments@2.0.1 │ │ ├─┬ simple-get@3.1.0 │ │ │ ├─┬ decompress-response@4.2.1 │ │ │ │ └── mimic-response@2.0.0 │ │ │ ├── once@1.4.0 deduped │ │ │ └── simple-concat@1.0.0 │ │ ├─┬ tar-fs@2.0.0 │ │ │ ├── chownr@1.1.3 │ │ │ ├── mkdirp@0.5.1 deduped │ │ │ ├── pump@3.0.0 deduped │ │ │ └─┬ tar-stream@2.1.0 │ │ │ ├─┬ bl@3.0.0 │ │ │ │ └─┬ readable-stream@3.4.0 │ │ │ │ ├── inherits@2.0.4 deduped │ │ │ │ ├── string_decoder@1.1.1 deduped │ │ │ │ └── util-deprecate@1.0.2 deduped │ │ │ ├── end-of-stream@1.4.4 deduped │ │ │ ├── fs-constants@1.0.0 │ │ │ ├── inherits@2.0.4 deduped │ │ │ └─┬ readable-stream@3.4.0 │ │ │ ├── inherits@2.0.4 deduped │ │ │ ├── string_decoder@1.1.1 deduped │ │ │ └── util-deprecate@1.0.2 deduped │ │ ├─┬ tunnel-agent@0.6.0 │ │ │ └── safe-buffer@5.1.2 deduped │ │ └── which-pm-runs@1.0.0 │ ├── @serialport/parser-byte-length@2.0.2 │ ├── @serialport/parser-cctalk@2.0.2 │ ├── @serialport/parser-delimiter@2.0.2 │ ├─┬ @serialport/parser-readline@2.0.2 │ │ └── @serialport/parser-delimiter@2.0.2 deduped │ ├── @serialport/parser-ready@2.0.2 │ ├── @serialport/parser-regex@2.0.2 │ ├─┬ @serialport/stream@2.0.5 │ │ ├── @serialport/binding-mock@2.0.5 deduped │ │ └─┬ debug@4.1.1 │ │ └── ms@2.1.2 │ └─┬ debug@4.1.1 │ └── ms@2.1.2 └─┬ socket.io@2.2.0 ├─┬ debug@4.1.1 │ └── ms@2.1.2 ├─┬ engine.io@3.3.2 │ ├── accepts@1.3.7 deduped │ ├── base64id@1.0.0 │ ├── cookie@0.3.1 deduped │ ├─┬ debug@3.1.0 │ │ └── ms@2.0.0 deduped │ ├─┬ engine.io-parser@2.1.3 │ │ ├── after@0.8.2 │ │ ├── arraybuffer.slice@0.0.7 │ │ ├── base64-arraybuffer@0.1.5 deduped │ │ ├── blob@0.0.5 │ │ └── has-binary2@1.0.3 deduped │ └─┬ ws@6.1.4 │ └── async-limiter@1.0.1 ├─┬ has-binary2@1.0.3 │ └── isarray@2.0.1 ├── socket.io-adapter@1.1.1 ├─┬ socket.io-client@2.2.0 │ ├── backo2@1.0.2 │ ├── base64-arraybuffer@0.1.5 │ ├── component-bind@1.0.0 │ ├── component-emitter@1.2.1 │ ├─┬ debug@3.1.0 │ │ └── ms@2.0.0 deduped │ ├─┬ engine.io-client@3.3.2 │ │ ├── component-emitter@1.2.1 │ │ ├── component-inherit@0.0.3 │ │ ├─┬ debug@3.1.0 │ │ │ └── ms@2.0.0 deduped │ │ ├── engine.io-parser@2.1.3 deduped │ │ ├── has-cors@1.1.0 deduped │ │ ├── indexof@0.0.1 deduped │ │ ├── parseqs@0.0.5 deduped │ │ ├── parseuri@0.0.5 deduped │ │ ├── ws@6.1.4 deduped │ │ ├── xmlhttprequest-ssl@1.5.5 │ │ └── yeast@0.1.2 │ ├── has-binary2@1.0.3 deduped │ ├── has-cors@1.1.0 │ ├── indexof@0.0.1 │ ├── object-component@0.0.3 │ ├─┬ parseqs@0.0.5 │ │ └─┬ better-assert@1.0.2 │ │ └── callsite@1.0.0 │ ├─┬ parseuri@0.0.5 │ │ └── better-assert@1.0.2 deduped │ ├── socket.io-parser@3.3.0 deduped │ └── to-array@0.1.4 └─┬ socket.io-parser@3.3.0 ├── component-emitter@1.2.1 ├─┬ debug@3.1.0 │ └── ms@2.0.0 deduped └── isarray@2.0.1

npm ERR! missing: mkdirp@0.5.1, required by node-pre-gyp@0.12.0 npm ERR! missing: minimist@0.0.8, required by mkdirp@0.5.1 npm ERR! missing: minimatch@3.0.4, required by ignore-walk@3.0.1 npm ERR! missing: brace-expansion@1.1.11, required by minimatch@3.0.4 npm ERR! missing: balanced-match@1.0.0, required by brace-expansion@1.1.11 npm ERR! missing: concat-map@0.0.1, required by brace-expansion@1.1.11 npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.2 npm ERR! missing: inherits@2.0.3, required by readable-stream@2.3.6 npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.6 npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1 npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4 npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4 npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4 npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2 npm ERR! missing: is-fullwidth-code-point@1.0.0, required by string-width@1.0.2 npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2 npm ERR! missing: number-is-nan@1.0.1, required by is-fullwidth-code-point@1.0.0 npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1 npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.3 npm ERR! missing: inherits@2.0.3, required by glob@7.1.3 npm ERR! missing: minimatch@3.0.4, required by glob@7.1.3 npm ERR! missing: once@1.4.0, required by glob@7.1.3 npm ERR! missing: once@1.4.0, required by inflight@1.0.6 npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6 npm ERR! missing: wrappy@1.0.2, required by once@1.4.0 npm ERR! missing: minipass@2.3.5, required by tar@4.4.8 npm ERR! missing: mkdirp@0.5.1, required by tar@4.4.8 npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.8 npm ERR! missing: yallist@3.0.3, required by tar@4.4.8 npm ERR! missing: minipass@2.3.5, required by fs-minipass@1.2.5 npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.3.5 npm ERR! missing: yallist@3.0.3, required by minipass@2.3.5 npm ERR! missing: minipass@2.3.5, required by minizlib@1.2.1

I hope you can find the problem with my installation. In advance thank for your answer.

weinzmi commented 4 years ago

What’s the output when you go to the project directory on your Pi and do „sudo node server.js“?

Usually the errors prompted there are the missing packages.

It’s more like try and error, since I’m not a real developer, but it helped me when I had to install manu‘s release.

choucous commented 4 years ago

Hi Weinzmi, I can't give you the result of do „sudo node server.js“. After some manipulations my Raspberry don't reboot anymore. It seems the issues are hub_ext and usb_port_status. I don't understand why, I have just done the command I sent you before.

I need to reflash an fresh image from Strech distribution. Anothe possibility will be possible to send me your Raspberry image including the daumUSB2BLE ?

choucous commented 4 years ago

Hi Weinzmi, The issue could be the : -> prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz because it don't exist from git tessel/node-usb. Only the usb-v1.6.1-node-v57-linux-x64.tar.gz exist. What do you think about that ?

choucous commented 4 years ago

Hi Weinzmi, find the result of do „sudo node server.js“.

$ sudo node server.js /home/pi/daumUSB2BLE/node_modules/serialport/node_modules/bindings/bindings.js:91 throw err ^

Error: Could not locate the bindings file. Tried: → /home/pi/daumUSB2BLE/node_modules/serialport/build/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/build/Debug/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/build/Release/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/out/Debug/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/Debug/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/out/Release/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/Release/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/build/default/serialport.node → /home/pi/daumUSB2BLE/node_modules/serialport/compiled/8.11.1/linux/arm/serialport.node at bindings (/home/pi/daumUSB2BLE/node_modules/serialport/node_modules/bindings/bindings.js:88:9) at Object. (/home/pi/daumUSB2BLE/node_modules/serialport/lib/bindings.js:3:35) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object. (/home/pi/daumUSB2BLE/node_modules/serialport/lib/serialport.js:16:25)

weinzmi commented 4 years ago

Let’s give it a try!

I’ve used a new serial port parser:

pi@raspberrypi:~ $ npm list /home/pi/ergoFACE_BLE ├── @serialport/parser-inter-byte-timeout@1.1.0

Search how to install the parser and the binding to enable the new parser in the daumUSB.js script.

DAUMs serial interface is significantly different to Kettlers. That was one of the updates in the beta versions.

Two possible solutions:

Lookup for an older version in my releases befor the time out parser

Or

Try to install it 🤓

choucous commented 4 years ago

Sorry Weinzmi, I'm not an expert in java script and it will be difficult for me to follow your try.

I think the problem is more in these lignes after because it don't exist an https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz from git tessel/node-usb :

usb@1.6.1 install /home/pi/daumUSB2BLE-0.6.0/node_modules/usb

prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 5.3.3 prebuild-install info looking for cached prebuild @ /home/pi/.npm/_prebuilds/c04abf-usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install http request GET https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install http 404 https://github.com/tessel/node-usb/releases/download/v1.6.1/usb-v1.6.1-node-v57-linux-arm.tar.gz prebuild-install WARN install No prebuilt binaries found (target=8.11.1 runtime=node arch=arm libc= platform=linux) make : on entre dans le répertoire « /home/pi/daumUSB2BLE-0.6.0/node_modules/usb/build » CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o ../libusb/libusb/os/linux_udev.c:40:10: fatal error: libudev.h: Aucun fichier ou dossier de ce type

include

      ^~~~~~~~~~~

compilation terminated. make: * [libusb.target.mk:132: Release/obj.target/libusb/libusb/libusb/os/linux_udev.o] Error 1 make : on quitte le répertoire « /home/pi/daumUSB2BLE-0.6.0/node_modules/usb/build » gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.19.75-v7+ gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/pi/daumUSB2BLE-0.6.0/node_modules/usb gyp ERR! node -v v8.11.1 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok**

weinzmi commented 4 years ago

did you followed this installation?: https://serialport.io/docs/guide-installation#raspberry-pi-linux

choucous commented 4 years ago

No, but I can try it’s in my ability.

And after this installation, Do I have to reinstall daumUSB2BLE again?

choucous commented 4 years ago

Weinzmi, About the serial port, I followed the https://serialport.io/docs/guide-installation#raspberry-pi-linux instructions you advise to me. Always the same bad result :

gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:189:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.19.75-v7+ gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "build" "--fallback-to-build" "--module=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release/serialport.node" "--module_name=serialport" "--module_path=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release" gyp ERR! cwd /home/pi/daumUSB2BLE/node_modules/serialport gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/bin/node-gyp build --fallback-to-build --module=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release/serialport.node --module_name=serialport --module_path=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release' (1) node-pre-gyp ERR! stack at ChildProcess. (/home/pi/daumUSB2BLE/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:189:13) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:970:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) node-pre-gyp ERR! System Linux 4.19.75-v7+ node-pre-gyp ERR! command "/usr/bin/node" "/home/pi/daumUSB2BLE/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /home/pi/daumUSB2BLE/node_modules/serialport node-pre-gyp ERR! node -v v10.15.2 node-pre-gyp ERR! node-pre-gyp -v v0.6.28 node-pre-gyp ERR! not ok Failed to execute '/usr/bin/node /usr/bin/node-gyp build --fallback-to-build --module=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release/serialport.node --module_name=serialport --module_path=/home/pi/daumUSB2BLE/node_modules/serialport/build/Release' (1) npm WARN ergoFACE_BLE@0.6.4 No repository field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! serialport@3.1.2 install: node-pre-gyp install --fallback-to-build npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the serialport@3.1.2 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! /root/.npm/_logs/2019-11-24T19_06_13_319Z-debug.log

choucous commented 4 years ago

Hi weinzmi,

Have you progressed in your New development ?