TGit-Tech / ArdiChef

ArdiChef is an automated home cooking system
MIT License
0 stars 0 forks source link

[UI] General Questions #5

Open linuxenko opened 8 years ago

linuxenko commented 8 years ago
  1. Does web files hosted on SDcard (how much memory do we have) ?
  2. EWS (web server) capabilities :
    • Is it possible make API restful ? How much it is difficult to make changes on request ?
    • Does current EWS support websockets ?
  3. Loading the content and presets from external resource/database (like firebase) or it have to be offline application?
  4. We need an emulator of for the API ) The hardware part is a magic for me, it will be cool write tests as well for the emulator to check them on real hardware to be sure it work )

Thank you )

TGit-Tech commented 8 years ago
  1. Does web files hosted on SDcard (how much memory do we have) ?

Currently I have an 8GB SD-Card on the Arduino Ethernet shield

Link to that unit http://www.gearbest.com/boards-shields/pp_235010.html?currency=USD&gclid=CjwKEAiA__C1BRDqyJOQ8_Tq230SJABWBSxnG_vkt1sFlfvp5cLF9ADZmVMcAjx-3OwSk1jB7x7zWhoC-_rw_wcB

  1. EWS (web server) capabilities :

    • Is it possible make API restful ? How much it is difficult to make changes on request ?
    • Does current EWS support websockets ?

    The EWS is custom coded with C++ for Arduino; Currently all it does is serves the EWS files to the web-client and parses POST data to activate hardware.

I don't quite understand the API restful question but I'll do some research on it. The Arduino is fairly limited on server power so the simpler the faster it'll serve.

  1. Loading the content and presets from external resource/database (like firebase) or it have to be offline application?

I've also thought a lot about food recipe database's even through the internet; I'd like to keep most of this off the Arduino itself though and perhaps implemented client-side.

  1. We need an emulator of for the API ) The hardware part is a magic for me, it will be cool write tests as well for the emulator to check them on real hardware to be sure it work )

The C++ Arduino server will parse POST data using "fa=" meaning file append, "fw=" for file write, and "nc=" for numerical code to activate motor control.

This can be changed in the C++ to some degree; so feel free to propose an API to use keeping in mind the Arduino is limited on processing power; so speed will be an issue with heavy implementation.

On Wed, Feb 10, 2016 at 11:32 PM, Svetlana notifications@github.com wrote:

  1. Does web files hosted on SDcard (how much memory do we have) ?
  2. EWS (web server) capabilities :
    • Is it possible make API restful ? How much it is difficult to make changes on request ?
    • Does current EWS support websockets ?
  3. Loading the content and presets from external resource/database (like firebase) or it have to be offline application?
  4. We need an emulator of for the API ) The hardware part is a magic for me, it will be cool write tests as well for the emulator to check them on real hardware to be sure it work )

Thank you )

— Reply to this email directly or view it on GitHub https://github.com/tgit23/ArdiChef/issues/5.

linuxenko commented 8 years ago

The C++ Arduino server will parse POST data using "fa=" meaning file append, "fw=" for file write, and "nc=" for numerical code to activate motor control.

Aha, it is some kind of magic for me, motor control )) Is it possible emulate arduino hardware and run the code with controller.cpp ? Maybe partially idk..

TGit-Tech commented 8 years ago

Google does show some Arduino Simulators available but I haven't actually tried to hook one up yet in the development process. The hardware side actually shouldn't stop UI development though since the communication is only done so far through the POST code nc=. The fw and fa POST are just used to update edits done on the UI to the SD-Card on the Arduino (the JSON files store the settings).

I can assist with any Arduino Web Server changes you'd like to add/support but the UI can be worked on w/o hardware as follows;

in /software/ews/recipes.js there is a variable var EditMode = 0 <- Change this to 1 for text output of the NC-Code -- the javascript produces control codes on the web-page itself.

The NC (Numerical Control) code will display an "nc=Port#,Motor-Turns# and optionally; but not implemented yet Motor Direction code" So, the motor control code can be displayed without the attached hardware - which should allow UI development.

The port# is connected to the ingredient canister within the file /software/ews/json/ingred.json The Motor-Turns# is just a small value for little dispense of ingredient or large value for large dispense of ingredient.

Keep in touch, Thanks, Thomas

On Sat, Feb 13, 2016 at 12:00 AM, Svetlana notifications@github.com wrote:

The C++ Arduino server will parse POST data using "fa=" meaning file append, "fw=" for file write, and "nc=" for numerical code to activate motor control.

Aha, it is some kind of magic for me, motor control )) Is it possible emulate arduino hardware and run the code with controller.cpp ? Maybe partially idk..

— Reply to this email directly or view it on GitHub https://github.com/tgit23/ArdiChef/issues/5#issuecomment-183612389.

TGit-Tech commented 8 years ago

Wait, Wait - That was incorrect; the 'EditMode' just flags changes

The code that displays the NC code on the webpage is here if(DBG) { var db_out = ""; for( var r = 0; r < nc_codes.length; ++r ) db_out = db_out + "
" + nc_codes[r]; document.getElementById("debug").innerHTML = db_out; // Display on screen for debug }

and activated by setting DBG=1

On Sat, Feb 13, 2016 at 4:21 PM, Tom Joe tgit28@gmail.com wrote:

Google does show some Arduino Simulators available but I haven't actually tried to hook one up yet in the development process. The hardware side actually shouldn't stop UI development though since the communication is only done so far through the POST code nc=. The fw and fa POST are just used to update edits done on the UI to the SD-Card on the Arduino (the JSON files store the settings).

I can assist with any Arduino Web Server changes you'd like to add/support but the UI can be worked on w/o hardware as follows;

in /software/ews/recipes.js there is a variable var EditMode = 0 <- Change this to 1 for text output of the NC-Code -- the javascript produces control codes on the web-page itself.

The NC (Numerical Control) code will display an "nc=Port#,Motor-Turns# and optionally; but not implemented yet Motor Direction code" So, the motor control code can be displayed without the attached hardware

  • which should allow UI development.

The port# is connected to the ingredient canister within the file /software/ews/json/ingred.json The Motor-Turns# is just a small value for little dispense of ingredient or large value for large dispense of ingredient.

Keep in touch, Thanks, Thomas

On Sat, Feb 13, 2016 at 12:00 AM, Svetlana notifications@github.com wrote:

The C++ Arduino server will parse POST data using "fa=" meaning file append, "fw=" for file write, and "nc=" for numerical code to activate motor control.

Aha, it is some kind of magic for me, motor control )) Is it possible emulate arduino hardware and run the code with controller.cpp ? Maybe partially idk..

— Reply to this email directly or view it on GitHub https://github.com/tgit23/ArdiChef/issues/5#issuecomment-183612389.