Skip to content

Repository files navigation

pfodWeb / pfodProxy source repository V4.1.7

Europa     WeatherStation

fieldsSet

pfodWeb.html is a pfod protocol designer, code generator and client for controlling and monitoring Arduino and other embedded devices from a browser — no app install, no internet, server access required. pfodWeb.html renders device-defined drawings, menus, and charts, and talks to devices via Serial, BLE and TCP/IP and HTTP, using the pfodProxy as a bridge if the browser does not support the connection natively.

The designer / code generator includes pinouts for over 600 boards for connecting the controls directly to the board's I/O.

The Arduino pfodParser library provides the device side support to display GUI's on pfodWeb.

pfodWeb is distributed, with the Arduino pfodParser library, as a single, self-contained HTML file (all JS/CSS/fonts inlined) so it can be opened directly in an off-line browser. It can also be served from the microprocessor itself for complete off-line stand alone deployment.

There is also an Android client, pfodApp

Breaking Change: When updating from pfodWeb V4.1.5 or below to V4.1.6 or above, save/export all dwgs first then update and reload from their files.

Using pfodParser/pfodWeb with AI

The pfodWeb/docs sub-directory contains pfodAI-guide.md and two .md specifications for the menu and dwg json files, pfodMenu_json-format.md and pfodDwg_json-format.md. Point your AI at these three files and the pfodParser src to give it the context it needs to create pfod menus and dwgs and to add the logic to complete the program.

Designer Tutorials

pfodWeb includes a built-in Designer that lets you create menus and sub-meus of buttons, sliders, charts and interactive dwgs. pfodWeb charts include data logging and formatting options.

Documentation

pfodWeb user documentation is in docs/:

Repository Layout

Path Description
pfodWeb_src/ JavaScript/HTML/CSS source for pfodWeb. Edit here — never edit the built HTML files directly.
pfodProxy_rs/ Rust source for pfodProxy, the HTTP-to-device proxy (serial / TCP / BLE) that pfodWeb talks to for those connections.
data/ Compressed (.gz) files to be served from the microprocessor's file system for stand alone deployment.
extraFonts/ Optional supplementary font subsets (Cyrillic, Greek, etc.) loadable without rebuilding pfodWeb.
variants/ Board definitions (arduino/, esp32/, etc) for designer, bundled in pfodWeb.html by the build.
docs/ User guides and licensing documentation — see docs/index.html.
examples/ Arduino example sketches (Serial / BLE / TCP/IP / HTTP) that pfodWeb connects to — see examples/README.md.
pfodWeb/ The built pfodWeb.html and extraFonts. This is the same for all browsers and operating systems
windows/, linux/, macOS/ Platform-specific pfodProxy, produced by the build scripts below.

Building

There one build for pfodWeb.html that is common to all platforms:

Each platform also has a top-level build script that compiles pfodProxy (Rust).

Platform Script Output
all build-pfodWeb.bat / .sh pfodWeb/
Windows windows-build.bat windows/
Linux build-linux.bat linux/
macOS build-macOSApp.sh macOS/

Building pfodProxy requires the Rust toolchain (cargo).
The macOS build is packaged as an installable app. See the detailed macOS install instructions.

To build the device-served data/ bundle (served from microprocessor itself for stand alone deployment).
use build_data.bat / .sh

License

(c) Forward Computing and Control Pty. Ltd. See docs/pfodWeb_pfodProxy_License.html for full terms; pfodProxy's third-party Rust crate licenses are listed in docs/RustThirdPartyLicenses.html.

About

pfodWeb Source code.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages