Outils pour utilisateurs

Outils du site


cours:ds4h_iot_2018

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:ds4h_iot_2018 [2018/10/12 07:27]
tigli [Correction]
cours:ds4h_iot_2018 [2018/12/17 20:48] (Version actuelle)
tigli [Optionnal Project]
Ligne 75: Ligne 75:
 ||| |||
 ** Correction : **  ** Correction : ** 
 +
 +{{:​cours:​corrections.zip| Corrections Zip file}}
 +
 +
 <​code>​ <​code>​
-[{"​id":"​a1550bd9.1468c8","​type":"​tab","​label":"​Flow 2","​disabled":​false,"​info":""​},​{"​id":"​4f3e12bb.aa3b8c","​type":"​mqtt in","​z":"​a1550bd9.1468c8","​name":"","​topic":"​openhab/#","​qos":"​2","​broker":"​f9e5d8f1.1e9188","​x":​67,"​y":​204,"​wires":​[["​5194de73.2aacf"​]]},​{"​id":"​5194de73.2aacf","​type":"​debug","​z":"​a1550bd9.1468c8","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​151.99998474121094,"​y":​327,"​wires":​[]},​{"​id":"​43e7d350.1318f4","​type":"​mqtt out","​z":"​a1550bd9.1468c8","​name":"","​topic":"​openhab/​zwave_device_1b2be295_node4_switch_binary/​commandssub","​qos":"","​retain":"","​broker":"​f9e5d8f1.1e9188","​x":​600,"​y":​248,"​wires":​[]},​{"​id":"​eb50de7a.5703b8","​type":"​inject","​z":"​a1550bd9.1468c8","​name":"​Prise ON","​topic":"","​payload":"​ON","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​366,"​y":​155,"​wires":​[["​43e7d350.1318f4"​]]},​{"​id":"​3f8fea1a.953a7e","​type":"​inject","​z":"​a1550bd9.1468c8","​name":"​Prise OFF","​topic":"","​payload":"​OFF","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​362,"​y":​343,"​wires":​[["​43e7d350.1318f4"​]]},​{"​id":"​f9e5d8f1.1e9188","​type":"​mqtt-broker","​z":"","​name":"","​broker":"​192.168.1.134","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}]+[{"​id":"​7e96c990.582bf8","​type":"​mqtt in","​z":"​2ce2a219.894e3e","​name":"","​topic":"​openhab/#","​qos":"​2","​broker":"​aa872460.7dff18","​x":​120,"​y":​160,"​wires":​[["​e6cd4834.c78e68"​]]},​{"​id":"​e6cd4834.c78e68","​type":"​debug","​z":"​2ce2a219.894e3e","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​390,"​y":​160,"​wires":​[]},​{"​id":"​420c7771.ed7e08","​type":"​mqtt out","​z":"​2ce2a219.894e3e","​name":"","​topic":"​openhab/​zwave_device_1b2be295_node4_switch_binary/​commandssub","​qos":"","​retain":"","​broker":"​aa872460.7dff18","​x":​1000,"​y":​160,"​wires":​[]},​{"​id":"​2bfce164.02ee0e","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise ON","​topic":"","​payload":"​ON","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​620,"​y":​140,"​wires":​[["​420c7771.ed7e08"​]]},​{"​id":"​1165f273.5a523e","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise OFF","​topic":"","​payload":"​OFF","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​620,"​y":​180,"​wires":​[["​420c7771.ed7e08"​]]},​{"​id":"​aa872460.7dff18","​type":"​mqtt-broker","​z":"","​name":"​192.168.137.93","​broker":"​192.168.137.93","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}]
 </​code>​ </​code>​
 ==== From Edge to Cloud in YoIoT ==== ==== From Edge to Cloud in YoIoT ====
Ligne 94: Ligne 98:
  
 ==== A completet Application in YoIoT ==== ==== A completet Application in YoIoT ====
 +
 +----
  
 == Required Knowledge: == == Required Knowledge: ==
