Ако сте потребител на смартфон, със сигурност ще знаете, че едно от най-сходните и известни приложения на WhatsApp е Telegram, много гъвкав клиент за съобщения което представя няколко особености, като например възможността за едновременно използване на един и същ телефонен номер от различни устройства. Благодарение именно на тази функция, днес искам да ви представя малък урок, с който можете да изпращате текстови съобщения и дори мултимедийни файлове на вашите контакти от Raspberry Pi.
Колкото повече или по-интересен е фактът, че можем да конфигурираме своя Raspberry Pi, така че преди определена команда, получена от Telegram, нашата карта да може да упражнява някои допълнително представяне, тоест, нека си представим, че изпращаме думата «Foto»И това ни дава представа за всяка стая в къщата,«светлина»За автоматично включване на всяка светлина или«отвори се»За автоматично отваряне на гаражната врата.
Със сигурност тази допълнителна функционалност привлече вниманието ви. Ако е така, започваме да работим, но не преди да ви кажем, че ще ни трябва Raspberry Pi B или Raspberry Pi B +, за да изпълним проекта, както и 8 GB microSD карта клас 10 с най-новата версия на предварително инсталирана Raspbian.
След като имаме всичко по-горе, започваме и от терминал Започваме с актуализацията и основната конфигурация. Със сигурност ще има много потребители, които не се нуждаят от това, но по-добре направете всичко стъпка по стъпка и с добро темпо, за да не пропуснете нищо. Започваме с изпълнение и актуализиране на пакетите с:
sudo apt-get update
sudo apt-get upgrade
Продължаваме с инсталирането и актуализирането на няколко основни библиотеки, където системата ще намери всички библиотеки, от които се нуждаем
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 li-blua5.2-dev libevent-dev make
Изместване на хранилището GitHub
git clone --recursive https://github.com/vysheng/td.git && cd tg
./configure
make
След като инсталираме всичко, е време да конфигурираме 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
С горното бихме имали практически всичко конфигурирано така, че когато изпращаме текста «пинг»Това ще се върне«понг".
Преминаваме към директорията tg
cd /home/pi/tg
Изпълняваме следната поръчка
bin/telegram-cli -k tg-server.pub -W -s action.lua
Сега е моментът да започнете да тествате и да изпратите нашите «пинг»На Telegram, веднага след това и както можете да видите на изображението, отговорът е наш очакван«понг«. Трябва да вземем предвид дали използваме главни букви или не, тъй като системата е чувствителна към нейното използване.
Ако това, което искаме, е, че вместо „понг“, нашата Raspberry Pi връща изображение, във функцията, където изпращаме отговора, ще трябва само да кажете на системата да направи снимка използвайки предварително инсталирана камера и ни я изпратете.
Линк: инструкции
Виждайки възможностите за това, ми хрумна, че може би би било хубаво да мога да изпратя безопасно всяка команда до моята малина (или към който и да е Linux сървър) от телеграма и да получа изхода. Дори създавайте командни псевдоними, за да не се налага да пишете твърде много, да управлявате потребители, които могат да правят същото на една и съща машина, така че всеки да не може да прави това, което иска ... и т.н.
Започнах да го правя и днес публикувах „Послушание“.
Ако някой иска да се забърка и да опита, давай
https://github.com/GuillermoPena/obedience
Здравейте Гилермо,
Нямах много време да прегледам всичко, но трябва да ви кажа, че изглежда много добре. Ако имам време този уикенд, ще опитам всичко, за да видя как работи.
Благодаря ви много за работата !!!
Здравейте, отличен пост, харесах го! Просто искам да знам дали има начин да стартирам автоматично скрипта .lua при стартиране, поздрави!