python 实现串口发送数据

本文介绍了一种通过串口发送特定AT命令来实现设备关机的方法。使用Python编写了一个简单的脚本,该脚本连接到指定的串口(如COM5),发送AT+POWER_OFF命令,并读取响应,最后关闭串口连接。
'''
功能: 发送指定AT命令到设备 实现关机
'''

import serialser

def poweroffSchedule():

	ser=serial.Serial("COM5",115200,timeout=0.5)
	ser.write('AT+POWER_OFF\r\n'.encode())
	print(ser.readline());
	ser.close()

if __name == "__main__"

    poweroffSchedule()

 

要在Python实现通过串口发送数据并同时通过HTTP接收数据,你需要分别处理这两个通信任务。可以使用`pyserial`库来管理串口通讯,并利用像`Flask`这样的微框架来创建一个简单的Web服务器用于HTTP请求。 下面简要描述一下步骤: ### 使用PySerial发送串行端口数据 首先确保安装了`pyserial`库 (`pip install pyserial`),然后你可以按照以下示例编写代码向指定设备发送字符串消息: ```python import serial # 配置连接参数(请根据实际情况调整) ser = serial.Serial( port='/dev/ttyUSB0', # 根据实际使用的端口号替换这里 baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) if ser.isOpen(): print("已打开串口") else: ser.open() try: while True: command = input('输入命令>') if command == 'exit': break ser.write((command + '\r\n').encode()) # 发送编码后的指令串口 except KeyboardInterrupt: pass finally: ser.close() # 关闭串口链接 ``` ### 创建一个简易的Http服务接受来自网络的数据 对于HTTP部分我们可以选择 Flask 框架(`pip install flask`). 下面是一个非常基础的例子,它监听特定路径下的POST请求并将接收到的内容打印出来. ```python from flask import Flask, request app = Flask(__name__) @app.route('/datareceiver', methods=['POST']) def data_receiver(): content_type = request.headers.get('Content-Type') if (content_type == 'application/json'): json_data = request.json print(f"Received JSON Data: {json_data}") return "JSON posted", 200 elif ('text/plain' in content_type): text_data = request.data.decode('utf-8') print(f"Received Text Data: {text_data}") return f"Text received ({len(text_data)} characters)", 200 else: return "Unsupported media type.", 415 if __name__ == '__main__': app.run(debug=True) ``` 注意,在真实的应用场景下你可能需要更复杂的错误处理机制以及对不同类型的有效负载做适当解析;此外还需考虑并发性和安全性方面的问题。如果你打算在同一进程中运行这两段程序,则应考虑将它们放入独立线程或进程之中以避免阻塞操作影响对方工作流程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个闲王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值