イタリアのある店舗では、Telegram(および以前のWhatsApp)を使用する新しい方法を模索し、シングルボードのミニチュアRaspberry Piコンピューターにインストールしました。 結局のところ、メッセンジャーを使用して、独自のテクノロジーとリモートで通信できます。 以下は、Instructables.comの記事( 1、2 )の翻訳です。 翻訳に明確な説明がある場合は、コメントに書いてください。
I. Raspberry Piの電報
ステップ1:インストール
次のものが必要です 。RaspberryPi BまたはB +、Raspbianの最新バージョン、または同じプリインストールRaspbianの8GBクラス10のMIcroSDカード。
最初にソフトウェアパッケージを更新します。
sudo apt-get update
sudo apt-get upgrade
ライブラリをインストールします:readlineまたはlibedit、openssl、および(構成を使用する場合)libconfigおよびliblua。 それらを使用しない場合は、それぞれ--disable-libconfigと--disable-libluaを置きます。
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make
GitHubアーカイブのクローン
git clone --recursive https://github.com/vysheng/tg.git && cd tg
./configure
make
このコマンドの実行には時間がかかり、その後インストールが完了します。
UPD:メッセンジャーを実行し、電話番号と(または)ニックネームを入力してアカウントを設定します。 見る
ステップ2:メッセージを自動的に送信する
メッセージを自動的に送信するには、ファイルを作成します
sudo nano /home/pi/tg.sh
このコンテンツで:
#!/bin/bash to=$1 msg=$2 tgpath=/home/pi/tg cd ${tgpath} (echo "msg $to $msg"; echo "safe_quit") | ${tgpath}/bin/telegram-cli -k tg-server.pub -W
アクションを許可して、保存して閉じます。
sudo chmod -R 0655 /home/pi/tg.sh
でテストする
/home/pi/tg.sh Name_lastname "your message"
写真を送信するには、ファイルを作成します
sudo nano /home/pi/tg_photo.sh
それに書いて
#!/bin/bash to=$1 msg=$2 tgpath=/home/pi/tg cd ${tgpath} (echo "send_photo $to $msg"; echo "safe_quit") | ${tgpath}/bin/telegram-cli -k tg-server.pub -W
許可を与えて保存して閉じます:
sudo chmod -R 0655 /home/pi/tg_photo.sh
そしてテスト
/home/pi/tg_photo.sh Name_Lastname /folder/photo.png
II。 Telegramを介したRaspberry Piリモートコントロール
テレグラムは、インスタントメッセージを送信するための非常に用途の広いメッセンジャーであり、複数のデバイスで同時に1つの電話番号を使用して作業できます。
前回のレビューでは、インストール方法、テキストファイルとメディアファイルの送信方法を見ました。 また、Telegramを介してメッセージを自動的に送信するようにRaspberryを構成できるようにしました。
今回は、受信したメッセージに応じて特定のアクションを実行するようにRaspberryに依頼します。たとえば、「写真」という単語を送信して、Raspberryが家の写真または「ランプ」を送信し、ランプを回すか、「開く」とドアを開くことができますガレージ。 始めましょう。
ステップ1:インストール
上記の手順に基づいて開始します。 新しい着信メッセージをインターセプトするために、action.luaファイルを作成します(habrayusersは明らかに慣れているため、公式Webサイトへのリンクを含むLua言語の説明は省略します。- 注 )。
sudo nano /home/pi/tg/action.lua
次の内容で:
function on_msg_receive (msg) if msg.out then return end if (msg.text=='ping') then send_msg (msg.from.print_name, 'pong', ok_cb, false) end end function on_our_id (id) end function on_secret_chat_created (peer) end function on_user_update (user) end function on_chat_update (user) end function on_get_difference_end () end function on_binlog_replay_end () end
ファイルを保存して閉じます。 着信メッセージが「ping」になったので、電報はメッセージ「pong」で応答します。
tgに行く
cd /home/pi/tg
そして書く:
bin/telegram-cli -k tg-server.pub -W -s action.lua
メッセージを送信してみてください。 すべてが正しい場合、Telegramは「ping」(「PING」ではなく)のみに応答し、次のように表示されます。
さて、もっと面白いものを試してみましょう。
Raspberryカメラをインストールし( このチュートリアルを参照)、このカメラからの写真がデフォルトで保存される新しいフォルダーを作成します。
sudo mkdir /home/pi/camera
新しいcamera.chファイルを作成します
sudo nano /home/pi/camera/camera.sh
この詰め物で
#!/bin/bash raspistill -w 800 -h 600 -o /home/pi/camera/photo.jpg
保存して閉じ、アクションの許可を与える
sudo chmod -R 0655 /home/pi/camera/camera.sh
「action.lua」を編集します
sudo nano /home/pi/tg/action.lua
そして、これらの行をon_msg_receive関数に追加します。
if (msg.text=='photo') then os.execute('/home/pi/camera/camera.sh') send_photo (msg.from.print_name, '/home/pi/camera/photo.jpg', ok_cb, false) end
ステップ2:テスト
bin/telegram-cli -k tg-server.pub -W -s action.lua
メッセージで「写真」という単語を送信すると、Raspberryは写真で応答します。
追加のコマンドを指定するには、新しい「if」ブロックを追加して「action.lua」ファイルを変更するだけです。 たとえば、スイッチをアクティブにしたり、アラームステータスを要求したりできます。