Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C] creazione file di dati su FTP

    Caio a tutti ho un problema che mi assilla da un po. Ho la necessità di creare un file su un server tramite connessione FTP. il fatto è che a collegarsi al server non è un PC ma un microcontrollore. Prima di dirmi che sono OT aspettate...
    Io vorrei sapere in [C] come viene considerato un file; il microcontrollore è quanto di più a basso livello ci possa essere in fatto di programmazione. Il uso CCS PCW ma non c'è un modo per creare un file in RAM. Posso (se uno una memoria esterna tipo SD) allocare settori e scrivere dentro alcuni byte, nella posizione opportuna metto un identificativo (nome file) e il gioco è fatto. Ora , però devo trasferire un file in remoto tramite il comando STOR che richiede un file da inviare (o al massimo APPEND).
    Potreste aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non si è capito se il circuito con il microcontrollore gestisce un file system (su SD, USB, altro ...) o no.

    E poi il micro ha una interfaccia di rete? Nel firmware c'è la gestione dello stacl TCP e del protocollo FTP ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Scusa il ritardo (aspettavo la notifica mail che non è arrivata (ovviamente per colpa mia))
    Dunque: Si il micro ha una micro SD (anche se sto provando a gestirla con noti bachi del compilatore) , non ha uno stack TCP, io mi limito a evvettuare le 2 connessioni (come indicato dallo standard) che chiamo 1 e 2 . mando al canale 1 i comandi (crea cartella, apri cartella, cancella file ecc) e il canale 2 viene usato per il trasferimento dati (STOR "prova.txt") ora, in un micro posso gestire byte (anche composti in array, stringhe ecc) ma come sono fatti i file? basta creare un array e aggiungere EOF?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Calma ... come fai a collegarti al server via FTP se non esiste il firmware per il TCP? C'è la scheda ethernet?

    Quando parli di 2 connessioni di che tipo sono?

    Per gestire i file devi avere nel firmware il supporto ad un file system (in genere FAT o FAT32) e tutte le funzioni per la sua gestione.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Ok
    Io uso un modulo gprs (sim908) tramite comandi seriali(denominati comandi AT) riesco a connetterlo a rete gprs , creare un collegamento con user e passw a un server
    codice:
    "AT+CSTT=\"ibox.tim.it\"" "AT+CIFSR"//chiedo indirizzo ip "AT+CIPSTART=0,\"TCP\",\"62.149.xxx.xxx\",21"//mi collego e la chiamo '0'
    "AT+CIPSEND=0"//mando il comando as server tramite connessione '0' "user xxxxxx" 
    "AT+CIPSEND=0"//mando il comando as server tramite connessione '0' "pass xxxxxx"
    "AT+CIPSEND=0" "PASV" °//poi ricevo l'indirizzo casuale
    "AT+CIPSTART=1,\"TCP\",\"62.149.xxx.xxx\",\"%Ld\"" //mi connetto all'ind casuale e chiamo '1' questa connessione 
    "AT+CIPSEND=1" //mando il comando al canale 1 
    "STOR "prova.txt""
    domanda come faccio in linguaggio a basso livello (senza il Filesistem del OS) a creare un file?

  6. #6
    vabbe il codice non è formattato bene

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ciccioc74
    Io uso un modulo gprs
    Potevi dirlo prima ...

    domanda come faccio in linguaggio a basso livello (senza il Filesistem del OS) a creare un file?
    A questo punto devi chiarire ... quando dici "creare" un file intendi nella tua micro SD?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    anche !
    Nella sd il file si crea allocando cluster e, a botte di 512 byte, si scrivono i bte in spi.
    dove si mette il nomefile?
    Come sono fatti i file?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ciccioc74
    Nella sd il file si crea allocando cluster e, a botte di 512 byte, si scrivono i bte in spi.
    dove si mette il nomefile?
    "Allocare cluster" significa scrivere nella File Allocation Table e il nome va nel settore dedicato alla directory con il riferimento al primo cluster ...

    Ma questo va fatto tramite delle funzioni che implementano il File System (ad esempio FAT32). Se non hai già questo supporto nel tuo firmware è meglio che ti procuri una libreria apposita perché non è affatto semplice riscrivere tutto.

    Come sono fatti i file?
    Che domanda è ? Sono rappresentati dai dati che hai inserito in tutti i settori allocati ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Che domanda è ? Sono rappresentati dai dati che hai inserito in tutti i settori allocati ...
    Intanto ti ringrazio per l'aiuto.
    Una risposta del genere , però, mi umilia.
    Se non sapessi cosa è un file non mi sarei laureato in ingegneria elettronica e non sarei un progettista.
    Capisco però che domandando a forum in cui mi si risponde " non è affatto semplice" mi fa perdere solo tempo

    Grazie lo stesso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.