{"id":644,"date":"2014-08-27T17:16:17","date_gmt":"2014-08-27T16:16:17","guid":{"rendered":"http:\/\/ofalcao.pt\/blog\/?p=644"},"modified":"2014-08-27T17:16:17","modified_gmt":"2014-08-27T16:16:17","slug":"ev3dev-autorun-script","status":"publish","type":"post","link":"https:\/\/ofalcao.pt\/blog\/2014\/ev3dev-autorun-script","title":{"rendered":"ev3dev &#8211; autorun script"},"content":{"rendered":"<p>Se quiser lan\u00e7ar um programa automaticamente sempre que o EV3 com ev3dev arranca (sem ter que aceder remotamente por ssh nem ter um teclado ligado) a \u00fanica solu\u00e7\u00e3o funcional que encontrei foi implementar um servi\u00e7o:<\/p>\n<pre>nano \/etc\/init.d\/startup.sh<\/pre>\n<p>conte\u00fado do ficheiro:<\/p>\n<pre>#!\/bin\/bash\ncd \/root\npython \/root\/joy6.py &amp;<\/pre>\n<p>Dar permiss\u00f5es de execu\u00e7\u00e3o ao script:<\/p>\n<pre>chmod +x \/etc\/init.d\/startup.sh<\/pre>\n<p>Instalar o script como servi\u00e7o:<\/p>\n<pre>update-rc.d startup.sh defaults<\/pre>\n<p>Se o nosso script n\u00e3o terminar por si e depois o quisermos terminar ent\u00e3o temos mesmo de aceder por ssh, procurar o pid do processo e mat\u00e1-lo:<\/p>\n<pre>pgrep pyhton\n12345\nkill -9 12345<\/pre>\n<p>(ou implementar uma forma de parar o servi\u00e7o mas sou demasiado pregui\u00e7oso para investigar isso)<\/p>\n<p>Um efeito secund\u00e1rio deste m\u00e9todo \u00e9 que a minha forma de implementar beeps (um shell script que envia o caracter BELL para a consola) deixou de funcionar. Como os beeps d\u00e3o-me muito jeito para perceber o que alguns programas est\u00e3o a fazer optei por arranjar um ficheiro &#8216;beep.wav&#8217; com um toque curto de campa\u00ednha e toc\u00e1-lo com o comando &#8216;aplay&#8217;<\/p>\n<pre>#echo -en \"\u000007\" &gt; \/dev\/tty1\naplay -q beep.wav<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se quiser lan\u00e7ar um programa automaticamente sempre que o EV3 com ev3dev arranca (sem ter que aceder remotamente por ssh nem ter um teclado ligado) a \u00fanica solu\u00e7\u00e3o funcional que encontrei foi implementar um servi\u00e7o: nano \/etc\/init.d\/startup.sh conte\u00fado do ficheiro: #!\/bin\/bash cd \/root python \/root\/joy6.py &amp; Dar permiss\u00f5es de execu\u00e7\u00e3o ao script: chmod +x \/etc\/init.d\/startup.sh &hellip; <a href=\"https:\/\/ofalcao.pt\/blog\/2014\/ev3dev-autorun-script\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;ev3dev &#8211; autorun script&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","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":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[13,18,19,20],"tags":[33],"series":[],"class_list":["post-644","post","type-post","status-publish","format-standard","hentry","category-ev3dev","category-lego","category-lego-mindstorms","category-linux","tag-autorun"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2Mhyv-ao","_links":{"self":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/644","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=644"}],"version-history":[{"count":0,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/644\/revisions"}],"wp:attachment":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/media?parent=644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/categories?post=644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/tags?post=644"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/series?post=644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}