質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

解決済

3回答

3148閲覧

Raspberry Piでセンサーなどを使って通知を行くようにするときに、リモートから実行するのではなくデーモンみたいなバックグラウンドで動かしたい

Maar

総合スコア48

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2016/05/08 13:41

Raspberry Piで光センサーである程度明るくなった時、webhookを利用してslackに通知が行くようにしたいのですが、いろいろ調べていてもsshから直接プログラムを実行するものしか載っていません。
デーモンみたいなバッググラウンドで動かせるやり方ってありませんか?
それともcronとかでやるしかないですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

組み込みによくあるようなハードウェア割り込みみたいなものでは難しいと思います。
ですので、デーモンを作るか、起動時に無限ループでチェックさせるか、cronなどで定期実行させるのが良いかと思います。
デーモンの作り方は普通のPCのLinuxのものと同じだと思いますが、ラズパイでの作り方が載っているブログがあったので参考までに紹介しておきます。
ラズパイで自動起動するデーモンを自作する

投稿2016/05/09 05:20

CodeLab

総合スコア1939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Maar

2016/05/09 14:40

回答ありがとうございます。 その3つのいずれかで試してみたいと思います、ありがとうございました。
guest

0

どっちをイメージしているか判らないけど、
Linux 自動実行:スタートアップ時の自動起動
https://www.google.co.jp/search?hl=ja&q=Linux+%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C&lr=lang_ja&gws_rd=ssl
Linux 定期実行、Corn を使うまでも無い場合の方法も
https://www.google.co.jp/search?hl=ja&q=Linux+%E5%AE%9A%E6%9C%9F%E5%AE%9F%E8%A1%8C&lr=lang_ja&gws_rd=ssl

投稿2016/05/08 23:40

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Maar

2016/05/09 05:05

回答ありがとうございます。 基本的にプログラムのファイルをずっと走らせるにはこちらからアクションを起こす(ブラウザからアクセスかSSHで直接プログラムを実行)以外だとこの様な方法だけになってしまう感じなんですかね?
daive

2016/05/09 06:22 編集

>だとこの様な方法だけになってしまう感じなんですかね? masaharuさんが、持っているイメージを 的確に他者に伝えられると、別な方法は有るかもしれません。 但し、組込み機器などROM化する機器と違い、 OS配下の機器ですので、カーネルを弄ってどうかする等は、 苦労の割に、見合わない方法だと思います。 Linuxをカスタマイズして、組込み用のミニマムにする方法などは、 ネット上には存在します。 ⇒これも、ノウハウが無いと苦労ばかりで捗らないので、  組込み用カスタマイズ済みを使ったりします。
Maar

2016/05/09 14:38

やはりcronか自動起動が現実的な感じですね、あまり難しいのはノウハウが無いので無理そうです。。 ありがとうございました。
guest

0

Pythonででも、Node.jsででも、お得意な方(書ける方)で期待する動作を書けばいいのでは?

ざっくり書くと

while True: inputValue = GPIO.input(*) if (inputValue == True): # 値をフィルタ # slackのwebhookへ投げる time.sleep(10)

な感じで無限ループさせるのが簡単ですかね
もっとスマートなやり方もあると思いますが..

投稿2016/05/08 19:43

編集2016/05/08 19:44
dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Maar

2016/05/08 23:28

回答ありがとうございます。 プログラムを書くまではいいんですが、それを実行するときってsshで接続しているときにコマンドで実行するとかしかなくないですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問