Pages: [1] 2 3   Go Down
Author Topic: SmartStrip - Controllo prese elettriche da web  (Read 3309 times)
0 Members and 1 Guest are viewing this topic.
Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

volevo presentare a tutti il mio primo progetto. Si tratta essenzialmente della solita "ciabatta" di prese elettriche controllabili da interfaccia web, con l'aggiunta della possibilità di accenderle/spegnerle in dipendenza dalla temperatura. L'altra caratteristica che la rende diversa dalle altre è che dovrebbe supportare sia lo shield Ethernet ufficiale che quelli basati su ENC28J60.

Dovrebbe tornare utile agli appassionati di acquari e a chi fa birra in casa, come me smiley. In ogni caso, non mi ritengo responsabile di qualunque cosa succeda se la usate smiley-zipper.

Ho annunciato la prima release pubblica qua: http://arduino.cc/forum/index.php/topic,120299.0.html

Mi piacerebbe se qualcuno volesse collaborare, come beta tester o come programmatore, o in qualunque modo gli passi per la testa! smiley-mr-green. Dategli almeno un'occhiata, grazie!


ISTRUZIONI PER L'INSTALLAZIONE:

1. Aprite la vostra cartella degli sketch, dove ci sono le cartelle con tutti i vostri programmi. Createci dento, se ancora non esiste, una nuova cartella, chiamandola "libraries".

2. Installazione della libreria Sukkino:
Andate qua: https://github.com/SukkoPera/Sukkino
Cliccate su ZIP e dovreste scaricare un file tipo Sukkino-master.zip.
Aprite il file scaricato, dovreste trovarci una cartella con dentro 3 ulteriori cartelle: EEPROMAnything, Panic e Webbino. Copiate queste ultime dentro alla cartella "libraries" creata precedentemente.

3. Installazione della libreria Ethercard - NECESSARIO SOLO SE USATE UNO SHIELD CON CHIPSET ENC28J60 (ovvero non quello ufficiale, che usa il chip WIZ5100, in tal caso saltate direttamente al punto successivo)
Andate qua: https://github.com/jcw/ethercard/
Cliccate su ZIP e dovreste scaricare un file tipo ethercard-master.zip.
Aprite il file scaricato, dovreste trovarci una cartella: ethercard-master. Copiatela dentro alla cartella "libraries" creata precedentemente e rinominatela in "Ethercard".

4. CHECKPOINT - Se avete fatto tutto correttamente, a questo punto dentro alla cartella libraries dovreste avere 4 sottocartelle: EEPROMAnything, Ethercard, Panic e Webbino (3 se usate WIZ5100, mancherà Ethercard).

5. Abilitazione del supporto WIZ5100 - NECESSARIO SOLO SE USATE LO SHIELD ETHERNET UFFICIALE O COMUNQUE UNO BASATO SUL CHIPSET WIZ5100 (in caso contrario saltate direttamente al punto successivo)
Aprite col vostro editor preferito il file \libraries\Webbino\webbino_common.h, all'inizio troverete:

Code:
#define USE_ENC28J60

Cambiatelo in:

Code:
// #define USE_ENC28J60

Salvate e uscite.

6. Download dello sketch
Andate qua: https://github.com/SukkoPera/SmartStrip
Cliccate su ZIP e dovreste scaricare un file tipo SmartStrip-master.zip.
Aprite il file scaricato, dovreste trovarci una cartella: SmartStrip-master. Copiatela dentro alla cartella dei vostri sketch (questa volta NON in libraries) e rinominatela in "SmartStrip2".
A questo punto aprite l'IDE (io ho lavorato sulla versione 1.0.1) e procedete nomalmente al caricamento e compilazione dello sketch.
« Last Edit: November 27, 2012, 09:58:26 am by SukkoPera » Logged

Fidenza (PR)
Offline Offline
Full Member
***
Karma: 3
Posts: 143
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ancora disponibile l'offerta?
Logged

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Certamente!
Logged

Firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, ho provato a caricare lo sketch ma in fase di compilazione mi restituisce un sacco di errori, troppi.

