Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Domotic App - Scheda elettronica

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[11] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentepierinter » 1 feb 2012, 0:38

Niente, ho provato ad eseguire quei comandi ma nela shell in cui sta andando il server, qualsiasi cosa scrivo, non fa niente!

Comunque, esperienze con Linux direi zero, uso il MacBook e mi trovo bene, è quasi tutto uguale ad Unix e praticamente ogni cosa per linux va bene anche qui.

Si,quello che pensavo era di fare una scheda che comunicasse sul server avviato sul computer!
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[12] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentesimo85 » 1 feb 2012, 1:10

Se il server lo hai scritto interamente tu da zero, allora mi sembra di capire che va in deadlock e quello che mi sembra ancora più strano è che tu non riesca ad uccidere il processo..
kill, ps, top e compagnia non sono presenti sul tuo sistema?
Suppongo che sulla scheda monterai un microcontrollore, quindi la prima cosa che mi viene in mente è una comunicazione seriale con la EUSART. Puoi anche usare un microcontrollore che abbia il supporto ethernet ma con quest'ultima non ho ancora avuto l'occasione di metterci mano, più avanti...
pierinter ha scritto:però in un secondo momento vorrei caricarlo su un qualcosa che rimanga sempre attivo

Se spegni il server il client non fa più niente, non si può comunicare.
quello che più mi preme e COME realizzare una schedina che si connetta al mio server

Dipende da come vuoi che sia stabilita la comunicazione.
Telefono >> Computer (server) >> Scheda.
In questo caso il telefono e la scheda sono i due client.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[13] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentepierinter » 1 feb 2012, 1:15

si quei comandi funzionano, ci sono.
Devo però aprire un'altra finestra della shell perché da quella in cui sta andando il server qualsiasi comando digito non funziona.
Ricevo solo i comandi dall'iPhone.
con il comando top e ps vedo i processi attivi, come faccio a sapere quale è quello del server ?
come lo chiudo?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[14] Re: Domotic App - Scheda elettronica

Messaggioda Foto UtenteAjKDAP » 1 feb 2012, 1:31

nella gestione server lato PC avrai un loop che riceve i dati e visualizza le informazioni nella shell caso per caso.

Molto probabilmente basta modificare il codice che dici di aver scritto tu.

perché riavviare la macchina o chiudere forzatamente l'applicazione? Non ha senso...

perché non posti il codice sorgente? ;-)
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

0
voti

[15] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentesimo85 » 1 feb 2012, 1:33

pierinter ha scritto:si quei comandi funzionano, ci sono.

Bene.
Devo però aprire un'altra finestra della shell perché da quella in cui sta andando il server qualsiasi comando digito non funziona.

Non capisco. Non puoi aprire più finestre di terminale? Se lanci il server da terminale seguito da una & non si apre in un'altra finestra? Esempio
Codice: Seleziona tutto
python_server &

come faccio a sapere quale è quello del server?come lo chiudo?

Come scritto in [10] e riconfermando con
man top
"'k' :Kill_a_task
You will be prompted for a PID and then the signal to send. The default signal, as reflected in the prompt, is SIGTERM. However, you can send any signal, via number or name.

If you wish to abort the kill process, do one of the following depending on your progress: 1) at the pid prompt, just press <Enter> 2) at the signal prompt, type 0
"
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[16] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentepierinter » 1 feb 2012, 1:38

gohan ha scritto:Non capisco. Non puoi aprire più finestre di terminale?


Si si posso tranquillamente aprire più finestre del terminale.
scrivo top e vengono fuori tutti i processi.
poi scrivo in un'altra finestra del terminale sudo kill <PID> ma non succede nulla.

AjKDAP ha scritto:perché non posti il codice sorgente? ;-)


Certo, ora lo posto.
Purtroppo non conoscendo python ho dovuto arrangiarmi in base a cose che ho trovato un po' qui un po' li

Comunque ecco qui :
------------------------------------------------------------------------------------------------------------------------

Codice: Seleziona tutto
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor


class IphoneChat(Protocol):
   def connectionMade(self):
      #self.transport.write("""connected""")
      self.factory.clients.append(self)
        #print "clients are ", self.factory.clients
   
   def connectionLost(self, reason):
       self.factory.clients.remove(self)
   
   def dataReceived(self, data):
       #print "data is ", data
      a = data.split(':')
      if len(a) > 1:
         command = a[0]
         content = a[1]
         
         messaggio = ""
         if command == "iam":
            self.name = content
            messaggio = self.name + " si e' connesso"
            
         elif command == "cmd":
            messaggio = self.name + " --> " + content
         
         print messaggio
                  
         for c in self.factory.clients:
            c.message(messaggio)
            
   def message(self, message):
      self.transport.write(message + '\n')


factory = Factory()
factory.protocol = IphoneChat
factory.clients = []

reactor.listenTCP(80, factory)
print "Iphone Chat server started"
reactor.run()
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[17] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentesimo85 » 1 feb 2012, 1:47

pierinter ha scritto:poi scrivo in un'altra finestra del terminale sudo kill <PID> ma non succede nulla.

Hai scritto
Codice: Seleziona tutto
sudo kill <PID>

°#^ °#^ °#^ :mrgreen:
PID sta per Process Identifier, e nell'output di top è il numero sulla colonna di destra (PID). Se ad esempio il PID è 80875 scrivi
Codice: Seleziona tutto
sudo kill 80875

o usando top come spiegato prima..
Solitamente il nome del processo è lo stesso del programma.
Non conosco il python. Come si chiama il sistema operativo che stai usando?
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[18] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentepierinter » 1 feb 2012, 1:51

ahahah si gohan , fin lì ci ero arrivato :D
PID l'ho sostituito con il numero :-P

Dai scemo si ma non fino a questo punto :D

il sistema è Mac OS X versione 10.7.2
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[19] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentesimo85 » 1 feb 2012, 2:01

OK scusa, in ogni caso Foto Utentepierinter non volevo darti dello scemo o per lo meno non era mia intenzione :-)
pierinter ha scritto:il sistema è Mac OS X versione 10.7.2

Sbaglio o il sistema operativo usa la API POSIX?

Come ti ho proposto prima, se vuoi, il server lo puoi scrivere in C.
In tal caso comincia a leggere qui e a farti un giretto qui.
Se ti interessa proseguire con questa strada, visto che se non erro già programmi in C, sono disposto a trovarti link interessanti.

Infine, in base ai comandi che ricevi invii i dati al microcontrollore in seriale. La cosa è più che fattibile dal mio punto di vista, ma con il server acceso.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[20] Re: Domotic App - Scheda elettronica

Messaggioda Foto Utentepierinter » 1 feb 2012, 2:13

Se si può fare un server in c sicuramente lo preferisco a Python che non so!

In C sono un mostro ! :D ahah no, però dai almeno il C lo so usare.
Se c'è questa possibilità la coglierei al volo!

Sull' API POSIX in realtà non so davvero dirti, mi vergogno un po' a dirti che non so nemmeno cosa sia :)
Domani vedo se riesco a risolvere con un mio amico questa cosa di stoppare il server, che non mi riesce in alcun modo.

Per quanto riguarda la scheda, si, l'obiettivo è quello.
Con però la differenza che non vorrei usare la connessione seriale.
Quello che voglio per questo progetto è la totale assenza di collegamenti, quindi tutto in wireless.
Anche perché se no non avrei bisogno di collegare la scheda a nessun server e sarebbe tutto abbastanza semplice con la comunicazione seriale.
Quello che voglio invece è collegare la scheda al server di modo che telefono e scheda siano i due client.

Quindi : telefono invia comandi attraverso delle parole chiave, il server li riceve , li controlla per verificare che siano comandi validi, e li invia alla scheda.
La scheda dovrà quindi essere connessa e in grado di ricevere questi comandi.
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 102 ospiti