我是一个bash新手,我正在努力将它们放在一起。
我想做的是:
1)设置端口(stty)
2)从dev / ttyUSB0读取 - 数据应该看起来像000118110000101(cat或Gawk?)
3)将读取数据设置为变量,例如DATA,并创建一个URL,例如http://domain.com/get_data.php?data= $ DATA
4)用wget加载URL?
5)等待来自ttyUSB0的更多数据(轮询或循环?)
我已经尝试过php DIO扩展功能,但不可靠,因为它因某种原因停止/启动。
任何建议都会非常感激,如果有人能建议最好的方法,我会非常满意
由于
布伦特
答案 0 :(得分:7)
这就是我用的。
#Set permisions
sudo chmod o+rwx /dev/ttyUSB0
#!/bin/bash
# Port setting
stty -F /dev/ttyUSB0 cs7 cstopb -ixon raw speed 1200
# Loop
while [ 1 ];
do
echo 'LOADING...'
READ=`dd if=/dev/ttyUSB0 count=22 | sed 's/ //g'`
echo $READ
wget http://localhost/BASHtest/test.php?signal=$READ
echo '[PRESS Ctrl + C TO EXIT]'
done
答案 1 :(得分:0)
对于第一步,我建议读取一个文件,然后使用od来获取八进制(尽管我看不到二进制)表示,因为标准awk不能处理NUL(我认为也是gawk )。因此,在获得字节后,您通过sed脚本将其更改为将二进制文件更改为二进制文件,使用$()
(或撇号)获取输出并创建一个URL,您将其提供给wget
。
我能看到的唯一问题是从USB读取阻塞/非阻塞。请报告是否有一个。