Ok I understand your point But if TTy isn't configured correctly from the
very beginning how could it then function at all? I mean in my case all the
UART hardware function goes perfectly well but after sometime like an hour
or so the script goes down.



On Mon, Nov 11, 2013 at 6:53 PM, Philip Polstra <ppols...@gmail.com> wrote:

> You need to give cape manager time to setup tty after echo command before
> talking to device.  Shouldn't need sudo either if done right.  This is
> working great in my pentesting devices using xbee modems on ttyo2.
> On Nov 11, 2013 7:06 AM, "Nishant Sood" <nish...@winacro.com> wrote:
>
>> This very same code is turned into a executable using chmod +x and then
>> provided full 777 privileges and made a start up script using Upstart.
>> I think this is fine here, whats say?
>>
>> Thanks & Regards,
>> Nishant
>> -------------------
>> Sent from My Android (humongous NOTE-II)
>> On 11 Nov 2013 18:34, "Philip Polstra" <ppols...@gmail.com> wrote:
>>
>>> I would recommend you setup the tty port in startup scripts or at least
>>> delay after setup.
>>> On Nov 11, 2013 2:21 AM, "Nishant Sood" <nish...@winacro.com> wrote:
>>>
>>>> I have a python script running on a raring BBBLack ubuntu image that
>>>> has wiFi working flawlessly, but while using the python script as follows
>>>> I'm see that the script runs but the Request Log on the xively dashboard
>>>> isn't receiving anything?!
>>>>
>>>> Is there a frequency limit for which I can update the feeds?
>>>>
>>>> Or is it my App? Which I think is running and not going down.
>>>>
>>>> here's the code:
>>>>
>>>>
>>>>
>>>> #!/usr/bin/env python
>>>>
>>>>
>>>>
>>>> import os
>>>> import xively
>>>> import subprocess
>>>> import time
>>>>
>>>>
>>>> import datetime
>>>> import requests
>>>> import serial
>>>> import re
>>>>
>>>>
>>>> import string
>>>> from select import select
>>>>
>>>>
>>>>
>>>> #OS variables and other settings for UART transfer
>>>> os.system("sudo chmod 777 -R  /sys/devices/bone_capemgr.8/slots")
>>>>
>>>>
>>>>
>>>> os.system("sudo echo ttyO1_armhf.com > /sys/devices/bone_capemgr.8/slots")
>>>>
>>>>
>>>>
>>>> serial = serial.Serial("/dev/ttyO1", baudrate=9600)
>>>>
>>>>
>>>>
>>>> resp = ""
>>>> inData = ['']*14
>>>>
>>>>
>>>>
>>>> started = False
>>>> ended = False
>>>>
>>>> check_point = 0
>>>> check_point_listener = 0
>>>>
>>>>
>>>>
>>>> # extract feed_id and api_key from environment variables
>>>> FEED_ID = "34534"
>>>>
>>>>
>>>>
>>>> API_KEY = "blahhblahh"
>>>> DEBUG =   "DEBUG" or false
>>>>
>>>>
>>>>
>>>> DEBUG_listener = "DEBUG" or false
>>>>
>>>>
>>>>
>>>> # initialize api client
>>>> api = xively.XivelyAPIClient(API_KEY)
>>>>
>>>>
>>>>
>>>> # function to return a datastream object. This either creates a new 
>>>> datastream,
>>>> # or returns an existing one
>>>> def get_datastream(feed):
>>>>   try:
>>>>
>>>>
>>>>
>>>>     datastream = feed.datastreams.get("Lock_Controller")
>>>>
>>>>
>>>>
>>>>     if DEBUG:
>>>>       print "Found existing datastream"
>>>>
>>>>
>>>>
>>>>     return datastream
>>>>   except:
>>>>     if DEBUG:
>>>>
>>>>
>>>>
>>>>       print "Creating new datastream"
>>>>     datastream = feed.datastreams.create("Lock_Controller", tags="ON/OFF")
>>>>
>>>>
>>>>
>>>>     return datastream
>>>>
>>>> # function to return a datastream object. This either creates a new 
>>>> datastream,
>>>> # or returns an existing one
>>>>
>>>>
>>>> def get_datastream_listener(feed):
>>>>   try:
>>>>
>>>>
>>>>
>>>>     datastream_listener = feed.datastreams.get("load_avg")
>>>>
>>>>
>>>>
>>>>     if DEBUG:
>>>>       print "Found existing datastream"
>>>>
>>>>
>>>>
>>>>     return datastream_listener
>>>>   except:
>>>>     if DEBUG:
>>>>
>>>>
>>>>
>>>>       print "Creating new datastream"
>>>>     datastream_listener = feed.datastreams.create("load_avg", 
>>>> tags="load_01")
>>>>
>>>>
>>>>
>>>>     return datastream_listener
>>>>
>>>>
>>>> # main program entry point - runs continuously updating our datastream 
>>>> with the
>>>> def run():
>>>>   print "Script initiation"
>>>>
>>>>
>>>>
>>>>   #Initializing one channel
>>>>   feed = api.feeds.get(FEED_ID)
>>>>
>>>>
>>>>
>>>>   datastream = get_datastream(feed)
>>>>   datastream.max_value = None
>>>>
>>>>
>>>>
>>>>   datastream.min_value = None
>>>>   #Initializing one channel
>>>>
>>>>
>>>>
>>>>   feed_listener = api.feeds.get(FEED_ID)
>>>>
>>>>
>>>>
>>>>   datastream_listener = get_datastream_listener(feed_listener)
>>>>   datastream_listener.max_value = None
>>>>
>>>>
>>>>
>>>>   datastream_listener.min_value = None
>>>>
>>>>   while True:
>>>>
>>>>
>>>>
>>>>      while serial.inWaiting() > 0:
>>>>
>>>>
>>>>
>>>>            inChar = serial.read() # Read a character
>>>>
>>>>
>>>>
>>>>            if inChar =='<': # not sure what to put in if statement to run 
>>>> until end
>>>>
>>>>
>>>>
>>>>               global started
>>>>               started = True
>>>>               global ended
>>>>
>>>>
>>>>
>>>>               ended = False
>>>>               index = 0
>>>>
>>>>
>>>>
>>>>            elif inChar =='>':
>>>>               global ended
>>>>
>>>>
>>>>
>>>>               ended = True
>>>>            if started == True:
>>>>
>>>>
>>>>
>>>>               inData[index] = inChar # Store it
>>>>
>>>>
>>>>
>>>>               index = index + 1      # Increment where to write next
>>>>
>>>>
>>>>
>>>>               #inData[index] = '\0'   # Null terminate the string
>>>>            if ended == True:
>>>>
>>>>
>>>>
>>>>               global ended
>>>>               ended = False
>>>>               index = 0
>>>>
>>>>
>>>>
>>>>               Data = inData #values of acclerometer like "545X" etc enter 
>>>> and stored in Data
>>>>
>>>>
>>>>
>>>>               print (Data)
>>>>               values = "".join(str(v) for v in Data)
>>>>
>>>>
>>>>
>>>>               print (values)
>>>>               strData = string.replace(values, "<", "")
>>>>
>>>>
>>>>
>>>>               strData = string.replace(strData, ">", "")
>>>>
>>>>
>>>>
>>>>               strData = string.replace(strData, " ", "")
>>>>
>>>>
>>>>
>>>>               strData = string.replace(strData, "\0", "")
>>>>
>>>>
>>>>
>>>>               print (strData)
>>>>               if strData[0] == 's' and strData[1] == 't':
>>>>
>>>>
>>>>
>>>>                  print "Nishant Here"
>>>>                  strData = string.replace(strData, "st", "")
>>>>
>>>>
>>>>
>>>>                  strData = string.replace(strData, "\0", "")
>>>>
>>>>
>>>>
>>>>                  strData = string.replace(strData, " ", "")
>>>>
>>>>
>>>>
>>>>                  print strData
>>>>                  if strData == '1':
>>>>
>>>>
>>>>
>>>>                     print "This is arrived at 1"
>>>>                     global check_point_listener
>>>>
>>>>
>>>>
>>>>                     datastream_listener.current_value = 
>>>> str(check_point_listener) + "h"
>>>>
>>>>
>>>>
>>>>                     datastream_listener.update()
>>>>                     #serial.write("<v0" + str(check_point) + ">") #serial 
>>>> write value
>>>>
>>>>
>>>>
>>>>                     time.sleep(1)
>>>>                     datastream_listener.current_value = 0
>>>>
>>>>
>>>>
>>>>                     datastream_listener.update()
>>>>                  elif strData == '0':
>>>>
>>>>
>>>>
>>>>                     print "This is arrived at 0"
>>>>                     global check_point_listener
>>>>
>>>>
>>>>
>>>>                     datastream_listener.current_value = 
>>>> str(check_point_listener) + "L"
>>>>
>>>>
>>>>
>>>>                     datastream_listener.update()
>>>>                     time.sleep(1)
>>>>
>>>>
>>>>
>>>>                     datastream_listener.current_value = 0
>>>>                     datastream_listener.update()
>>>>
>>>>
>>>>
>>>>      if DEBUG:
>>>>                print "Updating Xively feed with value: %s"
>>>>
>>>>
>>>>
>>>>                global check_point
>>>>                check_point = 0
>>>>
>>>>                datastream = get_datastream(feed)
>>>>                global check_point
>>>>
>>>>
>>>>
>>>>                check_point = datastream.current_value
>>>>                print "AAGYa: %s" % check_point
>>>>
>>>>
>>>>
>>>>                for x in range(1,61):
>>>>
>>>>
>>>>
>>>>                    #print x
>>>>                    checking = int(check_point)
>>>>
>>>>
>>>>
>>>>                    if x == checking:
>>>>                        print "Got it"
>>>>
>>>>
>>>>
>>>>                        serial.write("<ch" + str(x) + ">")
>>>>
>>>>
>>>>
>>>>                        datastream.current_value = 0
>>>>                        datastream.update()
>>>>
>>>>
>>>>
>>>>      if DEBUG_listener:
>>>>                print "Query stuff: %s"
>>>>
>>>>
>>>>
>>>>                global check_point_listener
>>>>                check_point_listener = 0
>>>>
>>>>
>>>>
>>>>                datastream_listener = get_datastream_listener(feed_listener)
>>>>
>>>>                global check_point_listener
>>>>                check_point_listener = datastream_listener.current_value
>>>>
>>>>
>>>>
>>>>                print "AAGYa: %s" % check_point_listener
>>>>
>>>>                check_point_listener = string.replace(check_point_listener, 
>>>> "L", "")
>>>>
>>>>
>>>>
>>>>                check_point_listener = string.replace(check_point_listener, 
>>>> "h", "")
>>>>
>>>>
>>>>
>>>>                for x in range(1,61):
>>>>
>>>>
>>>>
>>>>                    #print x
>>>>                    checking = int(check_point_listener)
>>>>
>>>>
>>>>
>>>>                    if x == checking:
>>>>                        print "Got it Query"
>>>>
>>>>
>>>>
>>>>                        serial.write("<Q" + str(x) + ">")
>>>>
>>>>
>>>>
>>>> run()
>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> For more options, visit http://beagleboard.org/discuss
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "BeagleBoard" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to beagleboard+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>  --
>>> For more options, visit http://beagleboard.org/discuss
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "BeagleBoard" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/beagleboard/PiNkUTjnV3M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> beagleboard+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>  --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to beagleboard+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>  --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "BeagleBoard" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/beagleboard/PiNkUTjnV3M/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> beagleboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
*Thanks & Regards,*

*Nishant Sood*
*--*
*CEO and Founder*

*Winacro Innovation's Inc.*
*----------------------------------------*
*www.winacro.com <http://www.winacro.com>*
*----------------------------------------*
*Contact's:*
*Mobile: +91-8447476798*
*Phone:  0129-4176798*
*Email:   nish...@winacro.com <nish...@winacro.com>*

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to