Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorials_devicehub [2016/12/16 05:17] admin [Sending Commands to the Nodes] |
tutorials_devicehub [2017/04/01 06:50] (current) admin [Sending Commands to the Nodes] |
||
---|---|---|---|
Line 36: | Line 36: | ||
def analog_input(dev, sensor): | def analog_input(dev, sensor): | ||
value = randint(0, 1023) | value = randint(0, 1023) | ||
- | sensor.addValue(value) | + | sensor.addValue(float(value.strip())) |
dev.send() | dev.send() | ||
print value | print value | ||
Line 178: | Line 178: | ||
DEVICE_UUID = 'your Device UUID' | DEVICE_UUID = 'your Device UUID' | ||
API_KEY = 'your API KEY' | API_KEY = 'your API KEY' | ||
- | AN_SENSOR_NAME = 'LED' #make sure your actuator has the same name on DeviceHub! | + | ACTUATOR_NAME1 = 'LED' #make sure your actuator has the same name on DeviceHub! |
Line 208: | Line 208: | ||
from devicehub import Sensor, Actuator, Device, Project | from devicehub import Sensor, Actuator, Device, Project | ||
from time import sleep | from time import sleep | ||
+ | import serial | ||
PROJECT_ID = 'your project ID' | PROJECT_ID = 'your project ID' | ||
Line 221: | Line 222: | ||
def act1_callback(payload): | def act1_callback(payload): | ||
- | """ | + | global red |
- | :param payload: mqtt payload message | + | |
- | """ | + | |
print ACT1.state | print ACT1.state | ||
red = str(ACT1.state) | red = str(ACT1.state) | ||
- | + | ||
+ | def act2_callback(payload): | ||
+ | global green | ||
+ | print ACT2.state | ||
+ | green = str(ACT2.state) | ||
+ | |||
+ | def act3_callback(payload): | ||
+ | global blue | ||
+ | print ACT3.state | ||
+ | blue = str(ACT3.state) | ||
+ | |||
project = Project(PROJECT_ID) | project = Project(PROJECT_ID) | ||
device = Device(project, DEVICE_UUID, API_KEY) | device = Device(project, DEVICE_UUID, API_KEY) | ||
- | ACT1 = Actuator(Actuator.ANALOG, ACTUATOR_NAME1) | + | ACT1 = Actuator(Actuator.ANALOG, AN1_SENSOR_NAME) |
- | + | ACT2 = Actuator(Actuator.ANALOG, AN2_SENSOR_NAME) | |
+ | ACT3 = Actuator(Actuator.ANALOG, AN3_SENSOR_NAME) | ||
device.addActuator(ACT1, act1_callback) | device.addActuator(ACT1, act1_callback) | ||
- | + | device.addActuator(ACT2, act2_callback) | |
+ | device.addActuator(ACT3, act3_callback) | ||
+ | |||
+ | # Make sure you have the correct port and baud rate selected | ||
+ | # For Windows, use COMx instead of ttyUSB | ||
+ | ser=serial.Serial('/dev/ttyUSB0', 9600) | ||
try: | try: | ||
while True: | while True: | ||
- | pass | + | ser.write(red + ',' + green + ',' + blue + '\n') #send RGB values as CSV |
+ | sleep(1.0) | ||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||
print 'Goodbye!' | print 'Goodbye!' | ||
| | ||
</code> | </code> | ||
+ | |||
+ | Now we need to write an Arduino sketch for the Sparrow node to read the CSV data from the serial port and refresh the color on the LED: | ||
<code C> | <code C> | ||
Line 246: | Line 266: | ||
// pins for the LEDs: | // pins for the LEDs: | ||
const int redPin = 8; | const int redPin = 8; | ||
- | const int greenPin = 11 | + | const int greenPin = 11; |
const int bluePin = 10; | const int bluePin = 10; | ||