zbybass 2017-04-05 01:35
浏览 1828

openwrt用shell脚本读取串口数据,数据读不全会是什么原因?需要做底层函数的设置吗?

openwrt路由端是这样操作的,在root目录下新建了两个文件,a文件和lelian.sh文件,权限0777,a文件主要
sh脚本里写的是这个

#! /bin/sh
Y_Name='你的传感器标识' #设置对应乐联网上传感器的标号
Y_key='你的key' #填上自己的key
WG='com/api/V1/Gateway/UpdateSensors/01' #乐联的网关地址,这里是第一个
echo "aaa" > /dev/ttyS1 #在串口里发aaa字符
cat /dev/ttyS1 > /root/a & { sleep 6 ; eval 'kill -9 $!' &> /dev/null ; } #cat命令这个可以获取串口输入,但是向右的这个箭头> 和后面的 /root/a & { sleep 6 ; eval 'kill -9 $!' &> /dev/null ; } 干嘛用的不清楚这是
read Va < /root/a #用的read函数把a文件的数写到Va中了
curl --request POST $WG --data "[{\"Name\":\"$Y_Name\",\"Value\":\"$Va\"}]" --header "userkey:$Y_key" #用curl命令发送温度和传感器标识,还有一个网址
串口的波特率都设置好了用的9600,用Linux crontab 设置定时时间*/1 * * * * /root/lelian.sh 一分钟执行一次。测试了下,就出现我刚才的情况,读数会读不全。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 stata安慰剂检验作图但是真实值不出现在图上
    • ¥15 c程序不知道为什么得不到结果
    • ¥40 复杂的限制性的商函数处理
    • ¥15 程序不包含适用于入口点的静态Main方法
    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题