webRunes/WRIO-InternetOS

Recording sensor output

Closed this issue · 3 comments

[Done]

Page url of the device:

https://wr.io/device1/index.html

But feel free to use your own hosting for demo and test.
Use https://demo.wr.io as an example.

After the block

 {
"@context": "https://schema.org",
"@type": "Article",
...

add a new one.

<script type="application/ld+json">
        {
        "@context": "https://schema.org",
        "@type": "ItemList",
        "name": "Feed",
        "itemListElement": [
        {
        "@type": "ItemList",
        "name": "Feed",
        "description": "Feed for Demo",
        "url": "https://wrioos.com/feed/"
        }
        ]
        }
</script>

Do in the same manner as collection does: via link, so we won't be need to resave whole page but the feed page only. store feed like cover and collection as well: in the separate directory "Feed"

[below quote is an absolete task, see next comment "IoT json-ld" for a solution]

Check 
https://stackoverflow.com/questions/47355032/how-to-describe-the-temperature-with-schema-org
https://iot.webschemas.org/docs/iot-gettingstarted.html
https://schema.org/DataFeed
for the details. Develop the best solution.

The new block should contain timestamp and temperature variables only. If this block exists on the page than show a new tab "Feed" after "Home".
Page feed example:

10:00 Temperature 25°
10:10 Temperature 25.1°

Add a new record every 10 minutes, but store only last 5024 records. Delete previous. You can create 5024 initial empty records and add a new above and delete the last one every time. Feel free to offer your own approach.

The imec testbed information. Use it to get sensor output. You can choose any temperature sensor. You can find a list of the hardware here:
https://doc.ilabt.imec.be/ilabt/wilab/hardware.html#w-ilab-1-hardware
Tutorials to get started:

[Done]

IoT json-ld:

{
"@context": "http://schema.org/",
"@type": "Datafeed",
"@id": "https://url_of_sensor_page_here",
"dateCreated": "2019-11-19T:04:30:40",
"dataFeedElement": [
	{
    "@type": "DataFeedItem",
    "dateCreated": "2019-11-19T:04:35:00",
    "item": {
    	"@type": "Dataset",
        "variableMeasured": {
          "@type": "PropertyValue",
          "name": "temperature",
          "unitText": "celsius",
          "value": "10"
          }
      }
    },
	{
    "@type": "DataFeedItem",
    "dateCreated": "2019-11-19T:05:40:00",
    "item": {
    	"@type": "Dataset",
        "variableMeasured": {
          "@type": "PropertyValue",
          "name": "temperature",
          "unitText": "celsius",
          "value": "10.1"
          }
      }
    }
]
}

UPD: don't forget, it must be an html file with headers like, i.e. https://demo.wr.io/cover/index.html

[Done]

Use the same design as article does https://demo.wr.io to create feed page.

[date]
[time]  [temperature]°C
[time]  [temperature]°C
....
[date]
[time]  [temperature]°C
[time]  [temperature]°C
....
[date]
[time]  [temperature]°C
[time]  [temperature]°C

Date must be a [h2] with "Contents" (left menu) where dates listed.

[Backlog, it's only for me.]

  1. Alert on the page buttom:
[Buy premium account] to see full history and get access to the dashboard. 

2. create an imec profile with the first IoT sensor tickets
3. add IoT profile thumbnail above "Contents" that will lead to a page based on https://schema.org/Product. This page should contain tech info about the sensor. UPD: Profile tab
4. add [IoT registration] button that calls a popup window with information

Press "Connect" button on WRIO IoT Gate device to connect new sensors or enter the IPv6 address and AES key manually. For more information check manual inside the box.
IPv6         [                                                 ]
AES key   [                                                 ]
[Submit]
  1. create an IoT agricalture field demo page with a Google map image with IoT dots on it. Maybe we will add more use cases, i.e. smart home, store, smart garbage traking, etc.
  2. add Alert icon with info next to
[time]  [temperature]°C [alert icon] [alert description] [button to fix]
  1. add tags footer. Take them from keywords in json-ld
  2. add dashboard tab where display dashboard example and [Activate Premium] button. Add menu options (more info coming). Dashboard must be on "Company" profile page. Sensor pages should have a back to "Company" button.
24 Hours - 7 Days - 30 Days

24h is a free version.
9. add "+" tab to create new page: IoT (feed tab), Collection, Store, etc.
10. add device control via Twitter

#wrio #report #id_sensor
  1. add a section for "machine view"
https://wrioos.com/jsonld-vis/view/?http://url_here

12. Improve feed. It must be loaded through the key "?feed" like it's done for, i.e. cover
13. Create
[add new device] button (disabled, on hover show “Coming”)
[group management] button (disabled, on hover show “Upgrade to premium. Coming”)
table with columns:
[Checkbox] (disabled, on hover show “Upgrade to premium. Coming”). Use default "title" attribute
ID (use sensor's guid, show only first 4chars. Help https://stackoverflow.com/questions/35328019/css-display-only-the-first-two-letters-of-a-string)
Name [link to https://imec.wr.io/sensor_ID#/]
Location ("?")
Access ("public" for all services for now)
Cost (Free)
Protocol ("?")
Role (Publisher)
Alerts (0)
State (green "ok" icon, class="fas fa-check-circle")
Last seen
Last measurement (Dropdown with a list of mesurements (show the first one as a default value of the dropdown))
Device battery

14. Add a "provider" key on the feed pages. If there is a provider link, add on the sensor's page under "Home" and "Feed" a link [Back to the provider's page] to return on the parent page.
15. Add a "refresh" button on the Feed page to display last record. The record is "on-the-fly" and won't be stored.