Git Product home page Git Product logo

espeasy's Introduction

ESPEasy

Easy MultiSensor device based on ESP8266. This is a forked repository from main branch, implementing specific features. It should be backwards compatible as it does not introduce many/any changes to the core.

Follow the websites of the main project here:

Wiki: http://www.esp8266.nu Forum: http://www.esp8266.nu/forum

This fork is optimized for use in community wireless network wlan slovenija and with the platform nodewatcher.

Introduction

ESPEasy is firmware for ESP8266 modules that is pre-programmed with software support for a number of sensors. Simply attach sensors and configure then on the web interface. Supported sensors list and more unofficially supported sensors, however these you need to add manually and recompile the firmware. Firstly you need to register the sensor with the server to which the information will be pushed and secondly configure the sensor itself.

Register the sensor with nodewatcher

  1. Register and log on nodewatcher
  2. Select Register New Node under your user account
  3. Turn Advanced mode to ON on top right
  4. Now select Disable defaults
  5. Select the sensor name by entering it into Name field
  6. Select Platform to be ---------
  7. Configure location on the map if you wish
  8. Select Telemetry source to be Push from Node
  9. Add Identity Mechanisms field and select HMAC Signature
  10. Tick the box Trusted
  11. Pick your key and enter it in the field. Note that key as you will need to enter it into Controller User Account field on the sensor
  12. Change or use the system generated Authentication field, you will need to enter it into Admin password field on the sensor
  13. Remove Router Identifier
  14. Remove DNS servers

Instructions

  1. Get firmware or compile your own. Follow original instructions for flashing for nodewatcher support download firmware from this repository.
  2. Upload firmware and wait for the device to boot, may take a few minutes. You will see WiFi network ESP_0 appear and log-in with configesp password.
  3. Once connected go to http://192.168.4.1
  4. Configure WiFi network, for example choose open.wlan-si.net and enter password, for an open network enter any password.
  5. Now the device will connect to the network and let you know the new device IP.
  6. Connect you computer to the network the device is connected to and go the its IP.

Configuring for use with nodewatcher

  1. Go to config and enter the following:
  2. Enter Name to be the same as on nodewatcher
  3. Enter an Admin password, the same as on nodewatcher
  4. Select Protocol to be Nodewatcher JSON HTTP
  5. Set Locate Controller to push.nodes.wlan-si.net or whatever your server is
  6. Set Controller User Account to your sensor UUID as determined on nodewatcher. That is the set of numbers and letters following https://nodes.wlan-si.net/node/ in the URL. Note that you do not enter the trailing /
  7. Set Controller Password to your sensor HMAC Signature as determined on nodewatcher.
  8. Set Sensor Delay to how often do you want the node to wake up if put in Sleep mode. Note you need to connect two pins of ESP together for Sleep mode to work.
  9. Click Submit

Configuring sensors

  1. Go to Devices tab
  2. Click on Edit to add a new device
  3. Pick Device, it may be hardware or software feature.
  4. Configure WiFi signal reporting by selecting Device to be System Info
  5. Pick Name to be rssi, note all devices configured must have different name.
  6. Set Delay to show how often a variable will be reported. 300 is a good value.
  7. Set IDX / Var to be non-zero, best 1
  8. Set Indicator to be WiFi RSSI
  9. Set Value Name 1 to what data name on the graph will be, follow by comma and unit, optionally followed by group setting, this case: RSSI,dBm. Note that you do not need to define the group, bike in this case.
  10. Click Submit
  11. Click on Devices in top menu to see the value
  12. Repeat the process for different sensors, for example with DS18B20.
  13. Configure Temperature by selecting Device to be Temperature - DS18b20
  14. Pick Name to be temp_1, note all devices configured must have a different name.
  15. Set Delay to show how often a variable will be reported. 300 is a good value.
  16. Set IDX / Var to be non-zero, in this case 1
  17. Set 1st GPIO to be pin which you have the sensor connected to
  18. Set Value Name 1 to what data name on the graph will be, follow by comma and unit, followed by group setting, this case: YourTempName1,C,group_1. Note that you do not need to define the group, but all measurements that have the same group defined will be put on a single graph.
  19. Click Submit
  20. Now the Device Nr will show one or more ROM IDs if connection to sensors works. Pick first one.
  21. Click Submit
  22. Go to Device menu and repeat the process for next sensor
  23. Pick different name.
  24. Click Submit
  25. Now the Device Nr will show one or more ROM IDs if connection to sensors works. Pick second one and enter Value Name 1
  26. Click Submit

espeasy's People

Contributors

alexsuslov avatar battika avatar bertrik avatar ddtlabs avatar fgmx85 avatar fvdpol avatar hallard avatar ixtrader avatar lindeger avatar maartenbreddels avatar marcfon avatar markbergsma avatar martinusgh avatar maxx333 avatar moelski avatar nl0pvm avatar nonflammable avatar paloy avatar pm-cz avatar qubeck avatar racquemis avatar rtenklooster avatar saschaludwig avatar slomusti avatar thexperiments avatar tonia avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

espeasy's Issues

Add correct support for grouping of data on graphs on ndoewatcher

Nodewatcher supports grouping measurements on a single graph with the setting group, putting all measurements on a single graph that have a matching value set.

Should there be a group field in EasyEsp, that would be straightforward, however that would require the whole system to be changes and likely we can reuse some other field.

Every device is defined with Name and IDX / Var and name should be different for all sensors. Note that display or other things may assume each sensor has a different task 'name' and thus we can not simply use name as a group and idx as sequence number.

Lets consider a few EspEasy specific examples:

  1. sensor with one value, simple, define each device separately, give them common group naming to group
  2. sensor with multiple values, we want all the values to be in the same group or graph
  3. sensor with multiple values, we want to have values on separate graphs but we may want to group a number of the same sensors together

We have a number of options:

  1. Choose the device name to be unique, auto-number all sensors internally and use IDX value as group selector. Note IDX value must be non-0 and can not be text. Breaks the use-case 3, because IDX is per device not per value.
  2. Construct the device name to represent the group and then use idx to be the unique identifier. This breaks the way display is implemented as well as use-case 3.
  3. Define group per value directly with a delimiter, for example <readable name>,<unit>,<group> and if group undefined, do not define it. Does not break any use-cases, makes usage with displays a bit less practical, but still feasible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.