User Tools

Site Tools


projects:spejsiot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
projects:spejsiot [2016/08/30 20:29] – created informaticprojects:spejsiot [2017/02/03 13:05] informatic
Line 1: Line 1:
 ====== SpejsIoT ====== ====== SpejsIoT ======
  
-Warsaw Hackerspace IoT something. Because NIH. It all goes through central MQTT broker now.+Warsaw Hackerspace IoT something network thingie<del>Because NIH.</del> Based on ESP8266. It all goes through central MQTT broker now. 
 + 
 +Turns out someone did it kind of better - https://github.com/marvinroger/homie. It seems to have more-or-less the same ideas, but extended further a little bit. We'll just most probably rewrite it in Sming, as Arduino for esp8266 (for which official implementation of homie is implemented) sucks. 
 + 
 +MQTT/HTTP documentation below stays here mostly for historical purposes. 
 + 
 +==== Devices ==== 
 +  * **Working** 
 +    * Vacuum cleaner (10.8.0.140) 
 +    * Exhaust (10.8.0.22) 
 +  * **Planned** 
 +    * Valves 
 +    * Lights 
 + 
 +==== Framework ==== 
 +Software framework for quick implementation of spejsiot-compatible devices on ESP8266 with Sming is available at: 
 +https://code.hackerspace.pl/informatic/spejsiot 
 + 
 +Keep in mind this still requires some documentation and cleanup. Kick [[people:informatic:start]] in case of any problem. 
 + 
 +OTA is working fine. 
 + 
 +==== REST API ==== 
 +Simple stateless REST API is available at: http://spejsiot.waw.hackerspace.pl/ 
 +API documentation is available there as well. 
 + 
 +Source: https://code.hackerspace.pl/informatic/spejsiot-api 
 + 
 +==== Home Assistant (GUI) ==== 
 +Cute web interface for most IoT-like things in our hackerspace is available at: http://iot.waw.hackerspace.pl/ 
 + 
 +**Note:** help needed with implementation of device autodiscovery 
 + 
 +====== WARNING: Information below is mostly deprecated ====== 
 + 
 +==== Queue topics ====
  
 ^ Topic                                 ^ Description                          ^ ^ Topic                                 ^ Description                          ^
Line 9: Line 44:
 | ''iot/ //DEVICE_ID// /ota''           | **write:** OTA status, ''started'', ''finished'', ''failed''| | ''iot/ //DEVICE_ID// /ota''           | **write:** OTA status, ''started'', ''finished'', ''failed''|
 | ''iot/ //DEVICE_ID// / //ENDPOINT//'' | value to set, or state change report, eg. ''iot/123456/relay = 1'' | | ''iot/ //DEVICE_ID// / //ENDPOINT//'' | value to set, or state change report, eg. ''iot/123456/relay = 1'' |
 +
 +==== HTTP API ====
 +Spejsiot devices publish simple REST-like HTTP API:
 +^ Address                              ^ Description                             ^
 +| ''/metadata.json''                   | Simple device status and endpoints list |
 +| ''/api/1/ //ENDPOINT// / //VALUE//'' | Set value to endpoint                   |
 +
 +==== Endpoints ====
 +Right now only used endpoint is ''relay'', which takes ''0'', ''1'' or ''toggle'' values.
 +
 +==== mDNS / Zeroconf / Avahi ====
 +Spejsiot devices advertise using Avahi/Zeroconf/mDNS/Bonjour on local network as services of type ''_spejsiot._tcp''.
 +
 +[[https://github.com/Informatic/mqtt-playground|Some working code]]
projects/spejsiot.txt · Last modified: 2017/02/12 02:15 by informatic

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki