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
sensori web semplice interfaccia i cloud ed altro per

[Guida] Interfaccia Web Cloud semplice per i sensori ed altro
#21
ho riprovato e non sono riuscito ad istallare google drive su raspberry. Forse la strada è sbagliata. Potrei provare con ftp per depositare il file della foto su un indirizzo web e poi indicare l'URL su freeboard. C'è qualche guida che potreste suggerirmi per questo.

Grazie saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#22
mi sono bloccato provo ad aprire una discussione ad hoc
With a little/big help from my friends Rolleyes
Risposta
#23
Discussione ad hoc qui http://forum.raspberryitaly.com/showthre...55#pid9855



RISOLTO Smile



Guida completa qui http://forum.raspberryitaly.com/showthread.php?tid=1859
With a little/big help from my friends Rolleyes
Risposta
#24
Salve a tutti,

Allora, sistemata la faccenda dell'immagine: ho indicato su freeboard l'indirizzo dell'immagine che invia la raspicam su web e il refresh (10 min) e funziona.

Ora vorrei passare ai sensori.

Avrei 2 obiettivi:

1) pubblicazione dei dati che rilevano i sensori sulla stessa pagina dell'immagine di Freeboard in modo che si possano vedere in tempo reale.
2) Conservare dati rilevati da qualche parte (in locale o su cloud scaricabili) in modo da poterli consultare e studiare in seguito.

A questo scopo ho montato un paio di sensori:
1) DHT22 per il rilievo dell'umidità ambientale e della temperatura
2) DS18B20 sensore di sola temperatura (versione cablata waterproof).
Ho seguito le istruzioni e scaricato il software da Adafruit per entrambi e li ho testati. Tutto Ok, funzionano.

Per il DHT22 per rilevare i dati, da terminale devo lanciare un file .py indicando alcuni parametri nel comando (il tipo di sensore e il pin dati). Il terminale visualizza il valore della temperatura e dell'umidità relativa.

Per il DS18B20 ho istallato le librerie e compilato un file .py lanciando il quale dal terminale si visualizzano, sempre su terminale le temperatura in °C. o °F. ad intervalli di rilevo che indichiamo
nel file .py

Prima di installare dweepy vorrei capire alcune cose:

1) sono sufficienti queste istallazioni per pubblicare su freeboard?
2) con freeboard sarò in grado, oltre alla pubblicazione, di conservare i dati per poterli visionare, scaricare in seguito?

Grazie per l'attenzione

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#25
1) sono sufficienti queste istallazioni per pubblicare su freeboard? si, su freeboard accetta qualsiasi dato testuale.

2) con freeboard sarò in grado, oltre alla pubblicazione, di conservare i dati per poterli visionare, scaricare in seguito?
No. Freeboard è solo un "lettore in tempo reale" lui legge da altri siti, nel caso della guida Dweet
[Immagine: 2j31p8p.png]
Prova a studiare PubNub, io non ne ho avuto il tempo, ma sono convinto faccia al caso tuo.
come sempre trovi la libreria bella e pronta per python.
in sostanza mandi i dati a pubnub e dici a freeboard di leggerli quando aprirai la dashboard freeboard.
https://www.pubnub.com/docs/python/pubnub-python-sdk
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#26
Ok, una volta risolto il problema delle immagini su freeboard inizio con i sensori

ho provato a seguire questa guida per il sensore di temperatura DS18B20 già testato e funzionante:
1) ho installato la libreria dweepy con il comando sudo easy_install dweepy
2) Ho editato il file dweepy.py col comando nano dweepy.py
3) gli ho incollato dentro i seguenti comandi: import dweepy
dweepy.dweet_for('TemperaturaSuolo', {'DS18B20': '18.5'})
Siccome non ho capito come si faccia a prendere il valore del sensore allora ho inserito nelle script un valore casuale di temperatura: 18.5.
4) ho dato i permessi con il seguente comando: chmod +x dweepy.py
5) ho lanciato il file col seguente comando sudo python2 dweepy.py
6) la risposta è stata la seguente: Traceback (most recent call last):
File "dweepy.py", line 1, in <module>
import dweepy
File "/home/pi/dweepy.py", line 2, in <module>
dweepy.dweet_for('temperaturaSuolo', {'DS18B20': '18.5'})
AttributeError: 'module' object has no attribute 'dweet_for'
a) sembra esserci un errore di sintassi nello script dweepy.py che ho scritto: qual è?
b) Non penso che abbia fatto bene a mettere manualmente il valore 18.5 rilevato dal sensore nello script. come devo fare a fare prendere automaticamente il valore rilevato?

