最近在学习串口的一些东西,今天试用了一下Ruby操作串口,向modem发送指令并获得返回。更强大的是这段代码在windows上也可以工作
rubynroll 写道
仅通过File IO缺乏设置串口通讯参数的能力. 串口通讯建议用ruby-serialport这个gem,功能齐全, Linux/Windows均可工作.
总结一下:
串口模块
ruby: ruby-serialport
<gem install serial-port, this needs nmake>
perl: Win32::SerialPort
Python: serial
代码如下:
def execute_cmd(chan, cmd)
print "Executing #{cmd} "
chan.write("#{cmd}\r")
begin
result = chan.readlines
result = "Command not support\n" if result.include?("ERROR\n")
rescue
result = "Writing serial port error\n"
end
print result
end
# My modem on serial port 3
File.open('com3:', 'r+') do |file|
execute_cmd(file, "AT")
execute_cmd(file, "AT&FE0V1S0=0&C1&D2+MR=2;+DR=1;+ER=1;W2")
execute_cmd(file, "ATQ0V1E0")
execute_cmd(file, "AT+GMM")
execute_cmd(file, "AT+FCLASS")
execute_cmd(file, "AT#CLS=?")
execute_cmd(file, "AT+GCI?")
execute_cmd(file, "AT+GCI=?")
1.upto(7) do |i|
execute_cmd(file, "ATI#{i}")
end
end
用perl:
open FH, '+>', "com3:" ||die "can not open this port";
print FH "AT+GMM\r";
print $s while($s=<FH>);
print FH "ATI1\r";
print $s while($s=<FH>);
close FH;
Python 有个 serial 的模块
分享到:
- 2009-02-07 16:20
- 浏览 2996
- 评论(5)
- 论坛回复 / 浏览 (5 / 4372)
- 查看更多
相关推荐
serialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32.gemserialport-0.6.0-mswin32....
这款核心库提供了与Arduino平台兼容的API,让开发人员能充分利用Ruby 128K的硬件资源,进行各种嵌入式项目开发。 Ruby 128K是一款具有128KB闪存的微控制器,通常用于需要处理能力较强且内存空间较大的IoT(物联网)...
- **库文件**:提供了与硬件交互的API,开发者可以调用这些API进行设备操作。 4. **开发流程**: - 配置Platform Builder:根据硬件选择合适的BSP,配置系统组件和驱动。 - 编译生成OS映像:在Platform Builder...
5. **小部件事件与交互** Dashing 支持小部件之间的交互,通过监听和触发自定义事件,可以实现更复杂的仪表板逻辑。例如,当点击一个按钮小部件时,可以触发一个事件来更新其他小部件的数据。 6. **实时刷新与推送...
对于开发者来说,理解BootROM的工作原理和如何与之交互,能够帮助他们更好地进行固件更新和故障排查。 标签“Ruby”可能意味着在这个ESP32项目中,部分代码或者脚本使用了Ruby编程语言。Ruby是一门动态、面向对象的...
测试过程中,PC上的控制端通常使用特定的测试工具,如Appium、Selendroid等,通过串口、USB或无线连接(如Wi-Fi、蓝牙)与手机建立通信。这些工具能够发送请求给手机中的agent,agent扮演着解析和转发命令的角色。它...
由于项目与机器人技术相关,它可能包含了控制逻辑、传感器数据处理、运动规划以及与用户交互的命令解析等内容。 在深入研究这个项目之前,我们需要对以下几个关键知识点有所了解: 1. **C语言编程**:作为基础,...
Crystal是一种现代、静态类型的编程语言,它提供了与Ruby相似的语法,但拥有编译时类型检查和性能优势。在本篇中,我们将深入探讨`serialport.cr`,这是一个为Crystal语言设计的libserialport库的绑定,允许开发者...
后端开发涉及服务器、应用及数据库之间的交互,主要任务包括处理业务逻辑、数据存储和检索、用户认证与授权等。常见的后端技术有Java(Spring Boot)、Python(Django, Flask)、Node.js(Express)、Ruby on Rails...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...
Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...