我想在我的Raspberry Pi上使用./airsensor -v
命令不断将程序curl -X POST
的输出发送到Ubidots平台。
发送entropy_avail
号码有效。
每当我发出以下命令时,我会在终端获得反馈,并且值显示在Ubidots中:
cat /proc/sys/kernel/random/entropy_avail | curl -X POST --data-urlencode value@- https://things.ubidots.com/api/v1.6/variables/[VARIABLE-ID]/values/?token=[TOKEN-ID]
./airsensor -v
450
453
452
457
...现在,如果我使用以下命令,它就无法工作。因为它根本没有给终端提供任何反馈。并且在Ubidots也没有收到任何价值。
./airsensor -v | curl -X POST --data-urlencode value@- https://things.ubidots.com/api/v1.6/variables/[VARIABLE-ID]/values/?token=[TOKEN-ID]
资源:
https://ubidots.com/docs/#send-one-value-to-ubidots
https://github.com/tuxedo0801/usb-sensors-linux/blob/master/airsensor/airsensor.c
答案 0 :(得分:0)
使用-d @-
从标准输入中读取curl,您可以使用以下方法进行测试:
echo "test $(date)" | curl -X POST -d @- http://httpbin.org/post
或尝试合并stderr
& stdout
您的应用可能只写入stderr
./your-app 2>&1 | curl -X POST -d @- http://httpbin.org/post
注意将{stderr重定向到stdout
的2>&1