Show Posts
Pages: [1] 2 3 ... 6
1  Using Arduino / Project Guidance / Re: High Res Pictures over 3G 4G From Camera on: February 03, 2014, 03:49:48 pm
ok guys i,ll see what i get , thanks for ideas and suggestions.
i,ll post if i get anything ;D
2  Using Arduino / Project Guidance / Re: High Res Pictures over 3G 4G From Camera on: February 02, 2014, 11:42:10 am
hi
i know it  will not send the pictures in milliseconds ,as long as it get the picture send it ,get next picture send it , whatever time it takes in the real time process although i dont get them in this very same second, i guess it will take seconds or even  minutes to send a huge picture via 4G anyway. Basically the fastest possible way to send them remotely.

cheers
3  Using Arduino / Project Guidance / Re: High Res Pictures over 3G 4G From Camera on: February 02, 2014, 11:06:22 am
hi
yes i check some FPV but usually they send only composite noisy video , i,m looking for pictures of 4000x4000px at least , maybe clean clean HD video would approach , but the other problem with FPV is the distance they have limited distance i think they can not send data to various kilometers away, This is why the Gsm idea also.
Arduino will basically read the data from SD card and send via 4G in the case of pictures and SD way.
4  Using Arduino / Project Guidance / Re: High Res Pictures over 3G 4G From Camera on: February 02, 2014, 05:40:19 am
Hi ,thanks for replies.

The idea is to send pictures from a far away drone realtime or almost real time , maybe 2-4km so wify seems a bit short for that, i checked the Eyefi, they are cool , i could, i guess send to other arduino via wifi in the drone and this send via 3G or similar but this will be heavier and bigger that having one solution.  , i thought 3G,4G because they have no limitation on distance as long as their is mobile telephone coverage. but there could be other radio wireless possibilities ?

 smiley



5  Using Arduino / Project Guidance / High Res Pictures over 3G 4G From Camera on: February 01, 2014, 01:56:59 pm
Hello Guys

I,m researching a bit to find out how to send High Res Photos from a Photo camera or High Res video camera in the smallest setup posible.

I was thinking maybe Canon cameras and 4G .

have any one experience on this ?

One of the difficulties is get the actual data either the direct video raw picture and or the picture file from the SD card of a camera.

Is there any device shield that can have input output from an SD card so you connect to camera in one side and get pins out of it ?

i saw those sd sniffer but maybe they are not for this purpose.

the other issue is convert this file to be able to send it via 3G,4G , i saw some 3G shields for arduino like this
http://www.cooking-hacks.com/3g-gprs-shield-for-arduino-3g-gps

what are the possibilities ideas you can recommend about that ?

cu


6  Using Arduino / Programming Questions / Re: Encoding decoding bits of a byte on: January 27, 2014, 06:11:01 pm
hi 

i got it working ;D
in the end i did like that :

being CleanBuffer the 2 bytes i get from udp:

uint8_t lsb_R = CleanBuffer[0] & 0b00001111;
uint8_t msb_G = (CleanBuffer[0] & 0b11110000) >> 4;
uint8_t lsb_B = CleanBuffer[1] & 0b00001111;
uint8_t msb_A = (CleanBuffer[1] & 0b11110000) >> 4;

thank you guys ¡¡
7  Using Arduino / Programming Questions / Re: Encoding decoding bits of a byte on: January 27, 2014, 12:11:24 pm
hi guys

ok i got it , now i found the way to encode the  bytes in computer side correctly  , so i will send 2 bytes  like this :

4F 00  it should generate values of  15,4,0
20 06  it should generate values of 0,2,5
2F 0F  it should generate values of 15,2,15
2F 0F  it should generate values of 15,2,15
0B 07  it should generate values of 11,0,7

so i guess to decode  in arduino i need to use the << operators right ?
8  Using Arduino / Programming Questions / Re: Encoding decoding bits of a byte on: January 27, 2014, 02:55:25 am
Hi all thanks for your  tips and suggestions

i got some better idea and played with bit Read functions , although in those i did not see easy way to rotate the nibble easily .

Code:
byte a = 0x1A;
byte b = 0x2B;
byte c = 0x3C;

byte Converted;

void setup(){
 
Serial.begin(115200);

for (int i =0; i < 8; i++) { 
  Serial.print(bitRead(b,i) );
  Serial.print(" ");
  Converted = bitWrite(Converted,i,bitRead(b,i));
  Serial.println(Converted);
}

}

void loop(){}

@wildbill
i,m sending those values to change pixel colors , there are time were all pixel are send therefore i need to send the whole packet , this is how i have it and works very fast only missing some pixels because the ethernet 1500byte buffer limitation , but after i can compress it will be perfect.

//
I,m a bit confuse in how to do the encoding as for example if i send
2 bytes with [0-15] [0-15] [0-15]   like 121 102 and split into 2 i get the appropriate values for each 12 11 02 so this could be done without the bit tricks. the problem is when i send values with one digit only or starting with 0 , i can do the padding in computer side but it will remove the 0 in conversion so for 020010  this should be a value of 2,0,1 . but it will send the bytes like 2010 so i will miss the real value.

so if i do it using bits will this happen too ? , what will be the procedure , i convert it piece of the 020010 to binary and then those to hex and send this character and in arduino do the bit splitting ?

cheers
9  Using Arduino / Programming Questions / Re: Encoding decoding bits of a byte on: January 26, 2014, 08:58:26 am

Hi thanks for your answers
i,ll read more about it.

in the end i,m going to send only 3 parameters in the range of [0-15] [0-15] [0-15]
so i can send them all in 2 bytes x 512 , 1024 which then i,ll be able to send to ethernet shield.

what will be the right way do it ?

1 byte convert to binary and do the spliting shifting or join all 2 bytes put all binary in a row and do the shifting ?
10  Using Arduino / Programming Questions / Encoding decoding bits of a byte on: January 26, 2014, 04:48:23 am

Hello

id, like to find the way to split a byte into halfs and get the representative of each half as a decimal number.
I explain a bit , i,m sending lots of values to Arduino Mega via udp ethernet shield. i need to send 512 Set of values maximum of 5 values each.
as i,m sending now
[FirstValue][SecondtValue][ThirdValue][ForthValue][FithValue] X 512 = 2560 bytes  which are too many
those are the value ranges of each value:
[0-31][0-16][0-7][0-7][0-7]

as Ethernet shield has a max buffer of 1500 bytes i can not send all data i need in full bytes.

so as i,m not using the full value of the unsigned 8 [0-255]i,m sending i wanted to split those into 2

so for now i would like to concentrate and know how to convert those 3 bytes [0-7][0-7][0-7]  into 2 bytes data instead of 3 .

for example if i send the values of [6][1][2] i would send 2 bytes containing the first the value :
of 61 and the second the value of 20 
so first one split to get 6 for first and second 1 .
i would send the value of 3D  in hex for the 61 that will become 2 values of 6 and 1 .

do you see what i mean ? maybe you have better ideas but i think this one could work if i get how to do it in Arduino.

can you please give me some hints and guidance about it ?

11  Using Arduino / Programming Questions / Re: convert ascii bytes to uint8 via udp and apply to function on: January 25, 2014, 09:10:18 am

Hello wildbill haha ;D in the end it was much simpler than we tried before. thank you very much.

i paste the code  for someone else, as soon as i get something cool with it i,ll paste some link here.

now i can send a max of 1470 values to arduino and seem fast. i still need to get to 2560 so have to think how to minimized data more as i dont use the whole uint8 as 3 parameters use range[0-16] and other 2 parameters  [0,32] i have to find the way to encode more values in an efficient way. i,ll play a bit and open new post for that.

thanks all for helping.

