Here is a 10 minute instructable for controlling DSLR Camera with Arduino and iPhone.
Step 1: Parts List
An Arduino UNO or Mega or Nano or etc.
I used a HM-10 Bluetooth Low Energy Module but i think any other Ble Modules will work fine. It can be bought on eBay or Aliexpress for $6
iPhone App : DSLR Shutter Trigger BLE
iPad App : DSLR Shutter Trigger BLE for iPad
Optocoupler : MOC3020 or PC817 will work
3,5mm female stereo jack (or 2.5mm female stereo jack)
1 x 1KOhm Resistor
A release cable that fits your camera. For canon XX0d series you can use 2,5mm male audio jack. You can check here for cable pinouts.
Step 2: Connecting Parts
Arduino and Bluetooth Low Energy Module Connection
Arduino Pin ------ BLE Pin
3.3V <--------------> 3.3V
GND <-------------> GND
Pin 7 <-------------> TX
Pin 8 <-------------> RX
Fritzing design includes Sparkfun Ble Module because i could not find hm-10 module. Connection is same
Now you can download Arduino sketch from here and upload it to Arduino.
Testing Connection with DSLR Shutter Trigger BLE
Open DSLR Shutter Trigger BLE app and go to "Connect" tab.
Tap the ble device on the list and wait for the connection.
Open Arduino IDE's Serial Monitor window and tap some buttons. You can check serial monitor window for debug. You will see some text like "m1","m3" or "p"
Triggering your DSLR Camera with PC817 or MOC3020
Attach a 1K resistor between Arduino's PIN2 and optocoupler's pin1.
Connect optocoupler's pin2 to GND.
Now connect your release cable's GND to MOC3020's pin 6 / PC817's pin 3 and Shutter Pin to MOC3020's pin 4 / PC817's pin 4
You can check your release cable's pinout from here.
And have fun with it !