Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
9600 committed Oct 6, 2024
0 parents commit a14abff
Show file tree
Hide file tree
Showing 81 changed files with 21,359 additions and 0 deletions.
Binary file added html/en/latest/_images/ESDK_chain.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions html/en/latest/_sources/aq/dashboards.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Air Quality Dashboards
######################

The Air Quality project has both private and public dashboards. Private dashboards can only be accessed by individual users and are read-write (may be modified). Whereas public dashboards may be viewed by anyone, but are read-only (cannot be modified).

Private
*******

Private dashboards make use of the dedicated :ref:`cloud/metrics/index:Prometheus` instances that are provisioned for each DesignSpark Cloud user. When the user account is created a default private dashboard is also provisioned.

For details of how to browse dashboards, set a home dashboard, make copies and edit dashboards, see :ref:`DesignSpark Metrics documentation <cloud/metrics/index:Grafana>`.

.. warning::
The default dashboard should not be edited, since a future updated my delete this and provision an updated dashboard. Instead the default dashboard should be copied and the copy edited. Details can be found in the aforementioned documentation.

Public
******

Generally speaking, public dashboards will not show data from individual sensors and instead will provide statistics such as minimum, maximum and mean values. Exceptions to this include dashboards for Air Quality sub-projects, e.g. hackerspace air quality monitoring, where it may be useful to have things such as a league table with individual metrics from each shown.

*Further details will be added here when public dashboards launch*.
4 changes: 4 additions & 0 deletions html/en/latest/_sources/aq/data.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Data Model
##########

*Stub - TBD.*
21 changes: 21 additions & 0 deletions html/en/latest/_sources/aq/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Air Quality Project
###################

Air quality is a growing problem worldwide. DesignSpark has developed an open-source, cloud-connected, sensor platform as part of a wider programme of engineer activism. You can find out more about this and the contributor community via the `DesignSpark website`_.

In the left-hand navigation you can find links for the Air Quality Project technical reference documentation.

.. note::
The Air Quality project is currently operating as an invitation-only "closed beta".

.. _DesignSpark website: https://www.rs-online.com/designspark/air-quality-project

.. toctree::
:maxdepth: 1
:hidden:

Introduction <self>
Device <https://docs.designspark.io/projects/aq-device/en/latest/>
Dashboards <dashboards>
data
taxonomy
70 changes: 70 additions & 0 deletions html/en/latest/_sources/aq/taxonomy.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Taxonomy
########

An taxonomy is being developed so as to ensure consistency in the labelling of
data gathered and avoid multiple labels being used for the same thing.

Should it be neccessary to extend the taxonomy, e.g. to add a missing location,
there are two routes to achieving this:

#. Submit a pull request to modify this page (see Edit on GitHub link top-right)
#. Raise a `support ticket`_ (Air Quality Project - Cloud Support)

Location
********

.. list-table::
:widths: auto
:header-rows: 1

* - Value
- Description
* - livingroom
- Main living space
* - kitchen
- Domestic or commercial kitchen
* - utilityroom
- Utility room, e.g. laundry etc.
* - hallway
- Hallway (any floor)
* - diningroom
- Dining room
* - bedroom
- Bedroom
* - office
- Home or business office
* - attic
- Attic
* - basement
- Basement
* - conservatory
- Conservatory
* - garage
- Garage
* - greenhouse
- Greenhouse
* - shed
- Shed
* - workshop
- Home, work or makerspace workshop
* - outdoor
- Any outdoor location, e.g. house wall or garden etc.
* - conference
- Conference centre or other venue hosting an event
* - mixed
- Sensors at more than one location, e.g. using Cabled Range Extender (CRE) boards

Project
*******

.. list-table::
:widths: auto
:header-rows: 1

* - Value
- Description
* - makerspace
- Makerspace/hackerspace subproject.
* - maltaschools
- Malta schools subproject.

25 changes: 25 additions & 0 deletions html/en/latest/_sources/cloud/account.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Account
#######

Registration
************

After an admin has created your account you will receive an e-mail invitation to complete the sign-up process, which must be completed within 7 days of receiving the e-mail. As part of which you will need to set a password and may have the option of configuring multi-factor authentication (MFA).

If you appear to have not received an e-mail, please check your spam folder.

.. note::
DesignSpark Cloud uses Okta for identity management, hence e-mails will be sent from okta.com and you will sometimes see this name in web pages.

Password
********

If you need to change your password, please visit `id.designspark.io`_, log in and select the menu by your name top-right, followed by *Settings*.

Should you forget your password, visit `id.designspark.io`_ and select the *Forgot password?* link.

.. warning::
If an incorrect password is entered too many times, your account will become locked and it will be neccessary to raise a `support ticket`_ to have this unlocked.

.. _id.designspark.io: https://id.designspark.io
.. _support ticket: https://designspark.zendesk.com/hc/en-us/requests/new?ticket_form_id=4828666213265
15 changes: 15 additions & 0 deletions html/en/latest/_sources/cloud/developer/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Cloud Developer Documentation
#############################

Here you can find documentation for developing applications which make use of DesignSpark Cloud.

Metrics is the first service to be introduced as part of the DesignSpark Cloud platform and this provides a hosted time series database, plus web visualation and analytics, which are based on the Prometheus and Grafana technologies.

A Python library is being developed to make it easier to create applications which make use of the Cloud platform.

.. toctree::
:maxdepth: 1
:hidden:

Introduction <self>
Python Library <https://docs.designspark.io/projects/cloud-library/en/latest>
6 changes: 6 additions & 0 deletions html/en/latest/_sources/cloud/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
DesignSpark Cloud
=================

DesignSpark Cloud is software-as-a-service (SaaS) for building IoT and other data driven solutions. It is presently an invitation-only "closed alpha" and the initial focus is on supporting the :doc:`/aq/index`.

Please see the menu on the left for further details.
74 changes: 74 additions & 0 deletions html/en/latest/_sources/cloud/metrics/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
Metrics
#######

The DesignSpark Metrics platform provides time series data storage and visualisation. It is built upon the Prometheus time series database (TSDB) and Grafana analytics and visualisation software.

Prometheus
**********

When access to DesignSpark Metrics is provisioned you will be provided with an :code:`instance` ID and at least one :code:`key` for accessing the instance. These should be kept secret and not shared or otherwise disclosed to any third parties.

Keys can be of the metricsPublisher (R/W) or Viewer (R/O) type and it's important that the correct type is used in applications. For example, attempting to use a Viewer key in an application that needs to publish metrics will result in failure.

Grafana
*******

The Grafana web application is accessed via `metrics.designspark.io`_. A DesignSpark Cloud :doc:`account </cloud/account>` is required to log in and your DesignSpark or RS Components website credentials will not work.

Home dashboard
==============

A dashboard can be set to be the home dashboard, such that this is immediately displayed whenever you log in. Next we will demonstrate how this can be done with the default :doc:`/aq/index` dashboard.

.. image:: /cloud/images/Metrics_default_home_dashboard.jpg
:alt: Grafana default dashboard.

Above can be seen the default Grafana home dashboard, which displays some headline statistics and useful links. To browse our other dashboards we use the left-hand menu and select *Dashboards* (four squares icon), followed by *Browse*.

.. image:: /cloud/images/Metrics_AQ_default_dashboards.jpg
:alt: Browsing the dashboards.

Here we can see we have a folder named after our DesignSpark Cloud UID, which for this user is *dsm1*. As an Air Quality project member, the user has been provisioned with a default dashboard named *AQ Default v1*, which we can select.

.. image:: /cloud/images/Metrics_AQ_default_star.jpg
:alt: Starring the default Air Quality project dashboard.

To set this as our home dashboard we need to first *star* it, by clicking on the star icon top-left.

.. image:: /cloud/images/Metrics_AQ_default_menu_preferences.jpg
:alt: Selecting preferences.

To now set our home dashboard we need to select *Preferences* via the menu on the user icon bottom-left.

.. image:: /cloud/images/Metrics_AQ_default_preferences_page.jpg
:alt: Setting the home dashboard.

Finally, we can select the *Home Dashboard*, followed by *Save*.

Copying a dashboard
===================

It is strongly recommended to copy default dashboards and make changes to copies, rather than the original. This way if mistakes are made, the default can be copied again. It is also possible that new default dashboards will be rolled out in future, which may involve deleting the old default dashboard.

.. image:: /cloud/images/Metrics_AQ_default_menu_settings.jpg
:alt: Selecting preferences.

To copy a dashboard, select *Dashboard settings* (gear icon, highlighted red).

.. image:: /cloud/images/Metrics_AQ_default_dashboard_settings.jpg
:alt: Selecting Save As...

Next, select *Save As...*.

.. image:: /cloud/images/Metrics_AQ_default_dashboard_saveas.jpg
:alt: Entering a name and saving.

Finally, enter a new name for the dashboard and select *Save*.

Editing dashboards
==================

For details of how to edit and create new dashboards, see the `Grafana documentation`_. However, note that anything in connection with installing software or administration tasks etc. will not be relevant.

.. _metrics.designspark.io: https://metrics.designspark.io
.. _Grafana documentation: https://grafana.com/docs/grafana/latest/
34 changes: 34 additions & 0 deletions html/en/latest/_sources/esdk/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Environmental Sensor Development Kit
####################################

.. image:: /esdk/images/ESDK_chain.jpg
:alt: ESDK Main board and sensor chain.

The DesignSpark Environmental Sensor Development Kit (ESDK) is an open source hardware platform that is designed to make it as easy as possible to prototype custom sensor solutions. It has been created to support the engineer activism Air Quality project, but could easily be put to use in other sensing projects — and for that matter, potentially a great many more IoT and wider applications that have a need for a small Linux computer with integrated touchscreen and GPS etc.

The ESDK uses a Raspberry Pi SBC for processing and is currently comprised of the following modules:

