【问题标题】:Raspberry Pi: Detect Multiple Barcode Scanners in PythonRaspberry Pi:在 Python 中检测多个条码扫描器
【发布时间】:2017-09-10 00:45:07
【问题描述】:

我正在做一个项目,我将设置几个 Raspberry Pi 3,每个都有两个条形码扫描仪、两个无源蜂鸣器和两个 Adafruit NeoPixel Ring 灯。

每次扫描条码时,都会发送一个 API 请求以查看条码是否有效。如果条码有效,Adafruit NeoPixel Ring 将呈绿色并在蜂鸣器上播放成功音,如果条码无效,则灯将呈蓝色并在蜂鸣器上播放失败音。

我的问题是:在 Raspberry Pi 上的 Python 中有没有办法检测哪个条形码扫描仪正在发送条形码?我意识到条形码扫描仪是 HID 设备,并且像键盘一样工作,所以我想知道 Python 中是否有一种方法可以将扫描仪区别对待,并且没有 input() 调用来接收扫描仪的输入。

了解传入数据来自哪个条形码扫描仪尤为重要,这样我就可以知道哪个灯变成绿色或蓝色,以及哪个蜂鸣器发出声音。换句话说,如果扫描仪 1 的条形码有效而扫描仪 2 的条形码无效,我希望 NeoPixel Ring 1 为绿色,NeoPixel Ring 2 为蓝色。

就目前而言,我正在考虑使用两个 Arduino 并将每个扫描仪、蜂鸣器和 NeoPixel Ring 连接到它们,然后使用串行通信从每个 Arduino 与 Raspberry Pi 进行通信。

你有什么想法/建议?

提前谢谢你!

【问题讨论】:

  • 'Python 将扫描仪区别对待,并且没有 input() 调用来接收扫描仪的输入。'你能澄清一下这是什么意思吗?使用Python读取条形码解释here
  • @NithinVarghese 他想区分多个“键盘”输入。
  • @gre_gor 是对的。我希望能够拥有两个不同的扫描仪——我们称它们为扫描仪 A 和扫描仪 B。除了每个扫描仪,我还有一个 NeoPixel 环和一个无源蜂鸣器,所以响铃 A 和环 B 以及蜂鸣器 A 和蜂鸣器 B。当有人用扫描仪 A 扫描条形码时,我希望铃声 A 亮起,蜂鸣器 B 响起。这涉及将扫描仪视为串行通信设备而不是 USB 人机接口设备。
  • 那么我最好的方法是什么?我需要知道哪个扫描仪发送了哪个条形码。

标签: python arduino raspberry-pi raspberry-pi3 serial-communication


【解决方案1】:

我要做的是设置扫描仪,使每个扫描仪都有一个前缀,所以无论读取什么代码,它都会有一个前缀,即 A000001、A000002、B00001、B00002,所以你将拥有要做的是使用字符串函数来知道所有以“A”开头的代码都来自扫描仪A,所有以“B”开头的代码都来自扫描仪B。无论您使用哪种编程语言。这与摩托罗拉/斑马/霍尼韦尔扫描仪完美搭配..

【讨论】:

    猜你喜欢
    • 2022-07-22
    • 2021-03-16
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 2020-07-26
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多