This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devicehub [2016/11/08 16:02] dan.tudose [DeviceHub] |
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:// | + | Pentru aceasta, trebuie să vă instalați [[https:// |
+ | |||
+ | <code shell> > pip install devicehub</ | ||
+ | |||
+ | |||
+ | ==== Trimiterea de date ==== | ||
Vom scrie un mic program Python pentru a trimite date în contul nostru de DeviceHub. Folosiți drept referință exemplul de mai jos, în care treubie să completați datele contului vostru: | Vom scrie un mic program Python pentru a trimite date în contul nostru de DeviceHub. Folosiți drept referință exemplul de mai jos, în care treubie să completați datele contului vostru: | ||
Line 79: | Line 84: | ||
</ | </ | ||
< | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | Adăugați noi senzori analogici în interfața web DeviceHub pentru noii senzori și modificați exemplul de la task-ul anterior pentru a parsa valorile CSV și pentru a trimite valorile de la toți senzorii în DeviceHub</ | ||
+ | |||
+ | ==== Trimiterea de comenzi ==== | ||
+ | |||
+ | Putem să trimitem și comenzi din interfața DeviceHub. Pentru aceasta, trebuie să ne întoarcem în interfața web și să adaugăm un actuator device-ului nostru. Denumiți actuatorul **LED** și alegeți sa fie de tip **Digital**. | ||
+ | |||
+ | Rulați următorul exemplu Python pentru a citi starea actuatorului vostru din DeviceHub. | ||
+ | |||
+ | <code python> | ||
+ | from devicehub import Sensor, Actuator, Device, Project | ||
+ | from time import sleep | ||
+ | |||
+ | PROJECT_ID | ||
+ | DEVICE_UUID | ||
+ | API_KEY | ||
+ | AN_SENSOR_NAME | ||
+ | |||
+ | | ||
+ | def act1_callback(payload): | ||
+ | """ | ||
+ | :param payload: mqtt payload message | ||
+ | """ | ||
+ | print ACT1.state | ||
+ | |||
+ | project = Project(PROJECT_ID) | ||
+ | device = Device(project, | ||
+ | |||
+ | ACT1 = Actuator(Actuator.DIGITAL, | ||
+ | |||
+ | device.addActuator(ACT1, | ||
+ | |||
+ | try: | ||
+ | while True: | ||
+ | pass | ||
+ | except KeyboardInterrupt: | ||
+ | print ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | Î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 | ||
+ | DEVICE_UUID | ||
+ | API_KEY | ||
+ | AN_SENSOR_NAME | ||
+ | |||
+ | | ||
+ | def act1_callback(payload): | ||
+ | """ | ||
+ | :param payload: mqtt payload message | ||
+ | """ | ||
+ | |||
+ | print ACT1.state | ||
+ | |||
+ | project = Project(PROJECT_ID) | ||
+ | device = Device(project, | ||
+ | |||
+ | ACT1 = Actuator(Actuator.ANALOG, | ||
+ | |||
+ | device.addActuator(ACT1, | ||
+ | |||
+ | try: | ||
+ | while True: | ||
+ | pass | ||
+ | except KeyboardInterrupt: | ||
+ | print ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ |