Nebula is for device network communication, so at least 2 devices connected to your local WiFi network must be running the Nebula program to see results. Devices can be any of the following:
- Any device that can run Java which includes Linux, Windows, Mac, desktop, laptop and local or cloud servers. Single Board Computers (SBC) like Raspberry Pi and Beagleboard are ideal.
- Any phone, tablet or wearable that runs Android version 4.4.2 or higher.
- Any WiFi capable device that can be programmed on the Arduino IDE including the popular ESP series of WiFi/BT modules and Arduino compatible SBCs.
- Sorry not iPhone yet.
Required for Development
- 2 devices from the above options.
- A Linux, Windows or Mac computer that has Java (version >= 8) installed.
- A USB data cable. Careful, some cables only allow charging and do not support data.
- A pretty good development computer. Building software requires speed and memory.
- Basic knowledge of Java coding or a willingness to learn it.
- Android Studio IDE for Android based devices.
- Intellij Community IDE for Java based devices.
- Arduino IDE for Arduino based devices.
1. IDE means Integrated Development Environment. It allows you to enter program code, connect a device via USB, then upload, run and debug your code.
2. You can develop for Android on Intellij but Android Studio interfaces better with Google PlayStore for release packages.
3. IDE installation and setup instructions are covered here.
Recommended for Development
- Development machine - Ubuntu Linux is recommended however the IDEs are supported on Windows or Mac as well.
- 4 or more processor cores - 8 core is better.
- 16 or more GB of RAM memory - 32GB is better.
- Dual monitors - Run multiple IDEs for debug between client and server code.
- A Git repository setup on a separate computer for backup and code change history.
- The separate computer may also double as a Nebula development device.
- An ECP8266 Development Module like this with display used for user prompts.
- A board level Linux device (Raspberry Pi, BeagleBoard etc.).
- A spare Android phone or pad to see how your code will run and react on a real device.
- A provisioned Android device to test mobile sending and receiving of commands.