
A program that sends a image saved to the sd card to a server through a tcp socket connection
Dependencies: EthernetInterface SDFileSystem mbed-rtos mbed
main.cpp
- Committer:
- pwilson39
- Date:
- 2015-05-01
- Revision:
- 0:5cbd9389d9ca
File content as of revision 0:5cbd9389d9ca:
#include "mbed.h" #include "EthernetInterface.h" #include "SDFileSystem.h" const char* SERVER_ADDRESS = ""; const int SERVER_PORT = 5005; SDFileSystem fs(p5, p6, p7, p8, "sd"); //LocalFileSystem local("local"); // Create the local filesystem under the name "local" int main() { EthernetInterface eth; eth.init(); //Use DHCP eth.connect(); printf("IP Address is %s\n\r", eth.getIPAddress()); TCPSocketConnection socket; while (socket.connect(SERVER_ADDRESS, SERVER_PORT) < 0) { printf("Unable to connect to (%s) on port (%d)\n\r", SERVER_ADDRESS, SERVER_PORT); wait(1); } FILE *file; char *buffer; unsigned long fileLen; //Open file file = fopen("/sd/IMG_0001.jpg", "rb"); if (!file) { fprintf(stderr, "Unable to open file"); exit(0); } //Get file length int size; fseek(file, 0, SEEK_END); size=ftell(file); fseek(file, 0, SEEK_SET); char send_buffer[size]; while(!feof(file)) { fread(send_buffer, 1, sizeof(send_buffer), file); socket.send(send_buffer, sizeof(send_buffer)); } free(buffer); printf("Done Sending\n\r"); socket.close(); eth.disconnect(); while(true) {} }