This is an old revision of the document!


Arduino

This is where I'll be posting what I'm doing with Arduino boards. If you don't know what they are, have a look on the Arduino web site

The projects will be in varying stages of completion, so don't expect anything to be perfect, or even useful!

The basic idea is to produce a re-usable library that will allow simple commands to be interpreted at run-time by the Arduino itself. There will be a small set of built-in commands, and many more can be added by programmers as required for their project.

The library will enable the Arduino to be manually controlled by an operator entering commands (for debugging, or to trigger events and change the configuration on an adhoc basis). It will also allow commands to be stored for later execution (changing the normal programmed behaviour of the application without having to recompile and reload the Arduino).

Read more about this

I've been looking for a way to store data in a file on an SD card connected to an Arduino. I wanted a re-usable way of storing lists of data that can be directly retrieved quickly by supplying a “key”, or read sequentially (preferably sorted into “key” order). This way of accessing data is called “indexed sequential access method” or ISAM for short.

One of the uses of this library would be to store the variables used by my Command Script Interpreter mentioned above. This would free up Arduino memory, as the variables would be stored on the external SD card instead if internal RAM.

I also plan to use an AVL Tree to store the current program within my Command Script Interpreter, again saving precious Arduino memory. The program lines would be keyed by line number, so they can be automatically sorted into the correct order and retrieved sequentially, or directly (when a goto command is executed).

Read more about this

The intention is to create a generic web server running on a WeMos D1 R1 Arduino compatible board with an SD Card shield. Other boards will be supported after the initial release.

The project will handle the basic networking requirements and the HTTP protocol. Cookies, sessions, query and post data will be made available via a simple API for programmers to hook into the framework to add their own functionality.

Files placed in the “/WEBSPACE/” folder on the SD card will be automatically served as requested by the browser. Files outside this folder will not be directly accessible to users. If a folder name (rather than a file name) is specified, then it is assumed the user wants to look at INDEX.HTM in that folder. If the requested file is not available, the usual 404 error is returned to the browser.

Requests for files in some “virtual folders” can be intercepted by the programmer and handled by their own C function instead.

Requests for files of a certain type may also be intercepted and processed in a special way.

  • computers/arduino/start.1558617083.txt.gz
  • Last modified: 02-Feb-2025 16:12
  • (external edit)