{"id":1346,"date":"2018-07-30T10:26:39","date_gmt":"2018-07-30T09:26:39","guid":{"rendered":"https:\/\/ofalcao.pt\/blog\/?p=1346"},"modified":"2018-07-30T10:26:39","modified_gmt":"2018-07-30T09:26:39","slug":"bash-script-to-control-powered-up-motor","status":"publish","type":"post","link":"https:\/\/ofalcao.pt\/blog\/2018\/bash-script-to-control-powered-up-motor","title":{"rendered":"Bash script to control Powered Up motor"},"content":{"rendered":"<p>Ben Hughes asked for the code for the demo video &#8220;<a href=\"https:\/\/youtu.be\/RFHCahxJdAM\">LEGO MINDSTORMS EV3 controlling Powered UP motor<\/a>&#8221; so here it is:<\/p>\n<pre>#!\/usr\/bin\/env bash\r\n\r\nevent_left='*code 105 (KEY_LEFT), value 1*'\r\nevent_right='*code 106 (KEY_RIGHT), value 1*'\r\nevent_down='*code 108 (KEY_DOWN), value 1*'\r\nevent_up='*code 103 (KEY_UP), value 1*'\r\nevent_enter='*code 28 (KEY_ENTER), value 1*'\r\n\r\nfunction finish {\r\n    # terminate all subshells\r\n    kill 0\r\n    # reset all motors\r\n    gatttool -i hci0  -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 0800810011510000\r\n    gatttool -i hci0  -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 0800810111510000\r\n}\r\ntrap finish EXIT\r\n\r\n\r\n\r\n{\r\n    while :\r\n    do\r\n        gatttool -i hci0  -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 0800810011510000\r\n        sleep 0.35\r\n    done\r\n}&amp;\r\n\r\n\r\nwhile :\r\ndo\r\n    evtest '\/dev\/input\/event1' | while read line\r\n    do\r\n#        echo $line\r\n        case $line in\r\n            $event_left)\r\n                echo \"LEFT\"\r\n                gatttool -i hci0 -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 0800810011510060\r\n                sleep 0.1\r\n                ;;\r\n            $event_right)\r\n                echo \"RIGHT\"\r\n                gatttool -i hci0 -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 08008100115100A0\r\n                sleep 0.1\r\n                ;;\r\n           $event_down)\r\n                echo \"DOWN\"\r\n                gatttool -i hci0 -b 90:84:2B:06:AB:5D --char-write-req --handle 0x0e --value 0800810011510000\r\n                sleep 0.1\r\n                ;;\r\n           $event_up)\r\n                echo \"UP\"\r\n                ;;\r\n           $event_enter)\r\n                echo \"ENTER\"\r\n                ;;\r\n        esac\r\n    done\r\ndone\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ben Hughes asked for the code for the demo video &#8220;LEGO MINDSTORMS EV3 controlling Powered UP motor&#8221; so here it is: #!\/usr\/bin\/env bash event_left=&#8217;*code 105 (KEY_LEFT), value 1*&#8217; event_right=&#8217;*code 106 (KEY_RIGHT), value 1*&#8217; event_down=&#8217;*code 108 (KEY_DOWN), value 1*&#8217; event_up=&#8217;*code 103 (KEY_UP), value 1*&#8217; event_enter=&#8217;*code 28 (KEY_ENTER), value 1*&#8217; function finish { # terminate all subshells &hellip; <a href=\"https:\/\/ofalcao.pt\/blog\/2018\/bash-script-to-control-powered-up-motor\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;Bash script to control Powered Up motor&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[],"series":[],"class_list":["post-1346","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2Mhyv-lI","_links":{"self":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/1346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/comments?post=1346"}],"version-history":[{"count":0,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/1346\/revisions"}],"wp:attachment":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/media?parent=1346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/categories?post=1346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/tags?post=1346"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/series?post=1346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}