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

ofserial-option

 ofserial-option

ofSerialで実装されていないシリアル制御のオプションを拡張

Hideaki Tai

December 13, 2015
Tweet

More Decks by Hideaki Tai

Other Decks in Programming

Transcript

  1. ϋʔυ԰͞ΜͱoF
    ofSerialͷ௨৴ΦϓγϣϯΛઃఆ͢Δ

    2015.12.13

    View Slide

  2. ϋʔυ΢ΣΞͱ௨৴͢Δͱݴ͑͹
    γϦΞϧ௨৴Ͱ͢ΑͶ

    View Slide

  3. γϦΞϧ௨৴େ޷͖Ͱ͢ΑͶʁ

    View Slide

  4. ઌ೔͜Μͳ΍ͭΛ࡞ͬͨͷͰ͕͢ɺɺɺ

    View Slide

  5. ϞʔλυϥΠόͱ௨৴Ͱ͖ͳ͍

    View Slide

  6. ֬ೝͯ͠Έͨͱ͜Ζɺɺɺ
    • ύϦςΟνΣοΫ͕ۮ਺ͰೖͬͯΔʂ
    • oF΋ઃఆ͠Α͏ʂ

    View Slide

  7. View Slide

  8. ͋Εɺɺɺ·͔͞ɺɺɺ
    Φϓγϣϯ͕ઃఆͰ͖ͳ͍ʂ

    View Slide

  9. γϦΞϧͷΦϓγϣϯͱ͸
    ୅දతͳͷ͸ɺϘʔϨʔτҎ֎ͩͱɺ
    • ύϦςΟ":"None,"Even,"Odd
    • ετοϓϏοτ":"1,"2
    • σʔλϏοτ਺":"5,"6,"7,"8
    • ϑϩʔ੍ޚ"(DTR)":"ON,"OFF
    ͳͲ

    View Slide

  10. Α͘࢖͏IoTܥʁͷ(ͬ͞ͱ࢖͑Δ)ػثͳΒɺ
    • ύϦςΟ":"None"(~PARENB)
    • ετοϓϏοτ":"1
    • σʔλϏοτ਺":"8
    • ϑϩʔ੍ޚ"(DTR)":"NONE
    ͱ͔ʹͳ͍ͬͯΔ

    View Slide

  11. ࢀߟจݙ
    • γϦΞϧϙʔτͰ༡΅͏
    • γϦΞϧ௨৴ͷجૅ஌ࣝ"#"RS#232C"/"RS#422"/"RS#485"

    View Slide

  12. oFͰ࢖͍ͬͯΔγϦΞϧͷϥΠϒϥϦ
    • TERMIOS)(LINUXඪ४ͷλʔϛφϧ੍ޚΠϯλϑΣʔεΈ͍ͨ)
    • ೔ຊޠͷManPage

    View Slide

  13. ͜ͷ΁Μ͍͡Ε͹͍͍ͬΆ͍

    View Slide

  14. ֦ுͯ͠Έ·ͨ͠
    class ofxSerial : public ofSerial
    {
    void setParity(parity p);
    void setStopBits(stop_bits s);
    void setDataBits(data_bits d);
    };

    View Slide

  15. ςετͯ͠Έ·͠ΐ͏
    ͱΓ͋͑ͣArduinoઌੜͰ

    View Slide

  16. ArduinoઌੜͰ͸͜Μͳײ͡Ͱఆٛ͞Εͯͨ

    View Slide

  17. ͯ͜ͱͰɺ͜Μͳײ͡Ͱॻ͚͹OK
    void setup()
    {
    Serial.begin(9600, SERIAL_8E2); // ϘʔϨʔτͱΦϓγϣϯͷઃఆ
    }
    void loop()
    {
    while (Serial.available())
    {
    Serial.print("got message! : ");
    Serial.println((int)Serial.read());
    }
    }

    View Slide

  18. γϦΞϧ௨৴࠷ߴʂ
    γϦΞϧ௨৴ͭΒ͍

    View Slide

  19. ͱΓ͋͑ͣެ։
    • ͪ͜Βɿh#ps:/
    /gist.github.com/hideakitai/
    b4eb28a4ee8b04d3cce0
    • ofxSerial͍ͬͯ͏ଞϥΠϒϥϦΛ࢖ͬͨ΍ͭ΋
    • ϝϯς͞Εͯͳ͍໛༷Ͱ࢖ͬͨ͜ͱແ͍Ͱ͢

    View Slide

  20. ࠓޙ
    • El$CapitanͷγϦΞϧɺFTDIυϥΠόௐࢠѱ͍ʁΊͪΌॏ
    ͍ɻɻɻௐࠪதɻɻɻ

    View Slide

  21. Ҏ্

    View Slide