极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17614|回复: 2

Arduino双串口(蓝牙、wifi)传输不丢数据

[复制链接]
发表于 2016-2-29 13:59:09 | 显示全部楼层 |阅读模式
本帖最后由 li1991119 于 2016-2-29 14:02 编辑

对Arduino来说,一般用到的串口就是Arduino模块本身的串口,这个串口一般称为:HardwareSerial 。比如Arduino UNO上有一个,MEGA有4个。但是Arduino MEGA的体积较大,在做项目的时候,有时候为了体积的需要,我们需要选择小体积的Arduino板子。这个时候如果还是需要多串口的话,可以选择虚拟串口,也即:SoftwareSerial,理论上,任何两个数字口都可以虚拟成
先说明下用到多串口的情形:如题目所说,现在的蓝牙、GSM(sim卡模块Arduino+SIM900a 打电话,发短信控制设备以及短信验证码控制http://www.arduino.cn/thread-17798-1-1.html)又或者wifi模块(比如Arduino+ESP8266+微信多用户控制+php后台(可web配置的固件)http://www.arduino.cn/thread-19105-1-1.html)和Arduino的通讯方式都是串口。
除了MEGA,其它的Arduino模块,都只有一个串口。
好了,我们可以虚拟串口,但是虚拟出来的串口,是没有serial buffer的,也就是说,如果同时两个串口都受到数据,这样没有buffer的那个串口是会丢数据的。

为了解决这个问题,让Arduino更好的融入我的项目,我选用Arduino nano板(Arduino 家族很小的板子),同时连接了wifi模块、HC05蓝牙模块,并且经测试,二者传输的时候不会出现丢数据的情况,搞定!!
附:Arduino nano图


测试图:(网页上点击按钮,8266传给Arduino,手机连接hc05的蓝牙,点击发送数据“12”)



有需求的朋友可以联系QQ:569411680
关于Arduino的一整套的物联网的系统都搭建好了,不管是有线、无线、GSM联网,还是蓝牙传输数据,网页、app、微信控制,以及视频、图片传输等等!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-2-29 14:38:33 | 显示全部楼层
没看懂  你是卖啥的
回复 支持 反对

使用道具 举报

发表于 2016-3-4 09:08:58 | 显示全部楼层
不明汝在说啥
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 12:12 , Processed in 0.041778 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表