docs.simpleiot.org Open in urlscan Pro
134.209.141.30  Public Scan

Submitted URL: http://simpleiot.org/
Effective URL: https://docs.simpleiot.org/
Submission: On June 01 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

<form id="searchbar-outer" class="searchbar-outer">
  <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>

Text Content

 1.  Introduction
 2.  
 3.  User Guide
 4.  1. Installation
 5.  2. Use Cases
 6.  3. User Interface
 7.  4. Users/Groups
 8.  5. Notifications
 9.  6. Clients
 10. 1.  6.1. CAN bus
     2.  6.2. Database
     3.  6.3. Modbus
     4.  6.4. 1-Wire
     5.  6.5. Messaging services
     6.  6.6. MCU Devices
     7.  6.7. Metrics
     8.  6.8. Particle.io
     9.  6.9. Rules
     10. 6.10. Shelly IoT
     11. 6.11. Signal Generator
     12. 6.12. Synchronization
     13. 6.13. Update
     14. 6.14. USB
 11. 7. Graphing
 12. 8. Configuration
 13. 9. Status/Errata
 14. 10. FAQ
 15. 
 16. Reference Guide
 17. 11. Documentation
 18. 12. Vision
 19. 13. Architecture
 20. 1. 13.1. System
     2. 13.2. Application
     3. 13.3. Client
 21. 14. Development
 22. 15. Data
 23. 1. 15.1. Store
     2. 15.2. Synchronization
 24. 16. Reliability
 25. 17. API
 26. 18. Frontend
 27. 19. Rules
 28. 20. Notifications
 29. 21. Integration
 30. 22. Serial Devices
 31. 23. Version
 32. 24. Security
 33. 25. Research
 34. 
 35. Architecture Decision Records
 36. 26. Overview
 37. 27. ADR-1: Point data type
 38. 28. ADR-2: Authz
 39. 29. ADR-3: Node life cycle
 40. 30. ADR-4: Time storage/format considerations
 41. 31. ADR-5: Time validation
 42. 32. ADR Template


 * Light
 * Rust
 * Coal
 * Navy
 * Ayu


SIMPLE IOT




Simple Iot enables you to add remote sensor data, telemetry, configuration, and
device management to your project or product.

Implementing IoT systems is hard. Most projects take way longer and cost more
than they should. The fundamental problem is getting data from remote locations
(edge) to a place where users can access it (cloud). We also need to update data
and configuration at the edge in real time from any location. Simple IoT is an
attempt to solve these problems by embracing the fact that IoT systems are
inherently distributed and building on simple concepts that scale.

Simple IoT provides:

 * a single application with no dependencies that can be run in both cloud and
   edge instances
 * efficient synchronization of data in both directions
 * a flexible UI to view configuration and current values
 * a rules engine that runs on all instances that can trigger notifications or
   set data
 * extensive support for Modbus -- both server and client
 * support for the Linux 1-wire subsystem.
 * flexible graph organization of instances, users, groups, rules, and
   configuration
 * integration with other services like InfluxDB and Twilio
 * a system that is easy to extend in any language using NATS
 * a number of useful Go packages to use in your custom application

See vision, architecture, and integration for addition discussion on these
points.

See detailed documentation for installation, usage, and development information.


MOTIVATION

This project was developed while building real-world IoT applications and has
been driven by the following requirements:

 * Data (state or configuration) can be changed anywhere — at edge devices or in
   the cloud and this data needs to be synchronized seamlessly between
   instances. Sensors, users, rules, etc. can all change data. Some edge systems
   have a local display where users can modify the configuration locally as well
   as in the cloud. Rules can also run in the cloud or on edge devices and
   modify data.
 * Data bandwidth is limited in some IoT systems — especially those connected
   with Cat-M modems (< 100kb/s). Additionally, connectivity is not always
   reliable, and systems need to continue operating if not connected.


CORE IDEAS

The process of developing Simple IoT has been a path of reducing what started as
a fairly complex IoT system to simpler ideas. This is what we discovered along
the way:

 1. treat configuration and state data the same for purposes of storage and
    synchronization.
 2. represent this data using simple types (Nodes and Points).
 3. organize this data in a graph.
 4. all data flows through a message bus.
 5. run the same application in the cloud and at the edge.
 6. automatically sync common data between instances.

> Design is the beauty of turning constraints into advantages. -- Ava Raskin

These constraints have resulted in Simple IoT becoming a flexible distributed
graph database optimized for IoT datasets. We'll explore these ideas more in the
documentation.


SUPPORT, COMMUNITY, CONTRIBUTING, ETC.

Pull requests are welcome -- see development for more thoughts on architecture,
tooling, etc. Issues are labelled with "help wanted" and "good first issue" if
you would like to contribute to this project.

For support or to discuss this project, use one of the following options:

 * Documentation
 * Simple IoT community forum
 * #simpleiot Slack channel is available on gophers.slack.com
 * open a Github issue
 * Simple IoT YouTube channel
 * subscribe to our email newsletter for project updates.


LICENSE

Apache Version 2.0


CONTRIBUTORS

Thanks to contributors:

Made with contrib.rocks.