[ enter the root directory of the one wire filesystem. most often this is /mnt ]
[ note if your setup is something like
/mnt/1wire_A/10.AF2551010800
/mnt/1wire_A/22.20F21A000000
/mnt/1wire_B/22.650E1B000000
/mnt/1wire_B/29.A29F09000000
then /mnt is the correct entry in this form. ]
[ only devices with nicknames will be seen and programmable in other parts of this interface ]
Open:Save:Delete:
Devices
Operators
Programming Compose Canvas
[ only devices with
nicknames are listed
and programmable ]
Copyright (C) 2011 Lance Miller this.is.lance.miller@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
[click to see complete copy of license document]
Keep in mind this is a beta stage of One-Wire-On-Fire, and ease of use will be acheived in later versions.
Extract One-Wire-On-Fire.tar.gz in the web root directory of the computer used for your 1wire system.
One-Wire-On-Fire is going to need to read and write files in the wwwRoot/One-Wire-On-Fire/inc directory, please set permissions accordingly.
On the machine you are installing One-Wire-On-Fire.tar.gz open a web browser and go to the http://localhost/One-Wire-On-Fire/
Click on SETUP.
Click on MOUNT DIRECTORY.
Enter the directory you've already configured owfs to have your devices listed in, or if you do not have any real
one wire devices or the owfs a directory can be entered here for emulation purposes (see later steps for emulation).
One-Wire-On-Fire is going to need to read and write files in whatever mount directory you entered, please set permissions accordingly.
In http://localhost/One-Wire-On-Fire/inc ( note that /inc ) is a file named _ONE-WIRE-ON-FIRE_py.txt which is thecommand line script essential to using One-Wire-On-Fire, most user activity will be in the web GUI, but a few key operations happen using this command line script, and the link between web GUI and 1wire system is acheived with ths command line script.
Take _ONE-WIRE-ON-FIRE_py.txt and copy it and name it something that conveys what it is for. Example: cp _ONE-WIRE-ON-FIRE_py.txt > ~/OneWireOnFire.py; chmod +xr ~/OneWireOnFire.py;
Execute OneWireOnFire.py, you may need to run it with sudo to have write permissions to your owfs and web root.
In the menu select: 5 run probe of /mnt/1wireA and generate output file to /var/www/One-Wire-On-Fire/inc/devices.txt.
If you do not have owfs setup, or if you do not have actual 1wire gear connected to the computer, running a fake owfs and creating a fake set of devices with parameters and values is possible by selecting: 4 make a fake owfs (good for testing this software with no real 1wire setup)
.
At this stage, you could leave the command line and return to the Web GUI.
Click on SETUP.
Click on DEVICE NICKNAMES.
Nickname devices whatever you like. You do not have to name them all, only the ones you want to monitor or interact with.
Sorry, in the current version PROGRAM interface doesn't really do anything to the 1wire, it does function a little.
Click on RUN.
Current Device Readings is about all that is fully functional as far as interacting with the owfs for the current version of One-Wire-On-Fire. Please feel free to improve upon this project with your own coding. Thanks for reading this far -Lance Miller this.is.lance.miller@gmail.com
inc/
[DIR] Link to directory containing all text files referenced below.
inc/_ONE-WIRE-ON-FIRE_py.txt
[CLI PYTHON] This is the main file of the software suite. It is a command line Python program that accepts input set by the web interface and reads and writes to the 1wire ASCII interface.
inc/index.txt
[WEB UI] Intitial PHP file that sets variables and includes masterControl.txt
inc/masterControl.txt
[WEB UI] Header and general HTML for page, executes php include of setup.txt, program.txt, run.txt, and about.txt files
inc/setup.txt
[WEB UI] The PHP source for SETUP tab.
Copyright (C) 2011 : Lance Miller this.is.lance.miller@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
[click to see complete copy of license document]
One-Wire-On-Fire is a web and command line based user interface to 1Wire devices. Written in PHP/Python/HTML/Javacript for use on any device
that runs a Unix/Linux variant with Python and serves PHP web pages. See ABOUT page for license restrictions (free use and sharing with attribution to author) and all source code is viewable in your browser.
One-Wire-On-Fire accesses an ACII interface to 1Wire devices. This means One-Wire-On-Fire accesses a plain old directory file structure with a typical line looking like this:
/mnt/1wire/22.20F21A000000/temperature/38.075, reading these device/parameter values, and in some cases setting an ON/OFF circuit by writing an 0 or 1 are all that this software does to events out there on system bus. The power and function of One-Wire-On-Fire comes in being able to
name the devices a human-friendly name, write simple programs[1]
and run/stop those same stored programs, all within a web browser.
[1]example: while currentTime < runTime : if OutdoorA temp is less than 30: set FridgeB to OFF
Note on origin of One-Wire-On-Fire and Linux Automation Project
Note on the origin of One-Wire-on Fire: the Linux Automation Project custom made 1wire devices coupled with Linux, and coded in the Bash programming language. After several years of experiementing with 1wire, Linux based control, and posting to their site on linuxautomation.org, they asked Lance Miller to be the coder in late 2011 with a view to present at LinuxFest Nothrwest 2012.
1Wire Briefly Explained
Monitoring
1-wire is great for low-cost monitoring of environmental conditions (temperature, light levels, humidity, moisture,...). There are 3rd party devices that can measure more elaborate conditions (Thermocouples for extreme temperatures, ultraviolet, wind-speed, counters. Typical uses include computer case and server room monitoring, weather stations, soil conditions, aquarium and vehicle monitoring.
Control
There are numerous 1-wire chips that have on-off switches (either 1,2,or 8 switches per chip). High current circuits can be built using relays.
There is also 3rd party devices that have pulse-width modulation (PWM) counters and other controls, also under 1-wire supervision.
Instrumentation
The battery monitoring chips have (besides temperature) current and voltage sensors in different ranges.
Limitations
In fact, the biggest constraint is usually speed. Fast process control and momentary contacts are difficult. Instead, 1-wire might be a good supervisory/monitoring/alarm system on top of process control.