Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node.jsで心拍センサ使ってみた / heartbeat sensor on Node.js

shanonim
December 17, 2015

Node.jsで心拍センサ使ってみた / heartbeat sensor on Node.js

2015.12.16
JSオジサン#6 @21cafe
https://atnd.org/events/71990

shanonim

December 17, 2015
Tweet

More Decks by shanonim

Other Decks in Technology

Transcript

  1. Node.jsͰ৺ഥηϯα࢖ͬͯΈͨ
    גࣜձࣾϞϯελʔɾϥϘ
    @shanonim

    View Slide

  2. Who?
    ɾࣰݪ ߂ޫʢ@shanonimʣ
    ɾAndroid

    View Slide

  3. View Slide

  4. View Slide

  5. What’s “johnny-five”?
    ɾjavascriptͰArduinoΛૢ࡞
    ɾNode.js

    View Slide

  6. JSͰIoTʂ
    ͓΋͠Ζͦ͏ʂ

    View Slide

  7. .. IoTͬͯԿ΍Δͷʁ

    View Slide

  8. ʮϏοάσʔλɺM2Mɺ
    ηϯαʔͱΫϥ΢υͰΠϊϕʔ
    γϣϯʯ

    View Slide

  9. ʁ

    View Slide

  10. ͱΓ͋͑ͣɺ͓΋͠Ζ͍͜ͱ
    ΍Γ͍ͨ

    View Slide

  11. View Slide

  12. View Slide

  13. ੜମIoTɺ͓΋͠Ζͦ͏

    View Slide

  14. Arduino + johnny-five
    + ৺ഥηϯα

    View Slide

  15. View Slide

  16. sample͋Δ͚ͲɺCݴޠ

    View Slide

  17. View Slide

  18. C → Node.js

    View Slide

  19. // THIS IS THE TIMER 2 INTERRUPT SERVICE ROUTINE.
    // Timer 2 makes sure that we take a reading every 2 miliseconds
    ISR(TIMER2_COMPA_vect){ // triggered when Timer2 counts to 124
    cli(); // disable interrupts while we do this
    Signal = analogRead(pulsePin); // read the Pulse Sensor
    sampleCounter += 2; // keep track of the time in mS with this variable
    int N = sampleCounter - lastBeatTime; // monitor the time since the last beat to avoid noise
    ...
    board.on('ready', function() {
    var led = new five.Led(13);
    sensor = new five.Sensor( {
    pin: 'A0',
    freq: 2
    });
    sensor.on('data', function() {
    signal = this.value;
    sampleCounter += 2;
    var n = sampleCounter - lastBeatTime;
    Node.js
    C

    View Slide

  20. View Slide

  21. ※एׯߴΊʹදࣔ͞ΕΔͷͰௐ੔த

    View Slide

  22. + Milkcocoa

    View Slide

  23. What’s “Milkcocoa”?
    ɾIoT BaaS
    ɾJSON͔ΒάϥϑԽ (freeboard)

    View Slide

  24. View Slide

  25. Θ͟ͱ৺ഥ਺͋͛ͯΈͨ

    View Slide

  26. View Slide

  27. ׆༻ͯ͠ΈΑ͏

    View Slide

  28. ͶΉΈײ஌
    ɾ຾͘ͳΔͱ৺ഥ਺͕Լ͕Δ܏޲
    ɾݕ஌ͨ͠Βslack௨஌
    ɾnpm install slack-node

    View Slide

  29. var ds = milkcocoa.dataStore('heartbeat');
    ds.stream().size(10).next(function(err, datas) {
    var averageHeartbeat = 0;
    datas.forEach(function(data) {
    averageHeartbeat += data.value.heartbeat;
    });
    averageHeartbeat /= 10;
    });

    View Slide

  30. View Slide

  31. ·ͱΊ
    ɾJS IoTͨͷ͍͠
    ɾIoT΍ͬͨ͜ͱͳ͍JS͓͡͞Μ΋ͥͻ!

    View Slide

  32. View Slide

  33. Happy IoTing!!

    View Slide