User Tools

Site Tools


allthingstalk

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
allthingstalk [2018/11/13 17:31]
dan.tudose [Trimiterea de comenzi]
allthingstalk [2018/11/16 10:07] (current)
dan.tudose [Trimiterea de date]
Line 29: Line 29:
  
 from allthingstalk import Client, Device, NumberAsset from allthingstalk import Client, Device, NumberAsset
 +
 +# Parameters used to authorize and identify your device
 +# Get them on maker.allthingstalk.com
 +DEVICE_TOKEN = '<YOUR_TOKEN>'
 +DEVICE_ID = '<YOUR_ID>'
  
 class RandomDevice(Device): class RandomDevice(Device):
     temperature = NumberAsset(unit='°C')     temperature = NumberAsset(unit='°C')
  
-client = Client('your Device token'+client = Client(DEVICE_TOKEN
-device = RandomDevice(client=client, id='your Device ID')+device = RandomDevice(client=client, id=DEVICE_ID)
  
 while True: while True:
Line 53: Line 58:
  </note>  </note>
  
-În Python, folosiți următorul exemplu pentru a deschide o conexiune serială cu placa Sparrow și a citi datele:+În Python, folosiți următorul exemplu pentru a deschide o conexiune serială cu placa Sparrow și a citi datele. Va trebui să instalați în prealabil biblioteca //pyserial//
 + 
 +<code shell> > sudo pip3 install pyserial</code>
  
 <code python> <code python>
Line 65: Line 72:
 while True: while True:
         line = ser.readline()         line = ser.readline()
-        print line+        print(line)
         sleep(1.0)         sleep(1.0)
 </code> </code>
Line 112: Line 119:
 <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.+În mod similar, puteți să adăugați un actuator cu input analogic.
 Folosiți următorul exemplu de cod pentru a-l testa: Folosiți următorul exemplu de cod pentru a-l testa:
  
 <code python> <code python>
-from devicehub import SensorActuatorDeviceProject +import time 
-from time import sleep+from allthingstalk import DeviceIntegerAssetClientAsset
  
-PROJECT_ID      = 'your project ID' +# Parameters used to authorize and identify your device 
-DEVICE_UUID     = 'your Device UUID' +# Get them on maker.allthingstalk.com 
-API_KEY         = 'your API KEY+DEVICE_TOKEN = '<YOUR_TOKEN>
-AN_SENSOR_NAME  = 'RED#make sure your actuator has the same name on DeviceHub!+DEVICE_ID = '<YOUR_ID>'
  
-   
-def act1_callback(payload): 
-    """ 
-    :param payload: mqtt payload message 
-    """ 
  
-    print ACT1.state+class LedActuator(Device): 
 +    picker = IntegerAsset(kind=Asset.ACTUATOR)
  
-project = Project(PROJECT_ID) 
-device = Device(project, DEVICE_UUID, API_KEY) 
  
-ACT1 Actuator(Actuator.ANALOGACTUATOR_NAME1)+# Authorize and connect your device with the Cloud 
 +client Client(DEVICE_TOKEN) 
 +device = LedActuator(client=clientid=DEVICE_ID)
  
-device.addActuator(ACT1, act1_callback) 
  
-try: +@LedActuator.command.picker 
-    while True: +def on_picker(device, value, at)
-        pass +    print('Led brightness updated to %s.% value)
-except KeyboardInterrupt           +
-    print 'Goodbye!'+
  
 +
 +while True:
 +    print('Waiting for actuation...')
 +    time.sleep(5)
 </code> </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>+<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 AllThingsTalk intensitatea LED-ului roșu. </note>
  
allthingstalk.1542123063.txt.gz · Last modified: 2018/11/13 17:31 by dan.tudose