Johnny-Five Tidak Dapat Terhubung ke Arduino

Windows 10, Arduino Mikro. Saya awalnya menggunakan tutorial standar "Blink.js", tetapi Johnny-Five terus menyambung ke port serial yang salah. Saya melakukan hard-code pada port COM saya (port 8, dalam hal ini), dan berhasil melewati kesalahan awal, tetapi kesalahan baru telah menghentikan saya. Output saya terlihat seperti ini:

C:\Users\...\folder>node Blink.js
1536475383667 Connected COM 8
1536475383673 Error Opening COM 8: File not found
(node:12700) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Uncaught, unspecified "error" event. ([object Object])
1536475393671 Device or Firmware Error A timeout occurred while connecting to the Board.

    Please check that you've properly flashed the board with the correct firmware.
    See: https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting

If connecting to a Leonardo or Leonardo clone, press the 'Reset' button on the board, wait approximately 11 seconds for complete reset, then run your program again.
events.js:165
    throw err;
    ^

Error: Uncaught, unspecified "error" event. ([object Object])
    at Board.emit (events.js:163:17)
    at Board.log (C:\Users\...\folder\node_modules\johnny-five\lib\board.js:648:8)
    at Board.(anonymous function) [as error] (C:\Users\...\folder\node_modules\johnny-five\lib\board.js:659:14)
    at Board.<anonymous> (C:\Users\...\folder\node_modules\johnny-five\lib\board.js:395:14)
    at ontimeout (timers.js:386:14)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5)

Saya telah melakukan semua hal jelas yang mereka rekomendasikan: mem-flash ulang firmware, membakar bootloader, menginstal ulang node dan npm, mengikuti petunjuk instalasi untuk Arduino selangkah demi selangkah, meskipun saya harus menekan standarFirmataPlus .ino melalui GUI alih-alih baris perintah, karena Windows tidak menyertakan alat baris perintah untuk Arduino. Kode saya, jika ada bedanya, terlihat seperti ini:

var five = require("johnny-five"),
    board, led;

board = new five.Board({port: "COM 8"});

board.on("ready", function() {
  console.log('ready');
  led = new five.Led(8);    //This would be port 13 on most, but the Micro doesn't have that port
  led.strobe(100);
});

Saya telah berjuang lama untuk mendapatkan reaksi apa pun dari Arduino menggunakan Johnny-Five, dan bantuan apa pun akan sangat dihargai.


person Noah Tatko    schedule 09.09.2018    source sumber


Jawaban (1)


Ternyata, masalahnya adalah masalah kompatibilitas silang. Saya menggunakan Git untuk menyinkronkan file dan proyek antar komputer, satu komputer adalah Mac, yang lainnya adalah Windows. Tidak seperti banyak paket JavaScript lainnya, serialport adalah paket yang spesifik untuk platform. Jadi, belajarlah menggunakan gitignore.

Semoga ini bisa membantu orang lain.

person Noah Tatko    schedule 13.09.2018