Ligne 114: Ligne 120:
  
  
-==== Optionnal ​Project ====+==== Optional ​Project ====
  
 This project aims to use a IoT devices simulator in a Smart Home Context. This project aims to use a IoT devices simulator in a Smart Home Context.
Ligne 125: Ligne 131:
 ==== Correction ==== ==== Correction ====
  
-([[cours:​DS4HIoT:​correcions|Old Corrections]])+----
  
 +([[cours:​DS4HIoT:​correcions|Corrections Page]])
  
-** Web Services Accesses ** +====== Back to IoT infrastructure concepts ======
  
-// be careful, if you want to use Web Services ​to access ​to ThingSpeak first you must create channels to publish ​data and get the corresponding keys  //+==== Main concepts ==== 
 +  * IoT Infrastructure architecture : IoT Devices/Edge/Cloud  
 +  * IoT are devices using sensors but also actuators ​to perceive and act in the real physical environment  
 +  * Edge consists in a set of Gateway and/or local servers that exchange information ​to/from the IoT Devices from/to the Cloud, sometimes after local data processing  
 +  * Edge Advantages :  
 +     * Resilience: data processing doesn'​t depend on the Internet connection 
 +  * Edge Disadvantages :  
 +     * Costs for large-scale IoT system: required local resources are more and more expensive (more gateways, more servers, sometimes local datacenters,​ technicians for maintenance ...)   
 +     * See simple costs model depending on the number of clients  
 +  * Cloud provides web services but also data processing, data storage or even virtual machines  
 +     * we distinguish three kinds of Cloud Software Infrastructures  
 +     * IAAS, PAAS, SAAS 
 +  * SAAS: Software as a service (SaaS) 
 +  * PAAS: Platform as a service (SaaS) 
 +  * IAAS: Infrastructure as a service (SaaS) 
 +  * Cost Model :  
 +     * Pricing Simulator  
 +     * [[https://azure.microsoft.com/​en-us/​pricing/​calculator/​|Pricing Simulator for Microsoft Azure Cloud]] 
 +     * Exercice: try to evaluate your own cost model depending on the number of clients (makes and comments all the hypotheses you need). ​
  
-  * Dataflow that publishes/​displays a changing data in ThingSpeak, using timer +==== Main commercial platforms ====
  
-// This example uses a key of the 275 public channel : https://​sparks-vm24.i3s.unice.fr/​channels/​275 ​ //+Main Companies and their solutions: 10 of the famous platforms available today   
 +  * MICROSOFT AZURE IOT HUB 
 +  * IBM WATSON IOT PLATFORM 
 +  * GOOGLE CLOUD PLATFORM 
 +  * ORACLE 
 +  * SALESFORCE 
 +  * BOSCH 
 +  * CISCO IOT CLOUD CONNECT 
 +  * GENERAL ELECTRICS PREDIX 
 +  * SAP 
 +  * AWS AMAZON CLOUD 
  
-<​code>​ 
-[{"​id":"​b6ba693.b940298","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Inject data","​topic":"","​payload":"​-5","​payloadType":"​num","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​160,"​y":​580,"​wires":​[["​d23c2100.93cbc"​]]},​{"​id":"​9dde6e7f.3cd66","​type":"​delay","​z":"​2ce2a219.894e3e","​name":"​delai repet","​pauseType":"​delay","​timeout":"​5","​timeoutUnits":"​seconds","​rate":"​1","​nbRateUnits":"​1","​rateUnits":"​second","​randomFirst":"​1","​randomLast":"​5","​randomUnits":"​seconds","​drop":​false,"​x":​390,"​y":​660,"​wires":​[["​7db93689.4f46c8"​]]},​{"​id":"​a61123ff.96303","​type":"​http request","​z":"​2ce2a219.894e3e","​name":"","​method":"​GET","​ret":"​txt","​url":"​https://​sparks-vm24.i3s.unice.fr/​update?​key=F5OBSRU54WPK0XSA&​field1={{{field1}}}&​field2={{{field2}}}&​field3={{{field3}}}&​field4={{{field4}}}","​tls":"","​x":​620,"​y":​580,"​wires":​[[]]},​{"​id":"​d23c2100.93cbc","​type":"​function","​z":"​2ce2a219.894e3e","​name":"​set fields","​func":"​msg.field1 = msg.payload;​\nmsg.field2 = msg.payload + 1;​\nmsg.field3 = msg.payload - 1;​\nmsg.field4 = msg.payload * 2;\nreturn msg;","​outputs":​1,"​noerr":​0,"​x":​400,"​y":​580,"​wires":​[["​9dde6e7f.3cd66","​a61123ff.96303"​]]},​{"​id":"​7db93689.4f46c8","​type":"​function","​z":"​2ce2a219.894e3e","​name":"​increment","​func":"​msg.payload++;​\nreturn msg;","​outputs":​1,"​noerr":​0,"​x":​390,"​y":​720,"​wires":​[["​d23c2100.93cbc"​]]}] 
-</​code>​ 
  
-    ​ 
-  * Dataflow that gets weather information on OpenWeatherMap Web Service (here, students can use my API key but without any guarantee). In case of problem, get your own API key after free registration. 
  
-<​code>​ [{"​id":"​452441aa.07cbd","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"","​topic":"","​payload":"​Biot,​FR","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​810,"​y":​400,"​wires":​[["​abb00141.4754c"​]]},​{"​id":"​65daee20.15c48","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"","​topic":"","​payload":"​Moscow,​RU","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​830,"​y":​460,"​wires":​[["​abb00141.4754c"​]]},​{"​id":"​abb00141.4754c","​type":"​http request","​z":"​2ce2a219.894e3e","​name":"​OpenWeatherMap Request","​method":"​GET","​ret":"​txt","​url":"​http://​api.openweathermap.org/​data/​2.5/​weather?​q={{{payload}}}&​appid=8e35e9a5638ee0540022a6b38d9ea89c","​tls":"","​x":​1040,"​y":​380,"​wires":​[["​10bf958d.e421aa"​]]},​{"​id":"​fc448289.27d86","​type":"​debug","​z":"​2ce2a219.894e3e","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​1250,"​y":​440,"​wires":​[]},​{"​id":"​10bf958d.e421aa","​type":"​function","​z":"​2ce2a219.894e3e","​name":"​parse and format","​func":"​var obj = JSON.parse(msg.payload);​\nmsg.payload = obj.name + \":​\"​ + obj.weather[0].main;​\nreturn msg;","​outputs":​1,"​noerr":​0,"​x":​1070,"​y":​480,"​wires":​[["​fc448289.27d86"​]]}] 
-</​code>​ 
-  
-** Dataflow that gets information from OpenHAB ** 
-      * using a OpenHab MQTT flow 
-<​code>​ 
-         ​[{"​id":"​7e96c990.582bf8","​type":"​mqtt in","​z":"​2ce2a219.894e3e","​name":"","​topic":"​openhab/#","​qos":"​2","​broker":"​aa872460.7dff18","​x":​120,"​y":​160,"​wires":​[["​e6cd4834.c78e68"​]]},​{"​id":"​e6cd4834.c78e68","​type":"​debug","​z":"​2ce2a219.894e3e","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​390,"​y":​160,"​wires":​[]},​{"​id":"​420c7771.ed7e08","​type":"​mqtt out","​z":"​2ce2a219.894e3e","​name":"","​topic":"​openhab/​zwave_device_1b2be295_node4_switch_binary/​commandssub","​qos":"","​retain":"","​broker":"​aa872460.7dff18","​x":​1000,"​y":​160,"​wires":​[]},​{"​id":"​2bfce164.02ee0e","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise ON","​topic":"","​payload":"​ON","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​620,"​y":​140,"​wires":​[["​420c7771.ed7e08"​]]},​{"​id":"​1165f273.5a523e","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise OFF","​topic":"","​payload":"​OFF","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​620,"​y":​180,"​wires":​[["​420c7771.ed7e08"​]]},​{"​id":"​aa872460.7dff18","​type":"​mqtt-broker","​z":"","​name":"​192.168.137.93","​broker":"​192.168.137.93","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}] 
-</​code>​ 
  
-      * using the OpenHab REST API  
-<​code>​ 
-[{"​id":"​b72e122c.7d834","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise ON","​topic":"","​payload":"​ON","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​840,"​y":​580,"​wires":​[["​ba7d98c.9efac68"​]]},​{"​id":"​5bf29976.e28098","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Prise OFF","​topic":"","​payload":"​OFF","​payloadType":"​str","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​840,"​y":​620,"​wires":​[["​ba7d98c.9efac68"​]]},​{"​id":"​ba7d98c.9efac68","​type":"​http request","​z":"​2ce2a219.894e3e","​name":"​OpenHAB Node4","​method":"​POST","​ret":"​txt","​url":"​http://​192.168.137.93:​8080/​rest/​items/​zwave_device_1b2be295_node4_switch_binary","​tls":"","​x":​1050,"​y":​600,"​wires":​[["​96d0f087.426fa"​]]},​{"​id":"​96d0f087.426fa","​type":"​debug","​z":"​2ce2a219.894e3e","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​1260,"​y":​600,"​wires":​[]}] 
  
-</​code>​ 
  
  
-** Loop to read OpenHab sensor value  **+==== Price and Cost Model of IoT infrastructures ====
  
-<​code>​ +  * This part will be discussed during the courseA synthesis will be produced by students and evaluate by the teacher. 
-[{"​id":"​5e2906c6.ff0a28","​type":"​http request","​z":"​a1550bd9.1468c8","​name":"","​method":"​GET","​ret":"​txt","​url":"​http://​192.168.1.134:​8080/​rest/​items/​zwave_device_1b2be295_node10_sensor_temperature/​state","​tls":"","​x":​406.10003662109375,"​y":​180.1999969482422,"​wires":​[["​abf47735.d71a28"​]]},​{"​id":"​61272c17.7ce984","​type":"​inject","​z":"​a1550bd9.1468c8","​name":"","​topic":"","​payload":"","​payloadType":"​date","​repeat":"​3","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​272.1000061035156,"​y":​73,"​wires":​[["​5e2906c6.ff0a28"​]]},​{"​id":"​abf47735.d71a28","​type":"​debug","​z":"​a1550bd9.1468c8","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​payload","​x":​624.1000366210938,"​y":​180.40000915527344,"​wires":​[]}] +  * An example of using a pricing and cost simulator of a cloud provider  
-[{"​id":"​a1550bd9.1468c8","​type":"​tab","​label":"​Flow 2","​disabled":​false,"​info":""​},​{"​id":"​5e2906c6.ff0a28","​type":"​http request","​z":"​a1550bd9.1468c8","​name":"","​method":"​GET","​ret":"​txt","​url":"​http://192.168.1.134:8080/rest/items/zwave_device_1b2be295_node10_sensor_luminance/​state","​tls":"","​x":​406.10003662109375,"​y":​180.1999969482422,"​wires":​[["​abf47735.d71a28","​89172555.a47bc8"​]]},​{"​id":"​61272c17.7ce984","​type":"​inject","​z":"​a1550bd9.1468c8","​name":"","​topic":"","​payload":"","​payloadType":"​date","​repeat":"​3","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​272.1000061035156,"​y":​73,"​wires":​[["​5e2906c6.ff0a28"​]]},​{"​id":"​abf47735.d71a28","​type":"​debug","​z":"​a1550bd9.1468c8","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​payload","​x":​624.1000366210938,"​y":​180.40000915527344,"​wires":​[]},​{"​id":"​89172555.a47bc8","​type":"​http request","​z":"​a1550bd9.1468c8","​name":"","​method":"​GET","​ret":"​txt","​url":"​https://​sparks-vm24.i3s.unice.fr/​update?​key=F5OBSRU54WPK0XSA&​field1={{{payload}}}","​tls":"","​x":​519.1000366210938,"​y":​276,"​wires":​[[]]}]-- +     ​* ​[[https://azure.microsoft.com/en-us/pricing/#explore-cost|pricing and cost simulator for Microsoft Azure Platform]]
-</​code>​+
  
-** correction for optionnal Home IO manipulations ** +==== Use Cases Analysis ====
  
-// Find in the Home I/O installation directory, a zip/csv file that gives the sensors list with prefixes A,B,C ... //+Find here different use cases.
  
 +What kind of topics should be studied for a company?
  
-   Dataflow that get boolean sensors information ​in room A+  ​What do you think about technical constraints ​in the use case you choose? 
 +  * What do you think about cost and pricing in the use case you choose? 
 +  * Anything else? 
 +  * What can you plan to complete this studies?
  
-<​code>​ +  * {{:cours:emotorwerks-iot-case-study.pdf|}}
-[{"​id":"​72ccc74c.836b88","​type":"​mqtt in","​z":"​2ce2a219.894e3e","​name":"","​topic":"/​home/​A/​Input/​bool/#","​qos":"​2","​broker":"​53b33537.72499c","​x":​200,"​y":​360,"​wires":​[["​7f13ecda.da48c4"​]]},​{"​id"​:"​7f13ecda.da48c4","​type"​:"​debug","​z":"​2ce2a219.894e3e","​name":"","​active":​true,"​tosidebar":​true,"​console":​false,"​tostatus":​false,"​complete":"​false","​x":​460,"​y":​360,"​wires":​[]},​{"​id":"​53b33537.72499c","​type":"​mqtt-broker","​z":"","​name":"​localhost","​broker":"​localhost","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"",​ +
-        "​closeQos":"​0","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}+
-</​code>​+
  
-   Dataflow that controls lights in room A +  ​* {{:cours:case-study-kitchen.pdf|}}
-<​code>​ +
-[{"​id":"​18542933.86d2c7","​type":"​mqtt out","​z":"​2ce2a219.894e3e","​name":"","​topic":"/​home/​A/​Output/​bool/​Lights","​qos":"","​retain":"","​broker":"​53b33537.72499c","​x":​540,"​y":​460,"​wires":​[]},​{"​id"​:"​3b14a0e3.3cf4c","​type"​:"​inject","​z":"​2ce2a219.894e3e","​name":"​Lampes ON","​topic":"","​payload":"​true","​payloadType":"​bool","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​170,"​y":​440,"​wires":​[["​18542933.86d2c7"​]]},​{"​id":"​9cc3ec49.cc846","​type":"​inject","​z":"​2ce2a219.894e3e","​name":"​Lampes OFF","​topic":"","​payload":"​false","​payloadType":"​bool","​repeat":"","​crontab":"","​once":​false,"​onceDelay":​0.1,"​x":​170,"​y":​480,"​wires":​[["​18542933.86d2c7"​]]},​{"​id":"​53b33537.72499c","​type":"​mqtt-broker","​z":"","​name":"​localhost","​broker":"​localhost","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closeQos":"​0","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}] +
-</​code>​ +
-        +
-   * Link one Home IO virtual switch to a real light in OpenHab+
  
-<​code>​ +  * {{:cours:leading_tools_manufacturer_-_cisco.pdf|}}
-[{"​id":"​63cba22a.43de3c","​type":"​mqtt in","​z":"​2ce2a219.894e3e","​name":"","​topic":"/​home/​A/​Input/​bool/​Up-Down_Switch_1_(Up)","​qos":"​2","​broker":"​53b33537.72499c","​x":​310,"​y":​960,"​wires":​[["​88c2d0ba.4c8b9"​]]},​{"​id"​:"​779f82d3.a80d4c","​type"​:"mqtt in","​z":"​2ce2a219.894e3e","​name":"","​topic":"/​home/​A/​Input/​bool/​Up-Down_Switch_1_(Down)","​qos":"​2","​broker":"​53b33537.72499c","​x":​320,"​y":​1020,"​wires":​[["​e44a55cd.753418"​]]},​{"​id":"​88c2d0ba.4c8b9","​type":"​switch","​z":"​2ce2a219.894e3e","​name":"​filter true","​property":"​payload","​propertyType":"​msg","​rules":​[{"​t":"​eq","​v":"​True","​vt":"​str"​}],"​checkall":"​true","​repair":​false,"​outputs":​1,"​x":​600,"​y":​960,"​wires":​[["​529f2ff8.62271"​]]},​{"​id":"​e44a55cd.753418","​type":"​switch","​z":"​2ce2a219.894e3e","​name":"​filter true","​property":"​payload","​propertyType":"​msg","​rules":​[{"​t":"​eq","​v":"​True","​vt":"​str"​}],"​checkall":"​true","​repair":​false,"​outputs":​1,"​x":​600,"​y":​1020,"​wires":​[["​63d5e341.6a145c"​]]},​{"​id":"​529f2ff8.62271","​type":"​change","​z":"​2ce2a219.894e3e","​name":"​convert payload","​rules":​[{"​t":"​set","​p":"​payload","​pt":"​msg","​to":"​ON","​tot":"​str"​}],"​action":"","​property":"","​from":"","​to":"","​reg":​false,"​x":​800,"​y":​960,"​wires":​[["​37074f0a.af995"​]]},​{"​id":"​63d5e341.6a145c","​type":"​change","​z":"​2ce2a219.894e3e","​name":"​convert payload","​rules":​[{"​t":"​set","​p":"​payload","​pt":"​msg","​to":"​OFF","​tot":"​str"​}],"​action":"","​property":"","​from":"","​to":"","​reg":​false,"​x":​800,"​y":​1020,"​wires":​[["​37074f0a.af995"​]]},​{"​id":"​37074f0a.af995","​type":"​mqtt out","​z":"​2ce2a219.894e3e","​name":"","​topic":"​openhab/​zwave_device_1b2be295_node4_switch_binary/​commandssub","​qos":"","​retain":"","​broker":"​aa872460.7dff18","​x":​1230,"​y":​1000,"​wires":​[]},​{"​id":"​53b33537.72499c","​type":"​mqtt-broker","​z":"","​name":"​localhost","​broker":"​localhost","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closeQos":"​0","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​},​{"​id":"​aa872460.7dff18","​type":"​mqtt-broker","​z":"","​name":"​192.168.137.93","​broker":"​192.168.137.93","​port":"​1883","​clientid":"","​usetls":​false,"​compatmode":​true,"​keepalive":"​60","​cleansession":​true,"​birthTopic":"","​birthQos":"​0","​birthPayload":"","​closeTopic":"","​closePayload":"","​willTopic":"","​willQos":"​0","​willPayload":""​}] +
-</​code>​ +
- +
-  +
-====== Back to the concepts Of IoT infrastructure ====== +
- +
-==== Main commercial platforms ==== +
- +
-Main Companies and their solutions : 10 of the famous platforms available today   +
-  * MICROSOFT AZURE IOT HUB +
-  * IBM WATSON IOT PLATFORM +
-  * GOOGLE CLOUD PLATFORM +
-  * ORACLE +
-  * SALESFORCE +
-  * BOSCH +
-  * CISCO IOT CLOUD CONNECT +
-  * GENERAL ELECTRICS PREDIX +
-  * SAP+
  
 +==== Evaluation of the Course ====
  
 +Please fill this form before living: ​
  
 +[[https://​goo.gl/​forms/​gTvX1YHXTxCCr5Al2|Course Evaluation Form]]
cours/ds4h_iot_2018.1539322060.txt.gz · Dernière modification: 2018/10/12 07:27 par tigli