Using A6C camera

A6C module from AiThinker has a built-in camera. It even has a LED to be used as flash (the yellow block aside the flat cable connector).

But how to control it for taking pictures and extract the image?

Answear: You do all that with AT commands. And within ATCommander you can do that with the click of a button.


AT command sequence:

>> AT+CAMSTART=1			--start the camera, 1 for highest resolution which is 640x480 pixels
AT+CAMSTART=1

OK

>> AT+CAMCFG=0,1			--enable flash LED
AT+CAMCFG=0,1

OK

>> AT+CAMCAP				--take picture
AT+CAMCAP

+CAMCAP:14067

OK

>> AT+CAMRD				-- issue the module to output the JPG binary data
AT+CAMRD

Binary data..

OK

AT+CAMRD will make the binary JPG data to be dumped to the serial port. *But how to correctly parse it?

Solution is to wait till you receive a OK\r\n line while recording the output from the module. That is, you must extract the Binary data.. middle part with the binary data.

So in C#, given the the output, you would take the middle slice of it as follow:

byte[] cmd_output = ...;
bytes[] jpg_data = cmd_output.Skip(10).Take(exec.OutputBinary.Length - 20).ToArray();

For taking shots in ATCommander just use the Camera tab: