用 Widora-NEO+Ting-01M 进行LoRa通信试验

玩了一段时间的Ting-01M,现将个人的玩法分享给大家:

1. 连线
将两个Ting-01M分别挂到两个Widora-NEO上,通过UART接口进行连接,用AT命令进行通信。具体的接线如下:
!

2. 程序的大致运行过程:
每隔1秒,发送端的Widora-NEO将当前的时间戳和一串重复的ascii符号用AT命令传给Ting-01M,并通过LoRa进行发射; 接收端的Widora-NEO收到数据后进行简单的检查,如果发现有丢失或数据错误,则进行记录。并将每次接收到的数据和统计结果打印出来。
LoRa发射功率配置成10dBm,调制带宽62.5KHz,扩频因子 128.
另外,我将Ting-01M的PD0脚设置成RX数据到确认,有LoRa数据到的时候,与它连接的发光二极管就会闪一下,以方便观察。

3. 在OLED屏上显示信号强度
这个也是为了以后玩远距离通信做准备,Widora-NEO接收到数据后用消息队列的方式将RSSI进行发布,oled进程端会读到此数据并显示到oled上。我同时挂了个CC1101在Widora-NEO上,采用消息队列方式是因为感觉它比较简单方便。

两套装置中间隔了2个房间的距离,经过了40几度的连续高温考验,目前还是比较稳定地工作着。用C语言写的发送和接收的端的程序在这里 https://github.com/widora/cc1101_ting_oled

!

这两天的试验记录:

  1. 在室内,将发射和接收模块的天线都去掉,距离3米左右仍然可以接收到数据, 灵敏度可达 ~140dBm.
    !

  2. 将发射模块放在2楼,然后带着接收模块在小区内行走, 最远直线距离140米左右,此时信号强度 ~105dBm.
    !

  3. 小区测试,看来Lora基本上还是直线传播,11层的高楼可以成功阻挡信号,应该将Lora设备尽量往高处放,这个网上的相关分析基本一致。
    !

@midas-zhou 添加了一根线,用IO42来重置TING-01M上的MCU