1. The problem which has been chosen as the subject of the project
Controlling interfaces such as LCDs, push buttons, meters, etc, are a significant cost in many electronic projects. These components also take up space. Why build another physical interface when there are desktops, notebooks, tablets, smartphones, etc, ready to take the controlling interface roll?
2. How this project will work to alleviate or solve the problem
By creating a JSON embedded function framework, functions can be defined including parameter lists and any return values. The embedded device can then be exposed via any existing transport be it wired or wireless so any paired external device is able to make remote function calls, effectively controlling the embedded device.
As a side effect, I hope this effort will make it easier for myself to integrate multiple embedded devices.
Fig. 1 Controlling device queries embedded device with Jsoknit Interface libdef keyword. The function definitions are returned.
Fig. 2 Controlling device copies interface and is now able to make remote function calls.
3. System Design Document
Fig. 3 System design
3.1 Oven (nickel chrome heater wire)
Status: Built, working.
3.2 Chromel-Alumel thermocouple
Status: Assembled.
3.3 MAX31855
Status: Assembled.
3.4 PID Control
Status: Have used before, needs to be integrated into this project.
3.5 Arduino UNO (Atmega 328)
Status: Working.
3.6 Jsoknit Interface
Status: Proof of concept working (led on, led off), need to add ranges e.g. function will accept a parameter within a given range.
3.7 MDFLY BT0415
Status: Have used before, needs to be integrated into this project.
3.8 Android 4.3
Status: Becoming familiar with Android Studio, needs a lot of work for this project.
4. Licenses and permissions
4.1 Maxim Integrated
http://www.maximintegrated.com/en/aboutus/legal.html
4.2 Arduino
https://store.arduino.cc/index.php?main_page=conditions
4.3 JSON
http://www.json.org/license.html
4.4. Jsoknit Interface
GPLv3
4.5 Android
http://developer.android.com/legal.html
5. Video - prototype in progress
Roadmap/TODO list:
1. Finish interface.
2. Github upload.
3. Documentation cleanup - smaller images (perhaps too in your face at the moment), more on the coding side.