क्या कोई मुझे एक पूर्ण पायथन नमूना कोड दिखा सकता है जो pyserial का उपयोग करता है, मेरे पास पैकेज है और मैं सोच रहा हूं कि एटी कमांड कैसे भेजना है और उन्हें वापस पढ़ना है! अधिक उदाहरणpySerial पैकेज का उपयोग करने के पूर्ण उदाहरण
उत्तर
import serial
ser = serial.Serial(0) # open first serial port
print ser.portstr # check which port was really used
ser.write("hello") # write a string
ser.close() # close port
उपयोग http://pyserial.wiki.sourceforge.net/pySerial यह एक बहुत अच्छा इंटरफ़ेस की तरह लगता है। यह डिवाइस/रेडियो/जो कुछ भी आप कर रहे हैं, के एटी कमांड के विनिर्देश को दोबारा जांचने के लायक हो सकते हैं।
विशेष रूप से, कुछ को कमांड मोड में प्रवेश करने के लिए पहले और/या एटी कमांड के बाद कुछ मौन की आवश्यकता होती है। मुझे कुछ ऐसे लोगों का सामना करना पड़ा है जो बिना किसी देरी के प्रतिक्रिया के पठन पसंद नहीं करते हैं।
मैं http://pyserial.wiki.sourceforge.net/pySerial पर pyserial इस्तेमाल नहीं किया है लेकिन आधारित API दस्तावेज़ पर के लिए
ब्लॉग पोस्ट Serial RS232 connections in Python
import time
import serial
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
port='/dev/ttyUSB1',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)
ser.isOpen()
print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
input=1
while 1 :
# get keyboard input
input = raw_input(">> ")
# Python 3 users
# input = input(">> ")
if input == 'exit':
ser.close()
exit()
else:
# send the character to the device
# (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
ser.write(input + '\r\n')
out = ''
# let's wait one second before reading output (let's give device time to answer)
time.sleep(1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '':
print ">>" + out
मुझे इस कोड को चलाने के दौरान 'serial.serialutil.SerialException: पोर्ट पहले से खुला है' त्रुटि मिली है। मैं इस पर निश्चित नहीं हूं लेकिन मेरा मानना है कि सीरियल पोर्ट स्वचालित रूप से खोला जाता है जब इसे स्पष्ट रूप से परिभाषित किया जाता है जैसा आपने 'सेर' के साथ किया है। 'Ser.open()' लाइन पर टिप्पणी करने के बाद यह काम किया। – user3817250
यह टिप्पणी उद्धारकर्ता है। –
@ user3817250: वैकल्पिक रूप से केवल 'ser.open() ' –
http://www.roman10.net/serial-port-communication-in-python/comment-page-1/#comment-1877
#!/usr/bin/python
import serial, time
#initialization and open the port
#possible timeout values:
# 1. None: wait forever, block call
# 2. 0: non-blocking mode, return immediately
# 3. x, x is bigger than 0, float allowed, timeout block call
ser = serial.Serial()
#ser.port = "/dev/ttyUSB0"
ser.port = "/dev/ttyUSB7"
#ser.port = "/dev/ttyS2"
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check: no parity
ser.stopbits = serial.STOPBITS_ONE #number of stop bits
#ser.timeout = None #block read
ser.timeout = 1 #non-block read
#ser.timeout = 2 #timeout block read
ser.xonxoff = False #disable software flow control
ser.rtscts = False #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False #disable hardware (DSR/DTR) flow control
ser.writeTimeout = 2 #timeout for write
try:
ser.open()
except Exception, e:
print "error open serial port: " + str(e)
exit()
if ser.isOpen():
try:
ser.flushInput() #flush input buffer, discarding all its contents
ser.flushOutput()#flush output buffer, aborting current output
#and discard all that is in buffer
#write data
ser.write("AT+CSQ")
print("write data: AT+CSQ")
time.sleep(0.5) #give the serial port sometime to receive the data
numOfLines = 0
while True:
response = ser.readline()
print("read data: " + response)
numOfLines = numOfLines + 1
if (numOfLines >= 5):
break
ser.close()
except Exception, e1:
print "error communicating...: " + str(e1)
else:
print "cannot open serial port "
- 1. pySerial
- 2. एक Arduino और pySerial
- 3. उदाहरण के लिए पूर्ण URL
- 4. Ast.NodeVisitor का उपयोग करने का सरल उदाहरण?
- 5. libpurple का उपयोग करने का अच्छा उदाहरण?
- 6. scala.collection.immutable.Set का उपयोग करने का उदाहरण जावा
- 7. pyserial बंदरगाहों गणना
- 8. अपने खुद के पैकेज के अंदर data.table पैकेज का उपयोग
- 9. बहु पैकेज makefile उदाहरण के लिए
- 10. संग्रहित प्रक्रियाओं पर एसएसआईएस पैकेज का उपयोग करने के लाभ?
- 11. पारसी के साथ पूर्ण पार्सर उदाहरण?
- 12. मैं स्ट्रैटम्प्लेट का उपयोग करने वाले पूर्ण उदाहरण जावा प्रोजेक्ट को कहां डाउनलोड कर सकता हूं?
- 13. पूर्ण करने के साथ ReadDirectoryChangesW() विधि का उपयोग कैसे करें?
- 14. पायथन - पूर्ण पैकेज मॉड्यूल नाम प्राप्त करें
- 15. क्या कस्टम दृश्य (एंड्रॉइड) के साथ एक्सएमएल में पूर्ण पैकेज नाम का उपयोग करने से बचने का कोई तरीका है?
- 16. SQLite3 के लिए मुझे किस पूर्ण-पाठ खोज पैकेज का उपयोग करना चाहिए?
- 17. नोकोगिरी का उपयोग करने के कुछ उदाहरण क्या हैं?
- 18. जेनिक्स का उपयोग करने के लिए उदाहरण। Coollections.TObjectDictionary
- 19. मार्कोव चेन का उपयोग करने के किसी भी व्यावसायिक उदाहरण?
- 20. द्विआधारी खोज पेड़ों का उपयोग करने के ठोस उदाहरण?
- 21. क्या 'scala.swing' का उपयोग करने के अच्छे उदाहरण हैं?
- 22. ALSA: पूर्ण डुप्लेक्स सी उदाहरण?
- 23. tastypie पोस्टिंग और पूर्ण उदाहरण
- 24. pyserial: उपकरण नाम नहीं किया गया कोई मॉड्यूल
- 25. क्या एंड्रॉइड के लिए पूर्ण-स्क्रीन विज्ञापन को कार्यान्वित करने का कोई उदाहरण है?
- 26. जेपीए क्वेरी में CURRENT_DATE का उपयोग करने का उदाहरण
- 27. ऑडियो कतार सेवाओं का उपयोग करने का उदाहरण
- 28. PySerial का उपयोग करना डेटा के लिए प्रतीक्षा करना संभव है?
- 29. पूर्ण आयात का उपयोग कब करें
- 30. वैकल्पिक तालिका को लागू करने का उदाहरण
कि लिंक अब टूट गया है। नया एक: http://pythonhosted.org/pyserial/ – MarredCheese