User Tools

Site Tools


connectornot-lisbon-py

This is an old revision of the document!



Warning: Declaration of syntax_plugin_wrap_div::handle($match, $state, $pos, Doku_Handler &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/div.php on line 43

Warning: Declaration of syntax_plugin_wrap_div::render($mode, Doku_Renderer &$renderer, $indata) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/div.php on line 81

Warning: Declaration of syntax_plugin_wrap_closesection::handle($match, $state, $pos, Doku_Handler &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/closesection.php on line 23

Warning: Declaration of syntax_plugin_wrap_closesection::render($mode, Doku_Renderer &$renderer, $indata) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/closesection.php on line 29

Warning: Declaration of syntax_plugin_wrap_span::handle($match, $state, $pos, Doku_Handler &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/span.php on line 43

Warning: Declaration of syntax_plugin_wrap_span::render($mode, Doku_Renderer &$renderer, $indata) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /var/www/kucjica/emperors-wiki/lib/plugins/wrap/syntax/span.php on line 63

Warning: Declaration of syntax_plugin_gallery::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/kucjica/emperors-wiki/lib/plugins/gallery/syntax.php on line 51

Warning: Declaration of syntax_plugin_gallery::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /var/www/kucjica/emperors-wiki/lib/plugins/gallery/syntax.php on line 147

Warning: Declaration of syntax_plugin_vshare::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/kucjica/emperors-wiki/lib/plugins/vshare/syntax.php on line 47

Warning: Declaration of syntax_plugin_vshare::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /var/www/kucjica/emperors-wiki/lib/plugins/vshare/syntax.php on line 107

Warning: preg_match(): Compilation failed: invalid range in character class at offset 3444 in /var/www/kucjica/emperors-wiki/inc/parser/lexer.php on line 118
A PCRE internal error occured. This might be caused by a faulty plugin

====== get-values.py : interfacing incoming values from the app with the physical system ====== <code python> #!/usr/bin/env python """The main interaction computation file""" import urllib2, time, servoclass, ledclass, sys raya, gaya, vlaya, zlaya = servoclass.Servo(1), servoclass.Servo(2), servoclass.Servo(3), servoclass.Servo(4) servoList = [raya, gaya, vlaya, zlaya] ### DATA ### [0] - phoneID ; [1] - timestamp ; [2] - bytes ; [3] - conversation ; [4] - sms ; [5] - signalstrength ; [6] - estimote # reactions to different events def reaction(led, motor1, motor2, motor3, motor4, speed_one, speed_two, duration): # reaction to data ledclass.fadeInTurq(led) motor1.move(speed_one) motor2.stop() motor3.stop() motor4.stop() time.sleep(duration) ledclass.fadeOutTurq(led) motor1.stop() # reaction to conversation ledclass.fadeInPurple(led) motor1.move(speed_two) motor2.stop() motor3.stop() motor4.stop() time.sleep(duration) ledclass.fadeOutPurple(led) motor1.stop() def reaction_sms(number): for i in range(number): for j in range(4): ledclass.fadeInYellow(j) servoList[j].move(95) time.sleep(1) for j in range(4): ledclass.fadeOutYellow(j) servoList[j].stop() while True: try: #datas = codecs.open("values-test.txt", "r", encoding="utf-8") datas = urllib2.urlopen("http://url-to-php-file-on-remote-server") line = datas.read() #print line ### calculate the movement: bajts = abs(int(line.split(';')[2])) print "bajts", bajts if 0 <= bajts <= 150: speedBajt = 85 #servo up sleeping_time = 1 elif 150 < bajts <= 900: speedBajt = 98 # servo down_slow sleeping_time = 2 elif 900 < bajts <= 1600: speedBajt = 107 # servo down sleeping_time = 1 elif 1600 < bajts <= 30000: speedBajt = 115 # servo down_fast sleeping_time = 1 elif 30000 < bajts: speedBajt = 122 # servo down_very_fast sleeping_time = 1 else: print "none of the above byte values" speedBajt = 90 # servo down_very_fast conv = int(line.split(';')[3]) print "conv", conv if 0 <= conv <= 2: speedConv = 88 #servo up sleeping_time = 0.5 elif 2 < conv <= 30: speedConv = 95 # servo down sleeping_time = 1 elif 30 < conv <= 120: speedConv = 100 # servo down_fast sleeping_time = 1 elif 120 < conv: speedConv = 107 # servo down_very_fast sleeping_time = 1 else: print "none of the above byte values" sms = int(line.split(';')[4]) print "sms", sms if 4 >= sms >= 1 : reaction_sms(sms) elif sms > 4: reaction_sms(4) else: reaction_sms(0) signals = int(line.split(';')[5]) estimote = line.split(';')[6].strip() ### locate in space ### and react depending on the closest estimote if estimote == "0": print "you are not here" for i in range(4): ledclass.fadeInRed(i) time.sleep(0.5) for i in range(4): ledclass.fadeOutRed(i) time.sleep(0.5) elif estimote == "62100": #blueberry pie print "blueberry" print speedBajt reaction(0, raya, gaya, vlaya, zlaya, speedBajt, speedConv, sleeping_time) elif estimote == "56336": #icy marshmallow print "icy" print speedBajt new_speedBajt = int(90-speedBajt)/4 + speedBajt new_speedConv = int(90-speedConv)/4 + speedConv reaction(1, gaya, raya, vlaya, zlaya, speedBajt, speedConv, sleeping_time) # main is gaya reaction(0, raya, gaya, vlaya, zlaya, new_speedBajt, new_speedConv, sleeping_time) # raya is secondary # reaction_sec(vlaya, vlayaLED) elif estimote == "55745": #mint coctail print "mint" print speedBajt new_speedBajt = int(90-speedBajt)/2 + speedBajt new_speedConv = int(90-speedConv)/2 + speedConv reaction(2, vlaya, raya, gaya, zlaya, speedBajt, speedConv, sleeping_time) # main is vlaya reaction(3, zlaya, raya, gaya, vlaya, new_speedBajt, new_speedConv, sleeping_time) # zlaya is secondary else: print "estimote weird" time.sleep(2) except KeyboardInterrupt: for i in range(len(servoList)): servoList[i].move(90) sys.exit() ''' ### WORK FLOW: ### read in the db ### parse values; what has changed since last time ####### use timestamp? ### compute the reaction ### lights to represent bytes and conversation ### move things, lights ''' </code>

connectornot-lisbon-py.1430382591.txt.gz · Last modified: 2015/04/30 08:29 by zoza