Show Posts
Pages: 1 2 3 [4] 5 6 ... 64
46  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 10, 2013, 03:18:43 pm
ok provando un poì più o meno ho capito come funzionano le chiamate http, anche se resta questo grande problema legato alla criptazione SSL..
Ora vorrei capire come funziona la creazione di una pagina web, ho visto l'esempio WebServer dove viene caricata una pagina html che è accessibile attraverso l'indirizzo ip.. Penso però che questo non sia accessibile al di fuori della LAN, sbaglio? Ho letto in altre discussioni approposito dell'ip pubblico, potrei usare quello, no? non ho idea di come funzioni quindi probabilmente mi sto sbagliando... Cos'altro potrei fare in questo senso? se volessi farlo comunicare con un mio sito devo comunque usare le chiamate http, no?
grazie
47  International / Software / Re: Problema pulseIn on: July 07, 2013, 10:09:22 am
non ho capito la storia del mezzo secondo, prima erano 5 secondi ed andava all'incontrario, no? cosa fa il programma che ti ho dato io? cosa non va bene in quel programma? (mi sono accorto che c'era un LOW al posto di un HIGH, facendo copia incolla mi era scappato.. nel codice sotto ho risolto)

passando al tuo codice si capisce poco e secondo me non hai capito bene come funziona millis(), salvando il valore restituito da millis() su una variabile salvi su quella variabile il numero di millisecondi che sono passati dall'accensione del microcontrollore.. quindi per verificare che siano passati, per esempio, 500ms devi salvarti il valore di millis() in una variabile che sarà il riferimento di partenza, e poi andare a verificare che millis() - riferimentoPartenza sia maggiore o uguale a 500ms... ok?

poi non capisco perchè salvi gli stati dei pin su delle variabili, così facendo rischi di andare a fare i conti con delle variabili "vecchie", prendi esempio da come ho fatto io nel mio codice di prima..

per fare quello che hai detto adesso io procederei col sistemare il codice di prima:
Quote
const int Pulsantepin1 = 2;
const int Pulsantepin2 = 3;
const int Utilizzatorepin1 = 4;
const int Utilizzatorepin2 = 5;

void setup ()
{
  Serial.begin(9600);
  pinMode (Pulsantepin1, INPUT);
  pinMode (Pulsantepin2, INPUT);
  pinMode (Utilizzatorepin1, OUTPUT);
  pinMode (Utilizzatorepin2, OUTPUT);
}  

void loop ()
{
  if (digitalRead (Pulsantepin1) == HIGH) //verifico se il pulsante è stato premuto
  {
    unsigned long inizioPressione=millis(); // salvo il valore di millis() nel momento iniziale
    delay(20); //aspetto 20ms (puoi mettere anche di più se vuoi) per evitare il rimbalzo del tasto

    while(digitalRead (Pulsantepin1) == HIGH) //finchè il pulsante è premuto fai questo:
    {
      digitalWrite (Utilizzatorepin1, HIGH); //metto a livello alto Utilizzatorepin1
    }

    if(millis()-inizioPressione>=500) //se il pulsante è stato premuto per più di 500ms spegni
    {
      digitalWrite (Utilizzatorepin1, LOW); 
    } 
    else // se no tienilo acceso
    {
      digitalWrite (Utilizzatorepin1, HIGH); 
    }
  }
}

48  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 07, 2013, 08:52:52 am
Ahn ok quindi è lo stesso problema delle API.. Bisognerebbe usare un supporto esterno, come per esempio viene fatto nella libreria Twitter che si appoggia su un altro server.. No? Altre soluzioni possibili?
49  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 07, 2013, 08:06:07 am
E quindi come si fa a leggere delle pagine in https?
50  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 06, 2013, 06:04:44 pm
facendo delle prove ho scoperto che risponde mettendo solo una opzione nella stringa degli User-Agent
la risposta che ottengo è quella che ottieni anche te, ma se scrivo HTTPS mi da l'errore 400 bad request

al momento il mio codice è così:
Quote
    client.println("GET /vicenza.thunders HTTPS/1.0");
    client.println("Host: www.facebook.com");
    client.println("User-Agent: Mozilla/5.0");
    client.print("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/");client.println("*;q=0.8");
    client.println("Accept-Language: en-US,en;q=0.8");
    client.println("Accept-Encoding: gzip,deflate,sdch");
    client.println("Connection: keep-alive");
    client.println();

51  International / Software / Re: errore al caricamento dello sketch on: July 06, 2013, 08:57:15 am
hai selezionato la board giusta?
52  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 06, 2013, 08:55:33 am
ancora niente smiley-sad-blue
53  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 06, 2013, 07:27:08 am
sto provando così:
Quote
  if (client.connect(server, 80)) {
    Serial.println("connected to server");

    client.println("GET /vicenza.thunders HTTP/1.0");
    client.println("Host: www.facebook.com");
    client.println("User-Agent: Mozilla/5.0  (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36");
    client.print("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/"); client.println("*;q=0.8");
    client.println("Accept-Language: en-US,en;q=0.8");
    client.println("Accept-Encoding: gzip,deflate,sdch");
    
    client.println("Connection: close");
    client.println();
  }


ma non ricevo risposta, cosa sto sbagliando?  smiley-roll-blue
54  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 05, 2013, 07:05:54 pm
scusa l'ulteriore domanda, ma le mie conoscienze in questo campo sono molto limitate, come faccio a cambiare l'header?
55  International / Software / Re: RTC come aggiustare la data da un telecomando on: July 05, 2013, 05:25:49 pm
interessante! grazie! smiley-wink
56  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 05, 2013, 05:02:58 pm
sto notando che su buona parte dei social network questo metodo non funziona, su instagram e twitter mi viene l'errore "301 Moved Permanently" e su facebook quello che ho scritto prima... non so se sbaglio io qualcosa, magari il nome del server smiley-roll-blue o se effettivamente non posso accedere a quelle pagine, il fatto che sono in HTTPS comporta che non posso accedervi?
con youtube che non è in HTTPS va, ma anche instagram non è HTTPS eppure non ci entro...

mi sa che mi tocca fare come si fa con la libreria twitter, cioè abilitare una applicazione sul mio twitter ed ottenere un token e con quello si possono fare un po' di cose.. visto che le api sono inacessibili usando solo arduino per via dell'HTTPS
57  Maker Faire Rome - The European Edition / Makers / Re: Closed, selecting 200 from 320 on: July 05, 2013, 04:27:44 pm
oh ok i see
58  International / Software / Re: RTC come aggiustare la data da un telecomando on: July 05, 2013, 04:20:19 pm
@ER:
è come ha detto nid69.
Il compilatore gira su un computer, nel momento in cui compila il codice e vede __DATE__ e __TIME__, non fa altro che prendere la data e l'ora di quell'istante e metterle nel codice. Ma è un istante congelato, nel senso che tutte le volte che dai alimentazione al circuito e l'RTC ha perso l'orario, verrà ripristinato l'orario della compilazione.
Succede che se compili ora alle 20:28 del 5/05/2013 e poi usi il circuito tra 10 anni, nel momento in cui darai l'alimentazione, vedrai l'orologio partire con un orario vecchio di 10 anni  smiley-wink
E' un sistema che viene usato per dare almeno un punto di partenza all'orologio.
si ok ho capito, grazie per le spiegazioni smiley ci sono anche altre variabili del genere che si possono usare in fase di compilazione?
59  International / Software / Re: Domande da principiante per iniziare ad usare WiFi/Ethernet shield on: July 05, 2013, 12:34:21 pm
ok provando con facebook questo codice:
Code:
#include <SPI.h>
#include <WiFi.h>

char ssid[] = "Alice-54464281";
char pass[] = "xxxxxxx";
int keyIndex = 0;          

int status = WL_IDLE_STATUS;

char server[] = "www.facebook.com";    // name address for Google (using DNS)

WiFiClient client;

void setup() {
  Serial.begin(9600);
  while(Serial.available()==0){}
  while (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    delay(1000);
  }
  
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
   status = WiFi.begin(ssid, pass);
     delay(10000);
  }
  Serial.println("Connected to wifi");
  printWifiStatus();
  
  Serial.println("\nStarting connection to server...");

  if (client.connect(server, 80)) {
    Serial.println("connected to server");

    client.println("GET /vicenza.thunders HTTP/1.0");
    client.println("Host: www.facebook.com");
    client.println("Connection: close");
    client.println();
  }
}

void loop() {
  while (client.available()) {
    char c = client.read();
    Serial.write(c);
    if(c=='>'|| c==';')
    Serial.println("");
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting from server.");
    client.stop();

    while(true);
  }
}


void printWifiStatus() {
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

mi risponde male dicendo che i P3P non sono supportati (non ho idea di cosa voglia dire  smiley-roll-blue )
Code:
Attempting to connect to SSID: Alice-54464281
Connected to wifi
SSID: Alice-54464281
IP Address: 192.168.1.14
signal strength (RSSI):-78 dBm

Starting connection to server...
connected to server
HTTP/1.0 302 Found
Location: http://www.facebook.com/unsupportedbrowser
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
X-Content-Type-Options: nosniff
Set-Cookie: datr=UQPXUWBwrmKBwA1VCCIkvGvm;
 expires=Sun, 05-Jul-2015 17:33:05 GMT;
 path=/;
 domain=.facebook.com;
 httponly
Content-Type: text/html;
 charset=utf-8
X-FB-Debug: M/qRpghwpXOBpepnxcIwKlRa7yDHHsP/u5/pu4HJtzY=
Date: Fri, 05 Jul 2013 17:33:05 GMT
Connection: close
Content-Length: 0


disconnecting from server.

quindi devo arrendermi a cercare di usare le api? smiley-roll-sweat

 [EDIT] Cancellato password dal sketch. Ciao Uwe[/EDIT]
60  International / Software / Re: RTC come aggiustare la data da un telecomando on: July 05, 2013, 11:25:29 am
Code:
RTC.adjust(DateTime(__DATE__, __TIME__));
__DATE__ e __TIME__ sono costanti predefinite che in fase di compilazione il compilatore sostituisce con l'attuale data e l'attuale orario del computer su cui stai facendo la compilazione.
beh se Leo dice così ha ragione lui, non so come faccia a prendere l'ora dal computer ma mi fido smiley-mr-green anzi mi studio come fa a farlo perchè è interessante smiley-wink

però penso che per modificare la data e l'ora una volta staccato dal computer la funzione che ti ho dato io vada bene, prova..

Leggi bene, non vorrei avessi inteso male. Sono valori costanti. Data e ora del preciso momento in cui compili. Se compili alle 13:10:23 del 05/07/2013  il compilatore sostituisce __DATE__ e __TIME__ con questi valori costanti. Anche se resetti Arduino.
sisi ho capito, è comunque una cosa utile che non sapevo smiley
Pages: 1 2 3 [4] 5 6 ... 64