{"id":816,"date":"2015-07-07T00:27:49","date_gmt":"2015-07-06T15:27:49","guid":{"rendered":"https:\/\/hack.gpl.jp\/?p=816"},"modified":"2015-07-07T00:27:49","modified_gmt":"2015-07-06T15:27:49","slug":"post-816","status":"publish","type":"post","link":"https:\/\/hack.gpl.jp\/2015\/07\/07\/post-816.html","title":{"rendered":"Pi2 \u3068 arduino \u3092USB\u63a5\u7d9a\u3057\u3066\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1"},"content":{"rendered":"

\u4eca\u65e5\u306f\u3001Pi2 \u3068 arduino \u3092\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u3066LED \u3092\u5149\u3089\u305b\u3066\u307f\u307e\u3057\u305f\u3002\u5168\u4f53\u50cf\u306f\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n

\"\u5199\u771f<\/p>\n

\u7dd1\u8272\u306e\u30d6\u30ec\u30c3\u30c9\u30dc\u30fc\u30c9\u306b\u3042\u308b LED \u306f arduino \u306e 3pin \u306b\u3064\u306a\u304c\u3063\u3066\u3044\u307e\u3059\u3002Pi2 \u304b\u3089\u30b7\u30ea\u30a2\u30eb\u7d4c\u7531\u3067LED \u3092\u5149\u3089\u305b\u308b\u5f62\u3067\u3059\u3002<\/p>\n

\"\u5199\u771f <\/p>\n<\/p>\n

\u826f\u3044\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306aBlog \u8a18\u4e8b\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u305d\u308c\u3092\u7fd2\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n

\n

\u53c2\u8003 Raspberry Pi\u3068Arduino\u9593\u3067USB\u7d4c\u7531\u306e\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1<\/a><\/p>\n<\/blockquote>\n

 <\/p>\n

\u307e\u305a\u3001arduino \u306e\u30b9\u30b1\u30c3\u30c1\u306f\u3001\u4e0a\u8a18\u30b5\u30a4\u30c8\u306b\u3042\u308b\u3068\u304a\u308a\u3001<\/p>\n

#define LED_PIN (3)\nbyte val;\n\nvoid setup(){\n  \/\/ Serial Setting\n  Serial.begin(9600);\n\n  \/\/ Port Setting\n  pinMode(LED_PIN, OUTPUT);\n  digitalWrite(LED_PIN, LOW);\n}\n\nvoid loop(){\n  if(Serial.available() > 0){\n    \n    val = Serial.read();\n    Serial.write(val);\n    if(val == 'A'){\n      digitalWrite(LED_PIN, HIGH);\n    }\n\n    if(val == 'B'){\n      digitalWrite(LED_PIN, LOW);\n    }\n  }\n}<\/pre>\n

\u305d\u3057\u3066\u3001\u66f8\u304d\u8fbc\u3093\u3067\u3001\u4eca\u5ea6\u306f pi2 \u304b\u3089\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u307e\u3059\u3002<\/p>\n

USB \u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3059\u3068\u3001pi2 \u5074\u306e dmesg \u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u51fa\u307e\u3059\u306e\u3067\u3001\u899a\u3048\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n

\n

[root@pi2 ~]# dmesg
\n
::<\/p>\n

[ 4270.245917] usb 1-1.5: new full-speed USB device number 5 using dwc_otg<\/p>\n

[ 4270.369007] usb 1-1.5: New USB device found, idVendor=1a86, idProduct=7523<\/p>\n

[ 4270.376106] usb 1-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0<\/p>\n

[ 4270.383583] usb 1-1.5: Product: USB2.0-Serial<\/p>\n

[ 4271.484705] usbcore: registered new interface driver usbserial<\/p>\n

[ 4271.491107] usbcore: registered new interface driver usbserial_generic<\/p>\n

[ 4271.499466] usbserial: USB Serial support registered for generic<\/p>\n

[ 4271.508688] usbcore: registered new interface driver ch341<\/p>\n

[ 4271.514472] usbserial: USB Serial support registered for ch341-uart<\/p>\n

[ 4271.521035] ch341 1-1.5:1.0: ch341-uart converter detected<\/p>\n

[ 4271.531056] usb 1-1.5: ch341-uart converter now attached to ttyUSB0\u2605<\/p>\n

[root@pi2 ~]# <\/p>\n

[root@pi2 ~]# ll \/dev\/ttyUSB0
\n
crw-rw—- 1 root dialout 188, 0  7\u6708  6 23:08 \/dev\/ttyUSB0\u2605<\/p>\n

[root@pi2 ~]# <\/p>\n<\/blockquote>\n

pi2 \u304b\u3089\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001minicom \u3068\u3044\u3046\u306e\u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n

\n

[root@pi2 work]# which minicom
\n
\/usr\/bin\/minicom<\/p>\n<\/blockquote>\n

\u8a2d\u5b9a\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b \u2013s \u3092\u3064\u3051\u3066\u8d77\u52d5\u3002<\/p>\n

\n

\u25bc\u8a2d\u5b9a
\n
[root@pi2 work]# LANG=C minicom \u2013s<\/p>\n<\/blockquote>\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b cui \u3067\u9078\u629e\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n

            \u250c\u2500\u2500\u2500\u2500\u2500[configuration]\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n            \u2502 Filenames and paths      \u2502\n            \u2502 File transfer protocols  \u2502\n            \u2502 Serial port setup        \u2502\n            \u2502 Modem and dialing        \u2502\n            \u2502 Screen and keyboard      \u2502\n            \u2502 Save setup as dfl        \u2502\n            \u2502 Save setup as..          \u2502\n            \u2502 Exit                     \u2502\n            \u2502 Exit from Minicom        \u2502\n            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    \u2502 A -    Serial Device      : \/dev\/ttyUSB0                              \u2502\n    \u2502                                                                       \u2502\n    \u2502 C -   Callin Program      :                                           \u2502\n    \u2502 D -  Callout Program      :                                           \u2502\n    \u2502 E -    Bps\/Par\/Bits       : 9600 8N1                                  \u2502\n    \u2502 F - Hardware Flow Control : Yes                                       \u2502\n    \u2502 G - Software Flow Control : No                                        \u2502\n    \u2502                                                                       \u2502\n    \u2502    Change which setting?                                              \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[Comm Parameters]\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    \u2502 A -    Serial De\u2502                                    \u2502                \u2502\n    \u2502                 \u2502     Current:  9600 8N1             \u2502                \u2502\n    \u2502 C -   Callin Pro\u2502 Speed            Parity      Data  \u2502                \u2502\n    \u2502 D -  Callout Pro\u2502 A: <next>        L: None     S: 5  \u2502                \u2502\n    \u2502 E -    Bps\/Par\/B\u2502 B: <prev>        M: Even     T: 6  \u2502                \u2502\n    \u2502 F - Hardware Flo\u2502 C:   9600        N: Odd      U: 7  \u2502                \u2502\n    \u2502 G - Software Flo\u2502 D:  38400        O: Mark     V: 8  \u2502                \u2502\n    \u2502                 \u2502 E: 115200        P: Space          \u2502                \u2502\n    \u2502    Change which \u2502                                    \u2502                \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 Stopbits                           \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n            \u2502 Screen a\u2502 W: 1             Q: 8-N-1          \u2502\n            \u2502 Save set\u2502 X: 2             R: 7-E-1          \u2502\n            \u2502 Save set\u2502                                    \u2502\n            \u2502 Exit    \u2502                                    \u2502\n            \u2502 Exit fro\u2502 Choice, or <Enter> to exit?        \u2502\n            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/pre>\n

\u3067\u3001\u5b9f\u884c\u3002<\/p>\n

[root@pi2 work]# LANG=C minicom\n\nWelcome to minicom 2.7\n\nOPTIONS: I18n \nCompiled on Aug 17 2014, 17:46:22.\nPort \/dev\/ttyUSB0, 23:40:40\n\nPress CTRL-A Z for help on special keys\n\nAABABABABABAAABAB\u2605\u3053\u3093\u306a\u611f\u3058\u3067\u3001\u30bf\u30a4\u30d7\u3059\u308b\u3068LED \u3064\u3044\u305f\u308a\u6d88\u3048\u305f\u308a\u3002<\/pre>\n

\u7d42\u4e86\u306f\u3001CTL + A \u62bc\u3057\u3066\u3001Z \u3067\u30e1\u30cb\u30e5\u30fc \u4ee5\u4e0b\u306e Q \u3067\u7d42\u4e86<\/p>\n

\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                      Minicom Command Summary                      \u2502\n\u2502                                                                   \u2502\n\u2502              Commands can be called by CTRL-A <key>               \u2502\n\u2502                                                                   \u2502\n\u2502               Main Functions                  Other Functions     \u2502\n\u2502                                                                   \u2502\n\u2502 Dialing directory..D  run script (Go)....G | Clear Screen.......C \u2502\n\u2502 Send files.........S  Receive files......R | cOnfigure Minicom..O \u2502\n\u2502 comm Parameters....P  Add linefeed.......A | Suspend minicom....J \u2502\n\u2502 Capture on\/off.....L  Hangup.............H | eXit and reset.....X \u2502\n\u2502 send break.........F  initialize Modem...M | Quit with no reset.Q \u2502\n\u2502 Terminal settings..T  run Kermit.........K | Cursor key mode....I \u2502\n\u2502 lineWrap on\/off....W  local Echo on\/off..E | Help screen........Z \u2502\n\u2502 Paste file.........Y  Timestamp toggle...N | scroll Back........B \u2502\n\u2502 Add Carriage Ret...U                                              \u2502\n\u2502                                                                   \u2502\n\u2502             Select function or press Enter for none.              \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/pre>\n

 <\/p>\n

\u4eca\u5ea6\u306f\u3001python \u304b\u3089\u5236\u5fa1\u3002 pyserial \u3092\u5165\u308c\u307e\u3059\u3002<\/p>\n

[root@pi2 ~]# dnf install python-pip\n\n[root@pi2 ~]# pip install --upgrade pip\nYou are using pip version 6.0.8, however version 7.1.0 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\nCollecting pip from https:\/\/pypi.python.org\/packages\/py2.py3\/p\/pip\/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f\n  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)\n    100% |################################| 1.1MB 37kB\/s \nInstalling collected packages: pip\n  Found existing installation: pip 6.0.8\n    Uninstalling pip-6.0.8:\n      Successfully uninstalled pip-6.0.8\n\nSuccessfully installed pip-7.1.0\n[root@pi2 ~]# \n\n[root@pi2 ~]# pip install pyserial\n::\nSuccessfully installed pyserial-2.7\n[root@pi2 ~]# <\/pre>\n

\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306bA \u3068 B \u3092\u30eb\u30fc\u30d7\u3057\u3066\u3001CTL + C \u3067\u4e2d\u65ad\u3057\u305f\u3089\u3001B \u3092\u6d41\u3057LED\u3092\u6d88\u3057\u3066\u3001\u7d42\u4e86\u3002<\/p>\n

---- loop.py \n# -*- coding: utf-8 -*-\nimport serial\nimport time\n\nser = serial.Serial('\/dev\/ttyUSB0', 9600)\ntime.sleep(2)\ntry:\n    while True:\n        ser.write('A')\n        time.sleep(1)\n        ser.write('B')\n        time.sleep(1)\nexcept KeyboardInterrupt:\n        ser.write('B')\n        ser.close()<\/pre>\n

\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n

\n

[root@pi2 work]# python loop.py<\/p>\n<\/blockquote>\n

\u306a\u308b\u307b\u3069\u3067\u3059\u306d\u3002\u307e\u3041\u3001\u3053\u308c\u3060\u3068\u3001pi2 \u306e GPIO \u30d4\u30f3\u304b\u3089\u76f4\u63a5\u5236\u5fa1\u3059\u308c\u3070\u3048\u3048\u3084\u3093\u3063\u3066\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u304c\u3001\u3001\u3001\u6b21\u306f\u3001arudino \u306e\u30a2\u30ca\u30ed\u30b0\u5165\u529b\u306b\u30bb\u30f3\u30b5\u30fc\u3092\u3064\u3051\u3066\u3001\u305d\u308c\u3092pi2 \u306b\u6e21\u3059\u65b9\u6cd5\u3092\u5b9f\u8df5\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002I2C \u3068\u304b\u30b7\u30ea\u30a2\u30eb\u3092\u4f7f\u308f\u306a\u3044\u7d50\u7dda\u3060\u3068\u3001promini \u3068\u304b\u304c\u4f7f\u3048\u308b\u306e\u3067\u3001\u305d\u3046\u3044\u3046\u306e\u3092\u3069\u306e\u3088\u3046\u306b\u3059\u308b\u306e\u304b\u8abf\u67fb\u3057\u3066\u3001\u5b9f\u8df5\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"

\u4eca\u65e5\u306f\u3001Pi2 \u3068 arduino \u3092\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u3066LED \u3092\u5149\u3089\u305b\u3066\u307f\u307e\u3057\u305f\u3002\u5168\u4f53\u50cf\u306f\u3053\u3093\u306a\u611f\u3058\u3002 \u7dd1\u8272\u306e\u30d6\u30ec\u30c3\u30c9\u30dc\u30fc\u30c9\u306b\u3042\u308b LED \u306f arduino \u306e 3pin \u306b\u3064\u306a\u304c\u3063\u3066\u3044\u307e\u3059\u3002Pi2 \u304b\u3089\u30b7\u30ea\u30a2\u30eb\u7d4c\u7531 […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[9,69],"tags":[],"acf":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"post-thumbnail":false},"uagb_author_info":{"display_name":"JunkHack","author_link":"https:\/\/hack.gpl.jp\/author\/junkhack\/"},"uagb_comment_info":0,"uagb_excerpt":"\u4eca\u65e5\u306f\u3001Pi2 \u3068 arduino \u3092\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u3066LED \u3092\u5149\u3089\u305b\u3066\u307f\u307e\u3057\u305f\u3002\u5168\u4f53\u50cf\u306f\u3053\u3093\u306a\u611f\u3058\u3002 \u7dd1\u8272…","_links":{"self":[{"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/posts\/816"}],"collection":[{"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/comments?post=816"}],"version-history":[{"count":0,"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/posts\/816\/revisions"}],"wp:attachment":[{"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/media?parent=816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/categories?post=816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hack.gpl.jp\/wp-json\/wp\/v2\/tags?post=816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}