Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
telegram crash

Telegram crash
#1
Ciao,
ho implementato il codice che segue ricopiandolo dalla rete per creare dei pulsanti in telegram ed alla pressione eseguire un determinato comando. Il codice viene eseguito per N tempo così come i comandi, ad un certo punto senza un motivo apparente il tutto si blocca e cioè il dispositivo funziona ed è raggiungibile dalla rete, il processo risulta attivo ma il programma non funziona.
Questo succede su 3 RB diversi di cui 2 W0 ed un Pi3 e con programmi diversi che hanno in comune solo la creazione e la gestione dei pulsanti, qualche idea ?
Grazie 

[ code ] 
import subprocess

from telepot.loop import MessageLoop

from telepot.namedtuple import InlineKeyboardMarkup, InlineKeyboardButton

from signal import pause



bot = telepot.Bot('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

chat_id = 'xxxxxxxxxx'



def on_chat_message(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    keyboard = InlineKeyboardMarkup(inline_keyboard=[
                   [InlineKeyboardButton(text='STATO', callback_data='stato'),
                   InlineKeyboardButton(text='FOTO', callback_data='foto')],
                   [InlineKeyboardButton(text='SONORO', callback_data='sonoro'),
                   InlineKeyboardButton(text='SILENZIOSO', callback_data='silenzioso')],
                   [InlineKeyboardButton(text='ALLARME', callback_data='allarme')],
                   [InlineKeyboardButton(text='ATTIVO', callback_data='attivo'),
                   InlineKeyboardButton(text='STANDBY', callback_data='standby')],
                   [InlineKeyboardButton(text='RIAVVIA', callback_data='riavvia'),
                   ])
    bot.sendMessage(chat_id, 'Comandi disponibili', reply_markup=keyboard)

def on_callback_query(msg):
   query_id, chat_id, query_data = telepot.glance(msg, flavor='callback_query')
   global flag
   global prog

   if query_data == 'stato':
       if flag == 1 and prog == 1:
          bot.sendMessage(chat_id,"Attivo con Sirena")
       elif flag == 0 and prog == 1:
          bot.sendMessage(chat_id,"Attivo senza Sirena")
       else:
          bot.sendMessage(chat_id,"Standby")
   elif query_data == 'foto':
       telefoto()
   elif query_data == 'allarme':
        rele13.on()                              # attiva la sirena per 5 minuti
        time.sleep(300)
        rele13.off()
   elif query_data == 'attivo':
       prog = 1
       bot.sendMessage(chat_id,"Rivelatore attivo!")
   elif query_data == 'standby':
       prog = 0
       bot.sendMessage(chat_id,"Rivelatore in standby")
   elif query_data == 'riavvia':
       bot.sendMessage(chat_id,"Riavvio...")
       bashCommand = 'sudo reboot'
       subprocess.check_output(bashCommand, shell=True)
   elif query_data == 'sonoro':
       flag = 1
       bot.sendMessage(chat_id,"Sirena attiva")



MessageLoop(bot, {'chat': on_chat_message, 'callback_query': on_callback_query}).run_as_thread();



while 1:
    time.sleep(1)

[ /code] 

PS: sono state eliminate alcune righe di codice per comodità, lo script non ha errori e va avanti tranquillamente anche per giorni, poi si blocca
Risposta
#2
ciao.
guarda, che io sappia, telepot è instabile per questi usi.
ci ho giocato un po' anche io e random rimaneva "impallato" senza segni di vita nonostante fosse attivo il processo.

alla fine ho mollato.
magari esiste qualche altra soluzione per parlare raspy-telegram, sinceramente non ho mai cercato.



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#3
(26/01/2018, 21:23)Painbrain Ha scritto: ciao.
guarda, che io sappia, telepot è instabile per questi usi.
ci ho giocato un po' anche io e random rimaneva "impallato" senza segni di vita nonostante fosse attivo il processo.

alla fine ho mollato.
magari esiste qualche altra soluzione per parlare raspy-telegram, sinceramente non ho mai cercato.

Bene, mi fa piacere che qualcun'altro ha avuto i miei stessi problemi così me ne faccio subito una ragione  Big Grin

A questo punto mi conviene approfondire il protocollo MQTT con il quale sto già trasferendo informazioni tra i dispositivi e tra loro ed il cellulare, sembra funzioni bene.
Comunque il telepot senza tastiera ma con comandi in formato testo non da mai nessun problema.

Grazie
M.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect