自作武器を作ろうず

<!-- リトルカブにハイコンプ組んだりペットボトルロケットでロケットランチャー作ったり、Arduinoで赤外線ラジコン作ったり、JavaScriptでしょーもないアプリ作ったり、「レビュー」の名のもとに意味もなく買ってしまったガジェットの自慢する暇な大学生のつれづれなるままなブログです。 -->


ガンカメラを作りたくてラズパイに遊ばれる その5

広告

動かないサーボ。迫り来る納期。

ServoBlasterのファイルはNode.jsで編集出来ませんんでした。

  さて、ServoBlasterは、/dev/servoblaster というファイルに値を書き込むことでサーボを簡単に扱えるわけですが、いろんなサイト見てると殆どが

pi@raspberrypi:~ $ sudo echo 0=50% > /dev/servoblaster

  ってな感じで、echoをコマンドからservoblasterファイルにカキカキしてサーボを動かしてます。僕もその方法では出来ました。

  で、コレと同じことをNode.jsで…つまりecho コマンドの代わりにnode.jsでservoblasterファイルに書き込んでサーボ動かすをやろうとしたわけですが…



//その壱、jsファイルをこしらえる。

pi@raspberrypi:~ $  sudo nano hoge.js
// hoge.js の中身
var fs = require('fs');

setTimeout(function() {
  fs.writeFileSync('/dev/servoblaster', '4=100%');
}, 1000);


setTimeout(function(){
  fs.writeFileSync('/dev/servoblaster', '4=10%');
}, 2000);



//その弐、そんでもって之をnode.jsから実行。

pi@raspberrypi: $ sudo node servoControl


fs.js:707
    return binding.writeBuffer(fd, buffer, offset, length, position);
                   ^
Error: ESPIPE: invalid seek, write
    at Error (native)
    at Object.fs.writeSync (fs.js:707:20)
    at Object.fs.writeFileSync (fs.js:1235:24)
    at null._onTimeout (/home/pi/hoge.js:4:6)
    at Timer.listOnTimeout (timers.js:93:15)



//その参、

( ´・ω・)


  一向に動いてくれません。僕のプログラムが文法的、アルゴリズム的に間違ってるから出来ないのか、それともservoblasterの権限とか、servoblaster側が原因で動かないのか。それすらわかりません。しーかたがないので、ラズパイからArduinoの経由してからサーボ動かす方向にスイッチします。コレなら確実でしょう。ラズパイから適当に引数Arduinoに渡せば余裕っしょ。

…それやっちゃうと、「らずぱいガンカメラ」じゃなくなっちゃうけど知った事か()納期はそこまで来てるんだ。


超手抜きの操作画面作った
f:id:teppodone:20151223232440j:plain

  あと、サーボとコイルガンの操作画面兼ライブ映像見れる画面も作りました。まー、まぁ…原案だしレイアウトさえ決めてればこんなもんでも問題ないでしょう。余裕が有ったらデザインちゃんとするけど今は他優先で。


今の僕に必要なも知識は「ブラウザ上のボタン(HTML)を押したらサーバー上のプログラム(Node.js)が動く」仕組み
  しかしコレ何て検索すればいいんですか??「Node.js Html」って検索してもそれっぽいの出てこないし…マジでどうしましょ。誰か参考になるページとかキーワード教えて下さい。マジでホント助けて。






今週の、荷物届いた!!

ChromeBook届いた!
DELL公式HPからポチったChromeBook11。遥か彼方アメリカ工場から太平洋をどんぶらこ超えてやって来ました。

  これからの戦力として、壊れない程度に働いてもらいます()


なき金ないっち言いよるやろ…

  だから金ないっちゅーねん。買っちゃいました。ジャグリング用のボールです。やー、だってさー、しょうがないやん。ラッドファクター(ジャグリング用品店)のHP見てたはずなのに、急に気を失って、目が覚めた時にはポチって振り込みまでしちゃってたんだから仕方ない嗚呼しょうがない。しかし流石はRFビーン。柔いし伸びるし投げ心地最高です。

ボール楽しい!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