我正在开展一个项目,我将设置几个Raspberry Pi 3,每个都有两个条码扫描器,两个无源蜂鸣器和两个Adafruit NeoPixel Ring灯。
每次扫描条形码时,都会发送API请求以查看条形码是否有效。如果条形码有效,Adafruit NeoPixel Ring将呈绿色,并且蜂鸣器会播放成功音,条形码无效,指示灯呈蓝色,蜂鸣器会播放失败音。
我的问题是:在Raspberry Pi上用Python检测哪个条形码扫描器正在发送条形码?我意识到条形码扫描仪是HID设备,就像键盘一样,所以我想知道Python中是否有办法对扫描仪进行不同处理,而没有输入()调用来接收扫描仪的输入。
特别重要的是要知道输入数据来自哪个条形码扫描仪,以便我知道哪个光可以制作绿色或蓝色,哪个蜂鸣器可以播放声音。换句话说,如果扫描仪1的条形码有效且扫描仪2的条形码无效,我希望NeoPixel Ring 1为绿色,NeoPixel Ring 2为蓝色。
现在,我正在考虑使用两个Arduinos并将每个扫描仪,蜂鸣器和NeoPixel Ring连接到它们,然后使用串行通信与每个Arduino的Raspberry Pi进行通信。
您有什么想法/建议?
提前谢谢!
答案 0 :(得分:1)
我要做的是设置扫描仪,使每个扫描仪都有一个前缀,所以无论读取什么代码,它都会有一个前缀,即A000001,A000002,B00001,B00002,所以你只需拥有要做的是使用字符串函数来知道所有以“A”开头的代码都来自扫描仪A,所有以“B”开头的代码都来自扫描仪B.无论您使用何种编程语言。这适用于Motorola / Zebra / Honeywell扫描仪。