Jeśli jesteś użytkownikiem smartfona, na pewno wiesz, że jedną z najbardziej podobnych i znanych aplikacji WhatsApp jest Telegram, bardzo wszechstronny klient do przesyłania wiadomości który przedstawia kilka osobliwości, takich jak możliwość jednoczesnego korzystania z tego samego numeru telefonu z różnych urządzeń. Właśnie dzięki tej funkcji dzisiaj chcę Wam zaprezentować mały tutorial, dzięki któremu z Raspberry Pi możesz wysyłać do swoich kontaktów wiadomości tekstowe, a nawet pliki multimedialne.
Równie ciekawie lub bardziej interesujące jest to, że możemy skonfigurować nasze Raspberry Pi tak, aby przed otrzymaniem określonej komendy przez Telegram nasza karta mogła wykonać trochę dodatkowa wydajnośćczyli wyobraźmy sobie, że wysyłamy słowo «foto»A to daje nam obraz dowolnego pomieszczenia w domu«światło»Aby automatycznie włączyć dowolne światło lub«otwórz się»Automatyczne otwieranie bramy garażowej.
Z pewnością ta dodatkowa funkcjonalność przykuła Twoją uwagę. Jeśli tak, zabieramy się do pracy, ale nie wcześniej niż powiemy, że do realizacji projektu będziemy potrzebować Raspberry Pi B lub Raspberry Pi B +, a także karty microSD 8 GB Class 10 z preinstalowana najnowsza wersja Raspbian.
Gdy mamy już wszystkie powyższe, zaczynamy i od a terminal Zaczynamy od aktualizacji i podstawowej konfiguracji. Na pewno będzie wielu użytkowników, którzy tego nie potrzebują, ale lepiej wszystko robić krok po kroku i w dobrym tempie, aby niczego nie pomijać. Zaczynamy od uruchomienia i aktualizacji pakietów za pomocą:
sudo apt-get update
sudo apt-get upgrade
Kontynuujemy instalację i aktualizację kilku podstawowych bibliotek, w których system znajdzie wszystkie potrzebne biblioteki
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 li-blua5.2-dev libevent-dev make
Przesunięcie repozytorium GitHub
git clone --recursive https://github.com/vysheng/td.git && cd tg
./configure
make
Po zainstalowaniu wszystkiego nadszedł czas, aby skonfigurować Lua, potężny i szybki język skryptowy. Składnia jest bardzo prosta, w naszym Terminalu wykonujemy:
sudo nano /home/pi/tg/action.lua
i dodajemy następującą treść:
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
Mając powyższe na uwadze, mielibyśmy praktycznie wszystko skonfigurowane tak, aby wysyłając tekst «świst»To powróci«ponga".
Przechodzimy do katalogu tg
cd /home/pi/tg
Realizujemy następujące zamówienie
bin/telegram-cli -k tg-server.pub -W -s action.lua
Nadszedł czas, aby rozpocząć testy i przesłać nasze «świst»Do Telegrama, zaraz potem i jak widać na obrazku, odpowiedź jest oczekiwana«ponga«. Musimy wziąć pod uwagę, czy używamy wielkich liter, czy nie, ponieważ system jest wrażliwy na ich użycie.
Jeśli chcemy, aby zamiast "ponga" nasz Raspberry Pi zwrócił obraz, w funkcji, w której wysyłamy odpowiedź, musielibyśmy tylko powiedz systemowi, aby zrobił zdjęcie używając wcześniej zainstalowanej kamery i wyślij ją do nas.
Link: Instructables
Widząc możliwości tego, przyszło mi do głowy, że być może byłoby miło móc bezpiecznie wysłać dowolną komendę do mojej maliny (lub na dowolny serwer linuksowy) z telegramu i uzyskać wynik. Nawet twórz aliasy poleceń, aby uniknąć konieczności pisania zbyt dużo, zarządzaj użytkownikami, którzy mogą robić to samo na tym samym komputerze, aby nikt nie mógł robić tego, co chce ... itd.
Zacząłem to robić i dziś opublikowałem „Posłuszeństwo”.
Jeśli ktoś chce się bawić i spróbować, nie krępuj się
https://github.com/GuillermoPena/obedience
Cześć Guillermo,
Nie miałem zbyt wiele czasu na przeglądanie wszystkiego, ale muszę powiedzieć, że wygląda to bardzo dobrze. Jeśli będę miał czas w ten weekend, spróbuję wszystkiego, żeby zobaczyć, jak to działa.
Bardzo dziękuję za Waszą pracę !!!
Witam, świetny post, bardzo mi się podobało! Chcę tylko wiedzieć, czy istnieje sposób na automatyczne uruchomienie skryptu .lua przy starcie, pozdrowienia!