* **Main**. Main board which connects to the Raspberry Pi and provides a colour LCD screen, RTC, GPS, buttons and buzzer.
* **PEA**. Small PCB at the start of the sensor chain, cabled to the Main board.
* **THV**. Temperature, humidity and volatile organic compounds (VOC) sensor.
* **CO2**. CO2 sensor.
* **PM2**. Particulate matter sensor.
* **NO2**. NO2 sensor.
* **FLD**. Formaldehyde sensor.
* **NRD**. Nuclear radiation detector.
* **CRE-A & CRE-B**. Cabled range extender board set.
* **EEA**. Ecosystem adapter board which transitions to Pmod, Qwiic and Grove systems.

The Main board is connected to the Raspberry Pi P1 header and is cabled to the PEA board, which is at the start of the sensor chain. Each sensor has a connector on either side, allowing them to be connected together in chain.

The CRE boards permit the chain to be extended over longer distances, by converting the I2C interface into differential signals. The *A* board is located at the end closest to the Main board, while the *B* board is placed at the remote location, at the start of the extended sensor chain. The board set also provides power, with conversion to allow for a voltage drop over longer cable runs. Regular twisted pair Ethernet cable is used to connect the boards.

The EEA board may also be connected at the end of a sensor chain and transitions from the ESDK connector, to standard Pmod, Qwiic and Grove connectors. Thereby making it easy to connect third party sensors to the ESDK.

.. toctree::
:maxdepth: 1
:hidden:

Introduction <self>
Python Library <https://docs.designspark.io/projects/esdk-library/>
Hardware Designs <https://docs.designspark.io/projects/esdk-hardware/>
35 changes: 35 additions & 0 deletions html/en/latest/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
DesignSpark Documentation Library
#################################

The DesignSpark Documentation Library is used to host technical reference documentation for DesignSpark Cloud and collaborative open source projects. Documentation is written in reStructuredText (RST), hosted in GitHub repositories and generated using Sphinx, which makes it easier to update, manage and release documentation alongside code, using a "continous documentation" paradigm.

Should you identify a mistake or otherwise room for improvement, a pull request can be submitted using the *Edit on GitHub* link top-right of the page in question.

.. note::
Documentation which is not hosted as part of the main docs project and instead in a GitHub repository alongside code or PCB design files, is published under :code:`/projects/`. When navigating to such "sub-projects", the site navigation will change to that of the sub-project. This can be a little confusing at first, but the browser *Back* button can be used to return to the main documentation site.

.. toctree::
:maxdepth: 1
:hidden:
:caption: DesignSpark Cloud

Introduction <cloud/index>
Account <cloud/account>
cloud/metrics/index
Developer <cloud/developer/index>

.. toctree::
:maxdepth: 1
:hidden:
:caption: Projects

Air Quality <aq/index>
ESDK <esdk/index>

.. toctree::
:maxdepth: 1
:hidden:
:caption: Maintainer

Introduction <maintainer/index>
Documentation <maintainer/docs/index>
58 changes: 58 additions & 0 deletions html/en/latest/_sources/maintainer/docs/formatting.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Formatting
==========

General
-------

For general notes on reStructuredText (RST) formatting see:

* `Introduction to reStructuredText <https://www.writethedocs.org/guide/writing/reStructuredText/>`_
* `reStructuredText Primer <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_

There are various editors available with RST support, such as Visual Studio Code with the `reStructuredText plugin <https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext>`_.

Notes on less obvious formatting methods are provided below.

Linking to other project documentation
--------------------------------------

While it's possible to link to the documentation for another project just as you
would a regular website, it's better to use Intersphinx where this is also
Sphinx-based. Benefits include that you can then use a shorter cross-reference
role each time, rather than a full URL, as well there being just one place to
update the mapping should the host or URL path on the server change. For details,
see:

https://docs.readthedocs.io/en/stable/guides/intersphinx.html

If the target Sphinx project has not previously been linked to, it will likely be
neccessary to update :code:`conf.py` in the project you would like to link from,
in order to add a new Intersphinx mapping.

Subscript and Superscript
-------------------------

Subscript and superscript characters can be generated using the ``:sub:`` and
``:sup:`` roles. For example:

.. code-block:: rest
Upper limit 10\ :sup:`6`. See note\ :sub:`2`.
Gives:

Upper limit 10\ :sup:`6`. See note\ :sub:`2`.

.. note::
Interpreted text needs to be surrounded by whitespace or punctuation, which
means that if we don't want a gap, e.g. between ``10`` and ``6``, or between
``note`` and ``2``, we need to escape the whitespace with a backslash.

Non-ASCII Characters
--------------------

Non-ASCII characters can be inserted by using substitutions and these are
defined in the file ``substitutions.txt`` in the root of the Sphinx project.
For example, the right arrow (|rarr|) is inserted by entering ``|rarr|``. If a
character is not currently supported, simply look up the Unicode ID and add it
to substitutions.txt.
Loading

0 comments on commit a14abff

Please sign in to comment.