首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过串行蓝牙从raspberry pi向arduino请求数据

通过串行蓝牙从raspberry pi向arduino请求数据
EN

Stack Overflow用户
提问于 2017-06-17 05:25:26
回答 1查看 1.2K关注 0票数 0

我正在尝试将数据从集成了ble的arduino (来自DFRobot的bluno)发送到raspberry pi 2,它有一个hm10 ble模块连接到它的serial0 gpio14和15个引脚。

我目前正在使用这个草图:

代码语言:javascript
复制
float flow = 500.06;
void setup() {
  Serial.begin( 9600 );}
void loop() {
    if (Serial.available()>0) {
        if (Serial.read() == 'R') {
             Serial.print(flow)
             Serial.write("\n");
        }
    }
}

我正在使用这条python来读取它:

代码语言:javascript
复制
#! /usr/bin/env python
import serial
from time import sleep
ser = serial.Serial(port='/dev/serial0',parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,timeout=1)
# Wait to read from Arduino
while 1:
        try:
                time.sleep(10)
                ser.write("R")
                myData = ser.readline()
                print myData
        except KeyboardInterrupt:
                exit()

这将使raspberry在运行脚本10秒后向arduino发送R。但我每隔十秒就会在树莓终端中看到空行。我猜这是print myData行,它是空白的。

我刚刚尝试通过usb串口连接bluno nano和raspberry pi 2,并运行此代码,rpi收到82,这是R的ascii等价物。我修改了代码并添加了一张图像来显示这些发现。我还是不明白为什么在蓝牙串口的时候我得不到回应?

EN

回答 1

Stack Overflow用户

发布于 2017-06-19 19:29:24

Arduino需要等待Raspberry Pi的信号。

例如通过读取字符'R'

代码语言:javascript
复制
float flow = 500.06;

void setup() {
  Serial.begin( 9600 );
}
void loop() {
    if (Serial.available()>0) {
        if (Serial.read() == 'R') {
             Serial.print(flow);
             Serial.write("\n");
        }
    }
}

在从Arduino读取数据之前,Raspberry Pi需要发送字符'R'

代码语言:javascript
复制
import serial
import time
ser = serial.Serial(port='/dev/serial0',parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,timeout=1)
# Wait to read from Arduino
while 1:
    try:
        time.sleep(10)
        ser.write("R")
        myData = ser.readline()
        print myData
    except KeyboardInterrupt:
        ser.close()
        exit()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44598220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档