1
|
Програмиране / Общ форум / Проблеми след смяната на pyserial с pybluez
|
-: Jun 28, 2014, 14:49
|
Здравейте не съм много запознат с езика питон и за това с доста четене и труд успях да си свърша работата става въпрос за измервателен уред който първоначално работеше с УСБ кабел и pyserial библиотеката стана отлично, но се наложи да може да работи и безжично при което с доста пак гуглене успях да го пренапиша за bluetooth. Всичко беше идеално докато не реши че повече няма да се свърже, Пробвах на 5 линукс базирани PC-та с различни дистрибуции и версии на ядрата но ефекта беше същия. Пробвам ли да чета /dev/rfcomm2 На снимката е 3.8 #!/usr/bin/env python
import serial import datetime import os
print '\nTalevtehnology DTM v1.0\n'
print 'Contecting...\n' bluetoothSerial = serial.Serial( "/dev/rfcomm2", baudrate=57600 )
print '...Connected to DTM v1.0!' os.system("sleep 1;") bluetoothSerial.write('b')
print (str('\nBattery level: ') + str (bluetoothSerial.readline()))
os.system("hcitool rssi 00:06:66:67:4D:E0")
os.system("sleep 1;") bluetoothSerial.write('r') res = raw_input('\nChoice resolution: \n1 - 0.00 C\n2 - 0 C\n3 - floor 0.00 C\n') if res == '1': bluetoothSerial.write('1') elif res == '2': bluetoothSerial.write('2') elif res == '3': bluetoothSerial.write('3')
val = raw_input('\nChoice type value: \n1 - Normal \n2 - Max\n3 - Min\n') if val == '1': bluetoothSerial.write('0') elif val == '2': bluetoothSerial.write('x') elif val == '3': bluetoothSerial.write('n')
xString = input('\nEnter the number samples: ') numberSamples = int(xString)
now = datetime.datetime.now() os.system("mkdir -p /home/nikolai/DTM/$(date +%Y-%m-%d_%H:%M)") os.system("cp /home/nikolai/plot.sh /home/nikolai/DTM/$(date +%Y-%m-%d_%H:%M)/plot.sh")
dataFile = open(now.strftime("/home/nikolai/DTM/%Y-%m-%d_%H:%M/data.dat"), 'w',0)
bluetoothSerial.flushInput() bluetoothSerial.flush() bluetoothSerial.flushOutput() os.system("sleep 0.2;") bluetoothSerial.write('1')
for i in range(0,numberSamples+1):
reading0 = bluetoothSerial.readline() dataFile.writelines(str(i) + ' ' + str(reading0))
print (str(i) + ' ' + str(reading0))
bluetoothSerial.write('0')
dataFile.flush() dataFile.close()
bluetoothSerial.close() print 'Done!\n'
След проблемите попаднах на pybluez и пренаписах кода с него но се натъкнах на няколко проблема #!/usr/bin/env python
import sys import datetime import os import bluetooth
bdaddr = '00:06:66:67:4D:E0' port = 1
print '\nTalevtehnology DTM v1.0\n'
print 'Contecting...\n' sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM) sock.connect((bdaddr, port)) print '...Connected to DTM v1.0!' sock.settimeout(2.0) sock.send('m') os.system("sleep 1;") #tuka sock.flush() sock.send('b')
print (str('\nBattery level: ') + str (sock.recv(256)))
os.system("hcitool rssi 00:06:66:67:4D:E0")
os.system("sleep 1;") sock.send('r')
res = raw_input('\nChoice resolution: \n1 - 0.00 C\n2 - 0 C\n3 - floor 0.00 C\n') if res == '1': sock.send('1') elif res == '2': sock.send('2') elif res == '3': sock.send('3')
val = raw_input('\nChoice type value: \n1 - Normal \n2 - Max\n3 - Min\n') if val == '1': sock.send('0') elif val == '2': sock.send('x') elif val == '3': sock.send('n')
xString = input('\nEnter the number samples: ') numberSamples = int(xString)
now = datetime.datetime.now() os.system("mkdir -p /home/nikolai/DTM/$(date +%Y-%m-%d_%H:%M)") os.system("cp /home/nikolai/plot.sh /home/nikolai/DTM/$(date +%Y-%m-%d_%H:%M)/plot.sh")
dataFile = open(now.strftime("/home/nikolai/DTM/%Y-%m-%d_%H:%M/data.dat"), 'w',0)
#tuka sock.flush() sock.send('1')
for i in range(0,numberSamples+1):
reading0 = sock.recv(256) dataFile.writelines(str(i) + ' ' + str(reading0)) print (str(i) + ' ' + str(reading0))
sock.send('0')
dataFile.flush() dataFile.close()
sock.close() print 'Done!\n'
Проблема тук е че не мога да намеря аналог на bluetoothSerial.flush(). Прибора работи и със смартфони ползва bluetooth terminal и затова ми трябва начин за изчистването на sock Другият проблем е for i in range(0,numberSamples+1):
reading0 = bluetoothSerial.readline() dataFile.writelines(str(i) + ' ' + str(reading0))
print (str(i) + ' ' + str(reading0)) Че тук данните се записват правилно дори сигнала да е слаб данните пристигат правилно и без разместване докато тук for i in range(0,numberSamples+1):
reading0 = sock.recv(256) dataFile.writelines(str(i) + ' ' + str(reading0)) print (str(i) + ' ' + str(reading0)) са разбъркани и... сякаш липсва буфериране Свързването с pybluez е без проблемно. Моля ви помагайте изчетох какво ли не но не успявам да се справя.
|
|
|
2
|
Програмиране / Общ форум / Запис на файл във цикъла (не селед изпълнението му) Python
|
-: May 17, 2014, 08:30
|
#!/usr/bin/env python
# import the serial module so we can access the serial port import serial import time # set up serial port serialPort0 = serial.Serial('/dev/ttyACM3', 57600)
# open file object in write mode dataFile = open('data.dat', 'w') # get number of samples to take # don't prompt user --> piped in from bash script numberSamples = 30
# get specified number of samples
print 'conected'
for i in range(numberSamples+1):
reading0 = serialPort0.readline() dataFile.writelines(str(i) + ' ' + str(reading0)) # write sample number and reading to the file print i ,reading0 # output sample number to screen # close file object, good practice dataFile.close()
# close serial port to free it for other applications serialPort0.close()
Идеята на този скрипт е да записва данни във файл които после да чертая с gnuplot но проблема е, че записва стойностите след края на цикъла for а на мен ми трябва стойност запис стойност запис ... за да мога да гледам графиката в реално време. Със питон до сега съм се сблъсквал само един път едно скрипче за 3g трафик и ми е много тъмна индия.
|
|
|
4
|
Linux секция за начинаещи / Настройка на програми / Debian Wheezy замръзва при копиране на големи файлове
|
-: Nov 04, 2013, 00:35
|
Здравейте след доста борба оправих всички проблеми около новата инсталация на Дебиан 7 освен един при копиране на файлове системата става не използваема при положение, че процесора и рамтта не са натоварени изобщо. SWAP: 2GB RAM: 4GB Файлова система: EXT4 Window Manager: KDE vm.swappiness=15 vm.vfs_cache_pressure=50 nikolai@ ThinkPad-T60:~$ dd if=/dev/zero of=tmp bs=1024k count=1024 1024+0 прочетени блока 1024+0 записани блока изкопирани са 1073741824 байта (1,1 GB), 11,4489 s, 93,8 MB/s
|
|
|
5
|
Linux секция за начинаещи / Настройка на програми / Задаване на постояна работна честота на процесора LMDE
|
-: Jul 27, 2012, 13:26
|
Здравейте инсталирах си последната версия любимата ми дистрибуция LMDE 64bit с cinnamon и всичко е много яко особенно момента с CSS-a (до преди бях с предната 32bit-ова версия на LMDE с gnome 2 с PAE ядро) И постояно ги съревновавам с разни бенч тестове и... 64-ката се дъни. На конкито забелязвам , че през цялото време работи на две ядра по 1GHz и като се натовари превключва на 2х2Ghz. Та ето го и Въпроса: Как да направя да работи винаги на 2х2GHz (така беше на предната версия когато се стартира на зарядно, а когато е на батерии на 2х1Ghz ) Другото което много ми се иска да направя е auto hide ама само на долния панел. Имам идея от JS (открил съм даже panel.js) но... за сега до там . Много ще се радвам ако някой има някакви идеи
|
|
|
6
|
Linux секция за начинаещи / Настройка на програми / Конфигуриране на fingerprint
|
-: Mar 02, 2012, 21:22
|
Здравейте на лаптопа имам сензор за пръстов отпечатък и днес го конфигурирах но работата е там, че работи само когато ми иска root паролата а аз искам като го включа и избера потребител да мога да си ползвам пръстовия отпечатък. Защото ми се налага да я въвеждам пред много хора и пръстовия отпечатък би бил много удобно решение. fingerprit-a го подкарах от тук
|
|
|
7
|
Linux секция за начинаещи / Настройка на програми / Премахване на старо ядро
|
-: Feb 29, 2012, 20:37
|
Здравейте искам да си премахна старото ядро защото в момента ползвам 3.0.0-1-686-pae но проблема е там, че когато изпълня talev nikolai # apt-get remove linux-image-2.6.39-2-486 Четене на списъците с пакети... Готово Изграждане на дървото със зависимости Четене на информацията за състоянието... Готово Следните допълнителни пакети ще бъдат инсталирани: linux-image-2.6-486 linux-image-3.0.0-1-486 linux-image-486 Предложени пакети: linux-doc-3.0.0 Следните пакети ще бъдат ПРЕМАХНАТИ: linux-image-2.6.39-2-486 Следните НОВИ пакети ще бъдат инсталирани: linux-image-3.0.0-1-486 Следните пакети ще бъдат актуализирани: linux-image-2.6-486 linux-image-486 2 актуализирани, 1 нови инсталирани, 1 за премахване и 417 без промяна. Необходимо е да се изтеглят 0 B/29,6 MB архиви. След тази операция ще бъде използвано 2032 kB допълнително дисково пространство. Искате ли да продължите [Y/n]? n
Проблемът е, че продължава да ми предлага -486 а аз ползвам 686 защото процесора ми е intel T7200
|
|
|
11
|
Linux секция за начинаещи / Настройка на хардуер / Radeon 9550 нисък FPS
|
-: Feb 05, 2012, 19:47
|
Здравейте видео картата ми е Asus Radeon 9550 (RV350) След тест с glxgears показва: nikolai@talev:~$ glxgears & sleep 30 ; killall glxgears [1] 24349 Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. 298 frames in 5.0 seconds = 59.579 FPS 300 frames in 5.0 seconds = 59.850 FPS 300 frames in 5.0 seconds = 59.865 FPS 300 frames in 5.0 seconds = 59.857 FPS 300 frames in 5.0 seconds = 59.817 FPS [1]+ Прекратен glxgears
Преди на Дебиан-а с друг драйвер хващаше 600FPS. След тези не нормални резултати се поразрових в интернет и попаднах на това и тествах отново: nikolai@talev:~$ cat /proc/pci | grep VGA || lspci | grep VGA | colrm 1 4 ; cat /proc/cpuinfo | \ > egrep "model name|MHz" ; xdpyinfo | egrep "version:|dimensions|depth of" ; glxinfo | \ > egrep -A2 "direct rendering|OpenGL vendor" ; uname -sr; vblank_mode=0 \ > glxgears & sleep 30 ; killall glxgears cat: /proc/pci: Няма такъв файл или директория 0.0 VGA compatible controller: ATI Technologies Inc RV350 AS [Radeon 9550] model name : Intel(R) Pentium(R) 4 CPU 2.00GHz cpu MHz : 1993.641 X.Org version: 1.10.4 dimensions: 1680x1050 pixels (444x278 millimeters) depth of root window: 24 planes direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 -- OpenGL vendor string: X.Org R300 Project OpenGL renderer string: Gallium 0.4 on ATI RV350 OpenGL version string: 2.1 Mesa 7.11 Linux 3.0.0-15-generic [1] 23934 ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option vblank_mode overridden by environment. 3925 frames in 5.0 seconds = 784.923 FPS 3999 frames in 5.0 seconds = 799.775 FPS 3981 frames in 5.0 seconds = 795.404 FPS 4097 frames in 5.0 seconds = 818.554 FPS 4278 frames in 5.0 seconds = 854.985 FPS
Както се вижда резултатите са доста добри за въпросната карта и 2GHz процесор. Без въпросния скрипт при 59.579 FPS процесорът не се натоварва и 1% докато при употребата на скрипта процесора е на 100% какво трябва да променя за да работи и без въпросния скрипт, и при изпълняване на glxgerars да "хваща" 854.985 FPS. П.П Ако на някой му е необходим изход от glxinfo кликни тук
|
|
|
13
|
Linux секция за начинаещи / Настройка на програми / След смяната от Gnome2 нa Gnome3 в Програми няма нищо
|
-: Jan 12, 2012, 22:53
|
Здравейте след злополучен update компютъра ми е вече с Gnome 3 (който е ужасен) , но след няколко часа успях да го пооправя да става за работа, но ми останаха няколко въпросителни След смяната от Gnome2 нa Gnome3 в Програми няма почети нищо* дата и час и tomboy). Как мога да ги добавя, че в тоя gnome shell нищо не разбирам. Друго си е нормалния просто можеш да си го направиш според нуждите ти. Нямам дори бутон за изключване на компютъра гася го от терминала. И с възпроизвеждането на филми има ядове.... Ето и какво се получава при опит за пускане на филм всичко става доста цветно П,П Истинско чудо е ,че все пак тръгна Gnome 3 защото един път пак стана такъв сакатлък като добавих в LMDE хранилищата на дебиан и тогава изобщо не тръгна. Но все пак за да подкарам OpenGL 1.4 реших да си сменя видео картата. Но докато намеря ще трябва да си ползвам Gnome shell-a
|
|
|
14
|
Linux секция за начинаещи / Настройка на програми / Update на OpenGL как?
|
-: Jan 10, 2012, 20:06
|
Здравейте реших да отворя нова тема защото вече е ясно какъв е проблема на 3D ускорението и в нея да поставя въпроса как да update-на OpenGL до версия 1.4 . Видео карта ми е ATIradeon 9200SE от log-а разбрах че проблема е: Your host does not have OpenGL 1.4 support. 3D will be disabled.
Значи до тук разбирам, че версията на OpenGL е по-стара и за това не тръгва 3D-to.
Играта няма никакво движение и не мога да си обясня предполагам просто са ползвали библиотеки от directx-a За това колкото и да е слаба 3D поддръжката смятам, че играта ще върви супер. П.П Надявам се да ми дадете съвет как да реша проблема. Знам че е най-лесно с нов компютър ама криза... Целия интернет преобърнах ама така и не разбрах ATIradeon 9200SE поддържа ли OpenGL 1.4 edit:Във Wiki-то пише,че поддъража
|
|
|
15
|
Linux секция за начинаещи / Настройка на програми / Проблем с directx във виртуална машина
|
-: Dec 30, 2011, 21:42
|
Здравейте опитвам се да подкарам един риболовен симулатор на инсталирано XP на Virtualbox но ме побърква една грешка която не спира да ми вади. Не мога да си обясня какво се случва при положение че от virtualbox-a съм му задал 3D ускорението и на виндоуса съм инсталирал directx-a и при тест на виндоуса си показва че всичко е ОК Някой сблъсквал ли се е с подобен проблем.
|
|
|
|