Grazie

LaPa
With a little/big help from my friends Rolleyes
Risposta
#27
Ma hai prima installato la libreria dweepy che stai cercando di importare?
Da terminale
Codice:
pip install dweepy
Risposta
#28
(21/01/2017, 10:09)Zzed Ha scritto: Ma hai prima installato la libreria dweepy che stai cercando di importare?
Da terminale
Codice:
pip install dweepy




Penso di averlo istallato con il comando

Codice:
sudo easy_install dweepy

Però ho seguito ugualmente il tuo consiglio e ho dato il comando

Codice:
pip install dweepy

quando do il comando


Codice:
sudo python2 dweepy.py

il terminale risponde

Traceback (most recent call last):
File "dweepy.py", line 1, in <module>
import dweepy
File "/home/pi/dweepy.py", line 2, in <module>
dweepy.dweet_for('temperaturaSuolo', {'DS18B20': '18'})
AttributeError: 'module' object has no attribute 'dweet_for'
With a little/big help from my friends Rolleyes
Risposta
#29
Dice che dweet_for non esiste nella libreria. Altro non so, non la conosco.
Risposta
#30
allora, sono andato un po' avanti ma non sono ancora giunto all'obiettivo.

Ho capito diverse cosette in più grazie all'aiuto dell'autore:

Nella maggior parte dei casi quando si utilizza un sensore c'è uno script di Python per gestirlo e fornire l'output del sensore.

quello che non avevo capito è che il comando:

import dweepy
dweepy.dweet_for('NomeCasualeSceltoDaTe', {'NomeSensore': 'ValoreSensore'})

deve essere inserito nello script di cui sopra.

Io sto provando con il sensore temperatura   DS18B20 e ho modificato il relativo file .py

poi ho seguito le istruzioni dell'autore

Entra in Freeboard , crea una nuova Dashboard col nome che preferisci
Sotto "DataSource" premi ADD -> Dweet.io -> Name: QuellocheVuoi -> ThingName: ilNomeCasualeSceltoPrima -> Save
Premi "ADD PANE" -> + -> Scegli cio che ti serve (es. TEXT) -> Datasource: scegli il valore che ti serve -> Save

il risultato è il seguente https://freeboard.io/board/NoToty

Però in pratica se a "Valore sensore" sostituisco un numero allora viene riportato correttamente su freeboard, se inserisco quella che secondo me è la variabile, non visualizzo il valore. Probabilmente non ho capito nello script cosa sostituire a "Valore Sensore"

riporto di seguito lo script e i miei tentativi.

----------Script--------------

Codice:
import os
import glob
import time


os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28-0315620274ff')[0]
device_file = device_folder + '/w1_slave'

def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines

def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
return temp_c

import dweepy
dweepy.dweet_for('TemperaturaSuolo', {'DS18B20': '20.85'})

#il problema: non ho capito la variabile da inserire al posto di 20.85


while True:
print(read_temp())

---------Fine Script---------


ma se inserisco un valore numerico al posto della variabile su freeboard lo vedo, altrimenti no.

Ho provato ad inserire varie cose al posto di 20.85 :

1) temp_c
2) read_temp()
3) print(read_temp())
4) float(temp_string) / 1000.0
5) temp_c = float(temp_string) / 1000.0

ognuno di questi di questi tentativi l'ho fatto con $ davanti o meno.


Mi sapreste dare una mano?

Grazie in anticipo

Buona serata

LaPa
With a little/big help from my friends Rolleyes
Risposta
  


Vai al forum:


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