On Wed, Mar 14, 2018 at 11:23 AM, Dhileepan Kumar <dhilip04...@gmail.com> wrote: > > #!/usr/bin/python > > import serial > import MySQLdb > while True: > #establish connection to MySQL. You'll have to change this for your database. > dbConn = MySQLdb.connect("localhost","root","1234","ifet") or die > ("could not connect to database")
Ah, you've come from Perl I see. > #open a cursor to the database > cursor = dbConn.cursor() > > device = 'com3' #this will have to be changed to the serial port you > are using > arduino = serial.Serial(device, 9600) You're opening the database AND the serial port every time you go through the loop. Is that intentional? > try: > data = arduino.readline() #read the data from the arduino > if not data.strip(): > continue > pieces = data.split("\t") #split the data by the tab > #Here we are going to insert the data into the Database > try: > cursor.execute("INSERT INTO answer1 (voltage,current) VALUES > (%s,%s)", (pieces[0],pieces[1])) > dbConn.commit() #commit the insert > cursor.close() #close the cursor > except MySQLdb.IntegrityError: > print "failed to insert data" > finally: > cursor.close() #close just incase it failed > except: > print "Failed to get data from Arduino!" Ouch. Any exception, you just print out a generic message and move on? You're blinding yourself. Let the exception get properly displayed. It might help you. > ................................................................................ > it is my program.if do not use while true loop successfully run but can't get > a continues data from arduino so i have decide to using while loop but if > using while loop shows some error > > > (project) C:\Users\DHILEEPAN\project\project>python mysql.py > Traceback (most recent call last): > File "mysql.py", line 13, in <module> > arduino = serial.Serial(device, 9600) > File > "C:\Users\DHILEEPAN\Envs\project\lib\site-packages\serial\serialwin32.py", > line 31, in __init_ > super(Serial, self).__init__(*args, **kwargs) > File > "C:\Users\DHILEEPAN\Envs\project\lib\site-packages\serial\serialutil.py", > line 240, in __init_ > self.open() > File > "C:\Users\DHILEEPAN\Envs\project\lib\site-packages\serial\serialwin32.py", > line 62, in open > raise SerialException("could not open port {!r}: > {!r}".format(self.portstr, ctypes.WinError())) > serial.serialutil.SerialException: could not open port 'com3': > WindowsError(5, 'Access is denied.') > > please any one fix this > This looks like possibly the device is already in use. Try opening the device _just once_, or if you have to reopen it every time through the loop, make sure you close it. ChrisA -- https://mail.python.org/mailman/listinfo/python-list