I just un-boxed and set the Create 2 to charge over night.
How do I program it? Where is the software?
You can use a Computer, Arduino, Raspberry Pi or other device that can communicate via serial (using a Create 2 USB cable or build your own) or Bluetooth (if you have a something like the Rootooth or build your own) and program that device to connect and interact with the Create 2. Please checkout the Create 2 Site at iRobot
On the Create 2 site you will also find the Getting Started page that will link you to the Create 2 Open Interface Specification and several example projects.
As Andy mentioned a direct link to the Open Interface Specification is here as well.
Looking through the links posted by Andy, here are some simple commands I extracted from iRobot's python script:
if k == 'P': # Passive self.sendCommandASCII('128') elif k == 'S': # Safe self.sendCommandASCII('131') elif k == 'F': # Full self.sendCommandASCII('132') elif k == 'C': # Clean self.sendCommandASCII('135') elif k == 'D': # Dock self.sendCommandASCII('143') elif k == 'SPACE': # Beep self.sendCommandASCII('140 3 1 64 16 141 3') elif k == 'R': # Reset self.sendCommandASCII('7')
They will more then likely have a full command set either provided with the system, or available online - but here are some basic commands.
The connection to the system is made via serial, and it would appear from this script as if ASCII commands are all it takes to get it up and running.
Plug, open a serial terminal, and play.