Or you can get all the things above as a kit
.The controller of this kit：Bluno.
Bluno is an Arduino board which integrates with a TI CC2540 BT 4.0 chip with the Arduino UNO development board. It allows wireless programming via BLE, supports Bluetooth HID, supports AT command to config the BLE, and you can upgrade BLE firmware easily. Bluno is also compatible with all Arduino Uno pins which means any project made with Uno can directly go wireless! It needs Android 4.3+ Devices with BLE or IOS 7.0+ Devices.