User Tools

Site Tools


devicehub

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devicehub [2016/11/08 16:58]
dan.tudose [Trimiterea de date]
devicehub [2016/11/08 18:34] (current)
dan.tudose [DeviceHub]
Line 17: Line 17:
 DeviceHub pune la dispoziție un API prin care diverse platforme IoT se pot conecta direct la server-ul din cloud. Din cauză că nodurile Sparrow nu au posibilitatea de a se conecta la WiFi sau Ethernet, vom folosi un PC pe post de client DeviceHub. Nodul Sparrow va trimite datele prin interfața serială către PC, iar acesta va rula un mic program scris în Python pentru a parsa datele primite și a le trimite DeviceHub. DeviceHub pune la dispoziție un API prin care diverse platforme IoT se pot conecta direct la server-ul din cloud. Din cauză că nodurile Sparrow nu au posibilitatea de a se conecta la WiFi sau Ethernet, vom folosi un PC pe post de client DeviceHub. Nodul Sparrow va trimite datele prin interfața serială către PC, iar acesta va rula un mic program scris în Python pentru a parsa datele primite și a le trimite DeviceHub.
  
-Pentru aceasta, trebuie să vă instalați [[https://www.python.org/|Python]] 2.7.x pe mașina voastră.+Pentru aceasta, trebuie să vă instalați [[https://www.python.org/|Python]] 2.7.x pe mașina voastră și biblioteca **devicehub**, care se poate face rapid din linia de comandă folosind utilitarul pip: 
 + 
 +<code shell> > pip install devicehub</code> 
  
 ==== Trimiterea de date ==== ==== Trimiterea de date ====
Line 125: Line 128:
 <note>**Task 4:** Scrieți un mic program pentru nodul Sparrow în care led-ul verde (digital pin 11) poate fi aprins/stins prin comenzi din interfața serială (de ex. de fiecare dată când este recepționat caracterul ”0”, LED-ul este stins, iar de fiecare dată când e recepționat caracterul ”1”, led-ul este aprins). Modificați exemplul python de mai sus pentru a trimite comenzi nodului Sparrow prin care să aprindă/stingă LED-ul verde.</note> <note>**Task 4:** Scrieți un mic program pentru nodul Sparrow în care led-ul verde (digital pin 11) poate fi aprins/stins prin comenzi din interfața serială (de ex. de fiecare dată când este recepționat caracterul ”0”, LED-ul este stins, iar de fiecare dată când e recepționat caracterul ”1”, led-ul este aprins). Modificați exemplul python de mai sus pentru a trimite comenzi nodului Sparrow prin care să aprindă/stingă LED-ul verde.</note>
  
 +În mod similar, puteți să adăugați un actuator cu input analogic din interfața web DeviceHub. Denumiți-l RED.
 +Folosiți următorul exemplu de cod pentru a-l testa:
  
 +<code python>
 +from devicehub import Sensor, Actuator, Device, Project
 +from time import sleep
 +
 +PROJECT_ID      = 'your project ID'
 +DEVICE_UUID     = 'your Device UUID'
 +API_KEY         = 'your API KEY'
 +AN_SENSOR_NAME  = 'RED' #make sure your actuator has the same name on DeviceHub!
 +
 +  
 +def act1_callback(payload):
 +    """
 +    :param payload: mqtt payload message
 +    """
 +
 +    print ACT1.state
 +
 +project = Project(PROJECT_ID)
 +device = Device(project, DEVICE_UUID, API_KEY)
 +
 +ACT1 = Actuator(Actuator.ANALOG, ACTUATOR_NAME1)
 +
 +device.addActuator(ACT1, act1_callback)
 +
 +try:
 +    while True:
 +        pass
 +except KeyboardInterrupt:           
 +    print 'Goodbye!'
 +
 +</code>
  
 +<note>**Task 5:** Scrieți un mic program pentru nodul Sparrow în care led-ului roșu (analog pin 8) îi poate fi modificată luminozitatea din interfața serială (valori de la 0 - complet stins la 100 - complet aprins). Modificați exemplul python de mai sus pentru a trimite comenzi nodului Sparrow prin care să variați direct din interfața web DeviceHub intensitatea LED-ului roșu. </note>
  
devicehub.1478617116.txt.gz · Last modified: 2016/11/08 16:58 by dan.tudose