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条回答

    报告相同问题?

    悬赏问题

    • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
    • ¥15 MCNP里如何定义多个源?
    • ¥20 双层网络上信息-疾病传播
    • ¥50 paddlepaddle pinn
    • ¥20 idea运行测试代码报错问题
    • ¥15 网络监控:网络故障告警通知
    • ¥15 django项目运行报编码错误
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