Arduino双串口(蓝牙、wifi)传输不丢数据
本帖最后由 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、微信控制,以及视频、图片传输等等!!
没看懂你是卖啥的 :L不明汝在说啥
页:
[1]