Shujima Blog

Apple製品,技術系の話をするブログ

Raspberry PiでPythonプログラムを自動的に起動させる.(autostart)

車載Raspberry Pi プログラムを作ったので.

いくつかやったが,この方法が唯一うまくいった.他は多分何かミスってるみたい.

参考サイトは以下です.

Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説

5通りの方法が乗っていますが,そのうち「autostartを使う方法」というのを使いました.


2018/10/11追記:
この方法で動かないことがあったので,cronで動かす方法というのも試してみました.

たぶんリンク先の方法のほうが応用が効き使いやすいと思うので,こちらの記事も参考にしてください!
masa-flyu.hatenablog.com
追記終わり


まず,ターミナルで,

$ nano ~/.config/lxsession/LXDE-pi/autostart 

と打ちます.nanoの部分はお好きなテキストエディタで.

 


@から始まる文がいくつか出てくるかと思います.自分の場合は,

@lxpanel --profile LXDE-pi

@pcmanfm --desktop --profile LXDE-pi

@xscreensaver -no-splash

となっていました.これに,プログラムの実行コマンドの先頭に@をつけて追記します.

@python /home/pi/hogehoge.py

という感じで.

自分の場合はapt-getでインストールしたopenCVだったため,(記事執筆時点では)python3ではなく,python2を使う必要がありました.

そのため自分は

@python2 /home/pi/DevelopPi/Python/OpenCV/cvsignal.py

となりました.

/home〜のディレクトリは自分の環境に合わせればいいです.DevelopPiから先は自分で作った適当なフォルダです.

入力が終わったら,nanoの場合,Ctrl+O(保存),Enter,Ctrl+X(終了)とすると,元のコマンド待機状態に戻るはずです.
あとは再起動すれば,pythonプログラムが開始するでしょう.


2018/10/11追記:
autostartによる方法で動かないことがあったので,cronで動かす方法というのも試してみました.
masa-flyu.hatenablog.com

SW4STM32 Mac版でterget firmwareがERROR__UNZIP_ISSUEでダウンロードできない.

なんで?

 

STM32の開発環境を構築する(わりと楽に) - yuqlidの日記

 

に従って環境構築をしていた.

f:id:masa_flyu:20170625153615p:plain

Project Firmware Configurationで,Download target firmwareを押すと,(おそらく)正常にダウンロードがなされた後で,以下のエラーダイアログが出る.

 

f:id:masa_flyu:20170625153624p:plain

 

原因不明

軽く検証してみたところ...

STM32F4ではなくF0ならOK,Cube HALではなくStdPeriphではOK,mac版ではなくWindows版ならOK

F4かつCube HALかつmacのときだけ出現する謎エラー...

 

原因不明のまんまだが,ちょっと強引な方法だけど解決できた.(たぶんもっとマシな方法がいくらでもある)

 

解決方法

1.Project Firmware Configuration のDownload...ボタンのすぐ下にある'Firmware installation'を選択

f:id:masa_flyu:20170625160532p:plain

 

2.画像の中腹にあるFirmware installation repositoryのディレクトリを覚える(初期設定なら/Users/ユーザー名/.ac6/SW4STM32/firmwares)

f:id:masa_flyu:20170625160314p:plain

 

3.Finderで開く

※画像ではfirmwaresの中に,ダウンロードに成功したfirmwareが入っているが,これは全て完了後の画像のため.何も入ってなくてもOK.

f:id:masa_flyu:20170625161046p:plain

4.Project Firmware Configurationに戻り,Download terget firmwareボタンを押す

 

ダウンロードが進行すると,先ほどFinderで開いたフォルダの中に「.tmp_STM32Firmwareinstall_xxxxxxxxxx」といった名前のフォルダが生成される.

 

そしてその中にstm32cube_fw_f4_v1150.zipが生成されていく.これが今ダウンロードしている必要なzipファイル.

 

このフォルダはダウンロードが終了し,zipの展開が終わると直ちに削除される.今回のエラーはダウンロードは成功したが,zipファイルの展開でつまづいてるだけなので,zipファイルを手動で展開すればうまくいく.

 

そのためにzipファイルのダウンロードが完了した瞬間(Project Firmware configurationの下部の進捗バーが100%になったら),zipファイルをcmd+cでコピー,

一つ上のディレクトリにペーストする.

 

(別にコピーしないでも移動させるだけでもいいかも?)

 

f:id:masa_flyu:20170625162414p:plain

 

5.zipを展開する(展開場所はFirmware installation repositoryのディレクトリ)

 

これで/ Firmware installation repositoryのディレクトリ /STM32F4-Discovery_FW_V1.1.0

フォルダが作られた

 

6.Project Firmware configurationに戻り,一度上部の選択肢を変更し戻す(Hardware Abstruction LayerからNo firmwareに.再びNo firmwareからHardware Abstruction Layerに.)

 

Download target firmwareボタンが消え,「Firmware 'STM32Cube_FW_F4_V1.15.0' has been found.」という記述が増えている.これで解決...

SIP解除:「csrutil disable」しても「Command not found」となる場合(macOS El Capitan, Sierra, High Sierra )

結論を先に.

Command + R では無く, Option(Alt) + Command + R

 

 顛末

愛用しているMacBook Pro Late 2013 (13インチ).

新しもの好きな僕としては,最新OSはPublic Betaの段階からインストールしてしまう.OS X El CapitanのときもSIP (System Integrity Protection)の問題など,何も考えずに真っ先にインストールした.

しかし広く公開されているSIP無効化手順

①Command + RでOS Xユーティリティ起動

②メニューバーよりターミナル起動

③「csrutil disable」を打つ

をしたところ

「Success」などの単語は無く「Command not found」という冷たい文字が出てくるのみ.2015年当時は何度調べても,何度やり直しても同じことを繰り返すのみ.

Late 2013は古すぎてコマンド自体が存在しないのかな??という曖昧な結論を得て,結局そのまま放置して1年半経ってしまった.

 

最近職場のiMac Late 2009のSIPを解除する必要が出た.7年も前のMac,一筋縄ではいかないだろうと思ったが,いたって普通に解除できた.

そこから疑問に思い,軽く調べたところとてつもなく簡単に解除できた.

 

原因:Command + Rでは,古いバージョンの「ユーティリティ」が起動する場合がある

さらなる原因:Bootcampなどでパーティションが分かれているときに,ユーティリティのある領域が古いまま保たれてしまう??(よくわかってない)

 

解決策:Mac起動直後りんごマークが出る前にOption(Alt) + Command + Rを長押しし続ける。地球のようなマークが出てきたらOK。最新版の「macOS ユーティリティ」をインターネット経由でダウンロードするので環境にもよるが起動まで長時間かかる。起動後は通常通りターミナルで「csrutil disable」を入力する.

 

こんな簡単なことだったとは...

金沢の工業大学でMacを使う

私は金沢の近くにある某工業系大学に在籍していたことがあり,そのときMacを所持していました.

最近,周囲で「入学前にMac欲しかったけど買わなかった」的なお話をいくつか聞いたので,入学前の方を対象に大学でのパソコン事情,おすすめのパソコン情報を少し書いておこうと思います.

  

それから記事後半に大学で役に立つであろう設定知識をまとめていますので,いざMacを買って入学した際には参考にしてください.

 

Macのプロキシ設定などを知りたい方は最後の方まで飛ばしてください。

 

 

続きを読む

プライバシーポリシー

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」及び、Amazonアソシエイトなどを利用しています。

広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。

Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください。

当ブログをご利用いただく際には免責事項をお読みください。