2017-02-25 20 views
0

私が作っているChromeアプリケーションを使ってArduinoに16進数のファイルをフラッシュしようとしています。私は基本的なNodeJSコードを使用しました。これはブラウザで動作するようにbrowserifyを使って変換されています。それは動作しないと私は言ってコンソールにエラーを取得しています「TypeError例外を:fs.readFileSyncは関数ではありません」あなたもbrowserifyで(ブラウザでこの種のコードを実行することはできませんエラー:fs.readFileSyncは関数ではありません

var Avrgirl = require('avrgirl-arduino'); 

var avrgirl = new Avrgirl({ 
    board: 'uno' 
}); 

avrgirl.flash('Blink.cpp.hex', function (error) { 
    if (error) { 
    console.error(error); 
    } else { 
    console.info('done.'); 
    } 
}); 
+0

'fs'モジュールはブラウザでは使用できません。 – jfriend00

+0

どこで使っていますか? –

+0

おそらく 'avrgirl.flash()'の中にファイル名を渡しているからです。この種のコードをブラウザで実行することはできません。 node.jsで実行しているはずです。 browserifyは、ブラウザに存在しない低レベルの機能に対して魔法を起こさせません。 – jfriend00

答えて

1

)。 node.jsで実行しているはずです。

私はあなたのエラーは内部から来ていることを推測する:ファイル名を渡していると、その関数はおそらく、そのファイルを読み取ろうとしているので

avrgirl.flash('Blink.cpp.hex', ...) 

browserifyは、ハードドライブからファイルを読み込んだり、arduinoハードウェアと通信しているなど、そうでなければブラウザの能力を魔法のように与えることはできません。このコードはおそらくnode.js環境で実行されることを意図していました。

avrgirl-arduinoモジュールのinstructionsモジュールは、node.jsで実行する必要があることを明確に示しています。

関連する問題