Code:
#include <SPI.h>         
#include <Ethernet.h>
#include <EthernetUdp.h>       
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 2, 12);
unsigned int localPort = 10000;      // local port to listen on
// buffers for receiving and sending data
unsigned char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
//////////////
uint8_t HeaderSize = 1;//'<'
uint8_t HeaderEndSize = 2;//'<''>'

void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
  //Serial.begin(115200);

}

void loop()
{
int packetSize = Udp.parsePacket();
if (packetSize > 0 )
{
//if (packetSize > 0  && packetSize==24 )
 
  uint8_t input[packetSize];
  Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
  if( packetBuffer[0]=='<' && packetBuffer[packetSize-1]=='>'){

unsigned char CleanBuffer [packetSize-HeaderEndSize];
    memcpy(CleanBuffer,packetBuffer+HeaderSize,packetSize-HeaderEndSize);
    uint8_t input[packetSize-HeaderEndSize];
   
  //for (int i = 0,idx=0; i <packetSize-2; i+=2,idx++)
  for (int i = 0; i <packetSize-2; i++)
    {
//
//    char buf[3];
//    memcpy(buf,&CleanBuffer[i],2);
//   
//    buf[2]=0;
//   
//    input[idx] = atoi(buf);
//    Serial.print(packetSize);
//    Serial.print(" ");
//    Serial.print(packetBuffer[0]);
//    Serial.print(" ");
//    Serial.print(packetBuffer);
//    Serial.print(" ");
//    Serial.print(input[0]);
//    Serial.println();
    analogWrite(5,(CleanBuffer[0]));
    analogWrite(6,(CleanBuffer[1]));
    }
   }
  }
}
12  Using Arduino / Programming Questions / Re: convert ascii bytes to uint8 via udp and apply to function on: January 25, 2014, 08:19:45 am
hi

i,m trying to do exactly what you did but instead of Serial printing use this representative value in a function like analogWrite();

so the printing value is the actual same value to be used in the function.

you see what i mean ?

13  Using Arduino / Programming Questions / Re: Removing chars per index in a char array on: January 25, 2014, 08:12:47 am
hi cool , i,ll try it also.

i got it working like that thank you

char CleanBuffer [packetSize-HeaderEndSize];
memcpy(CleanBuffer,packetBuffer+HeaderSize,packetSize-HeaderEndSize);
14  Using Arduino / Programming Questions / Re: convert ascii bytes to uint8 via udp and apply to function on: January 25, 2014, 07:35:18 am
hi

yes the parsing should be :
from this ASCII: 5%2: to this decimal 53 37 50 58
or in other words from this hex
35 25 32 3A   to this decimal 53 37 50 58
the message it is like that :
[Header][Payload][End]
[<<][5%2:][>>]
being the hex representation
3C 3C 35 25 32 3A 3E 3E
[3C 3C ][ 35 25 32 3A][3E 3E ]
it should calculate the decimal value of the ASCII character
[3C 3C ][53 37 50 58][3E 3E ]
Payload in Hex :  35 25 32 3A
Payload in Decimal :4 independent uint8  53, 37, 50, 58

the payload will be as bigger as possible so maybe 1400bytes to be treated as independent values

like when you do the conversion in an online converter http://www.branah.com/ascii-converter you will see the representation of the decimal value from 5%2:

there might be something to do in arduino to interpret the ASCII as its representative decimal value ?

15  Using Arduino / Programming Questions / Re: Removing chars per index in a char array on: January 25, 2014, 07:23:13 am
hi HazardsMind and wildbill

thank you for your replies .

yes i was thinking something like this but i thought maybe there was an arduino or C function for this cases ?.

if i do start at packetBuffer[1] instead of packetBuffer[0]  is fine but , i need to assign the whole loop to a function so for the start i guess i can do  i+1 and to get rid of the last one i guess do the loop (i-1)++. just wanted to clean it as much as possible for further easy logic.

;D
Pages: [1] 2 3 ... 6