一直对无线通讯很感兴趣,虽然具体的原理不是很懂,但还是买了许多无线通讯的小模块。最初的无线4键遥控收发器(TL2272),很小的一块板子,简单但是很好用,还可以硬件编码,这个小板子引起了我对无线应用很大的兴趣
本科毕业时,有同学做多点的无线数据传输,用的是CC1101,一款TI公司出品的无线模块,工作在433MHz
不过她的通讯有问题,不知道为什么收不到数据。。。
刚好我的弄完了就帮她调试了一下:首先把硬件规范了一下,特意为无线模块做了一个3.3V的电源管理电路,然后把程序简化了一下,使用透传模式,然后就收到数据了!
可是有了数据还不够,还要正确的数据,于是设计了通讯格式:每次传输8个字节,以字符‘#’作为开头,后面跟6位数据,最后一位校验。
实际测试效果很好,没有误判
收到数据之后尝试了一收多发,结果通讯效率大大降低:两个同时发,收到的数据数量比仅有一个发时收到的还要少。当时觉得应该是两个模块有干扰,不过对于通讯速度要求不高,后来就没有再改进了
在那之后又用到NRF24L01、Si4432,渐渐地对于无线的调制有了一点了解,用起来就方便多了
再后来遇到了Ti的BLE CC2540套件适用,就提交了一个申请。连接PAD之后试了一下,功能很强大,各个传感器的信息实时传输,界面也很漂亮,可惜对于上层的开发不怎么了解,后来就只是做了一些简单的探索。
总的来说CC1101相对是一款比较简单的芯片,适合数据量不大的简单系统;而BLE功能更强大,功耗也很低,不过通讯的复杂度也相对较高,适合穿戴式场合等