secondo te è compatibile con un arduino uno con shield wiz5100?
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3263
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, ho provato a caricare lo sketch ma in fase di compilazione mi restituisce un sacco di errori, troppi.

secondo te è compatibile con un arduino uno con shield wiz5100?

Benvenuto

immagino tu abbia installato tutte le librerie che sono nello zip nell'IDE ... no?

Logged

no comment

Firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si, credo di si. ma la sezione :
      EEPROMAnything.write (EEPROM_MAC_B1_ADDR, DEFAULT_MAC_ADDRESS_B1);
      EEPROMAnything.write (EEPROM_MAC_B2_ADDR, DEFAULT_MAC_ADDRESS_B2);
      EEPROMAnything.write (EEPROM_MAC_B3_ADDR, DEFAULT_MAC_ADDRESS_B3);
      EEPROMAnything.write (EEPROM_MAC_B4_ADDR, DEFAULT_MAC_ADDRESS_B4);
      EEPROMAnything.write (EEPROM_MAC_B5_ADDR, DEFAULT_MAC_ADDRESS_B5);
      EEPROMAnything.write (EEPROM_MAC_B6_ADDR, DEFAULT_MAC_ADDRESS_B6);
      EEPROMAnything.write (EEPROM_NETMODE_ADDR, DEFAULT_NET_MODE);
      EEPROMAnything.write (EEPROM_IP_B1_ADDR, DEFAULT_IP_ADDRESS_B1);
      EEPROMAnything.write (EEPROM_IP_B2_ADDR, DEFAULT_IP_ADDRESS_B2);
      EEPROMAnything.write (EEPROM_IP_B3_ADDR, DEFAULT_IP_ADDRESS_B3);
      EEPROMAnything.write (EEPROM_IP_B4_ADDR, DEFAULT_IP_ADDRESS_B4);
      EEPROMAnything.write (EEPROM_NETMASK_B1_ADDR, DEFAULT_NETMASK_B1);
      EEPROMAnything.write (EEPROM_NETMASK_B2_ADDR, DEFAULT_NETMASK_B2);
      EEPROMAnything.write (EEPROM_NETMASK_B3_ADDR, DEFAULT_NETMASK_B3);
      EEPROMAnything.write (EEPROM_NETMASK_B4_ADDR, DEFAULT_NETMASK_B4);
      EEPROMAnything.write (EEPROM_GATEWAY_B1_ADDR, DEFAULT_GATEWAY_ADDRESS_B1);
      EEPROMAnything.write (EEPROM_GATEWAY_B2_ADDR, DEFAULT_GATEWAY_ADDRESS_B2);
      EEPROMAnything.write (EEPROM_GATEWAY_B3_ADDR, DEFAULT_GATEWAY_ADDRESS_B3);
      EEPROMAnything.write (EEPROM_GATEWAY_B4_ADDR, DEFAULT_GATEWAY_ADDRESS_B4);
non capisco se è da programmare con i miei valori?
il compilatore si ferma a questa riga di codice:
   param = request.get_get_parameter (F("mac"));
e la lista degli errori in cui quasi tutti sono uguali a questo:
SmartStrip2.ino: In function 'void netconfig_func(HTTPRequestParser&)':
SmartStrip2:186: error: invalid conversion from 'const __FlashStringHelper*' to '__FlashStringHelper*'
SmartStrip2:186: error: initializing argument 1 of 'char* HTTPRequestParser::get_get_parameter(__FlashStringHelper*)'
« Last Edit: November 26, 2012, 05:26:04 am by bacconi » Logged

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dovrebbe funzionare anche sulla Uno con shield wiz5100, è una delle mie piattaforme di test, anche se ho dei cloni di entrambi.

In teoria i tuoi valori li puoi modificare dall'interfaccia web dopo una connessione iniziale, ma per fare prima li puoi cambiare in common.h (Quelli sotto, non quelli che terminano in _ADDR, che vanno lasciati come sono).

Quell'errore di compilazione con quale versione dell'IDE lo ottieni?

PS: Dovrei continuare a lavorare su questo progetto. Purtroppo sono venuti gli imbianchini e mi hanno stravolto la casa, ho dovuto chiudere tutta la mia roba elettronica in una scatola in fretta e furia e non ho mai il tempo di riprenderla in mano smiley-sad.
Logged

Firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao, me lo fa con le ultime tre versioni 1, mica devo usare la 0023?
purtroppo la mia esperienza e' veramente poco e forse non ti so neanche descrivere bene forse il problema.
e' anomale che se provo a programmare un file oltre i 29k mi dia errore?
Logged

Offline Offline
Edison Member
*
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

e' anomale che se provo a programmare un file oltre i 29k mi dia errore?

Quando compili leggi nella parte inferiore:

Quote
Dimensione del file binario dello sketch: 2.110 bytes (su un massimo di 30.720 bytes)
Logged

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao, me lo fa con le ultime tre versioni 1, mica devo usare la 0023?

No, figurati, io uso la 1.0.1 di solito! Faccio qualche test e ti dico.

PS: Perdonami, dimenticavo che se usi la WIZ5100 lo sketch diventa troppo grosso per stare su una Uno, e ti ci vuole una Mega. Ho già qualche idea per ridurre la dimensione del binario, ma ci vorrà un po' per metterla in pratica. La verità è che non mi spiego il motivo per cui la libreria Ethernet occupi così tanto spazio (più di 5 Kb, ma vado a memoria)! Si dice ovunque che il Wiz è meglio dell'ENC28J60 perché implementa molte funzioni in hardware, ma di fatto la libreria Ethercard che uso per quest'ultimo chip alla fine occupa meno spazio e funziona altrettanto bene (sebbene va detto che consumi più RAM; in effetti la mia Webbino è parecchio inefficiente in questo senso quando si usa il Wiz, essendo nata per l'ENC e non avendo ancora avuto voglia/tempo di modificare certe cose).
« Last Edit: November 27, 2012, 02:55:09 am by SukkoPera » Logged

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

OK, avevo dimenticato di pushare gli ultimi commit su Sukkino, aggiornalo e riprova.

Comunque il binario per la Uno con supporto Wiz e l'IDE 1.0.1 viene di 35320 byte, troppi. Col supporto all'ENC diventa di 28912. Come dicevo, c'è qualche ottimizzazione possibile nel mio codice, ma la differenza mi sembra eccessiva. Si direbbe che anche la libreria Ethernet ufficiale possa essere pesantemente ottimizzata in termini di spazio...

(Scusate il doppio post)
« Last Edit: November 27, 2012, 04:44:24 am by SukkoPera » Logged

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3263
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato anch'io per curiosità, ma da una montagna di errori anche sulla mega + w5100.
Logged

no comment

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se sono errori di compilazione sono indipendenti dal target. Puoi postarli? Hai aggiornato la libreria Sukkino con l'update di poco fa?
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3263
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si l'ho preso ora e installato, gli errori sono ancora più di prima almeno 3 pagine di "not declared".

Secondo me dovresti perdere 2 minuti a spiegarne l'installazione, scrivi che hai aggiornato il link, ma non ripeti il link, devo andare al primo post e cliccare il link sul forum, sul forum internazionale poi cliccare su quel link e tornare indietro, un po' scocciante smiley.... qualche spiegazione in inglese sull'instal c'è, ma sei sul forum ita quindi scrivilo in ita magari sul primo post facendo un aggiunta.

Scrivi come va installato nel dettaglio poichè un inesperto potrebbe creare seri danni al suo IDE sovrascrivendo file nei posti sbagliati incasinandogli tutto.

Questo chiaramente se sei interessato che gli utenti lo provino e ti diano dei pareri.

Ciao
« Last Edit: November 27, 2012, 05:46:38 am by pablos » Logged

no comment

Piemonte, Italia
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
Just a brick in the wall
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se non ero interessato, manco aprivo sto thread, no? Farò come dici, appena possibile.

Mi posteresti intanto gli errori che ottieni?

EDIT: Credo di aver capito, a tutti voi manca html.h, che andrebbe generato dinamicamente, ma che se siete su Windows non è proprio immediato. Vedo di aggiungerlo al repository!
« Last Edit: November 27, 2012, 05:51:01 am by SukkoPera » Logged

Pages: [1] 2 3   Go Up
Jump to: