战争洛拉·伯德豪斯(Lora Birdhouse)项目
寻找一种不同的推文方式吗?该项目探讨了使用低成本/低频带宽度LORA收音机来构建可以在城镇周围传递短信的简单网格网络的潜力。这种类型的网络对于可以利用Birdhouse Repeater站的全自动(碳中性)性质的紧急通信或其他应用程序可能很有用。该项目由W1TKZ Wellesley业余无线电协会的成员进行。该设计可用于业余(非商业)目的,本着HAM社区之间的实验和知识共享的精神。至少,我们正在为我们地区的一些幸运鸟创造房屋。
如果您有技术问题,请联系Bruce Mackinnon(KC1FSZ)。我对家庭酿造的无线电项目感兴趣,其中许多可以在我的QRZ页面上找到。
Wiki项目位于这里。
这只鸟会飞吗?让我们找出答案!

设计概述
网络上的节点是自主的,太阳能驱动的鸟类,每个鸟类都包含 +20dbm/100MW无线电(Semtech SX1276)。这些鸟屋将在合理的天气条件下运行24x7。 USB连接的桌面节点用于通过串行连接从计算机访问网络。互联网网关节点也正在开发中。
洛拉范围实验已被广泛证明。您的里程会因地形,高架站等而有很大的不同。测试表明,郊区1公里的链接范围是合理的。
选择Birdhouse包装是为了更轻松地融入周围环境。我们希望这个项目对环保。
低功率,太阳能设计使鸟屋具有100%自主。这使得在任何具有良好阳光照射且可见良好的位置安装中继器站相对容易。
台式电台型号由USB连接提供动力,没有电池/太阳能组件,但从RF/固件的角度来看与Birdhouse Repeacer相同。
该鸟屋目前由ESP32微控制器运行,尽管这一决定正在考虑。正在制作一个更强大的STM32原型。
商品组件被用来使鸟屋的成本降至最低。我们的目标是将节点成本保持在50美元以下。
该软件支持一个简单的消息路由协议,该协议允许数据包在房屋之间“跳”以达到其最终目的地。其他控制数据包用于提取工程数据并控制消息路由。
鉴于这是一种实验技术,目前尚未获得FCC第15部分认证,因此使用了33厘米火腿频段(902-928 MHz)。所有节点必须由FCC许可业余/HAM无线电运营商根据第97部分规则安装/操作。
马萨诸塞州韦尔斯利(Wellesley)建造了5个站点的概念验证网络。邮件已成功地在整个网眼中来回路线,包括在大约1公里处分开的鸟类之间的啤酒花。天线高度与往常一样重要。这些房屋受到新英格兰恶劣的天气状况,包括雪,冰,延长的多云天气和零下温度。关于系统再次出现在它们的树上时,这是一个悬而未决的问题!

目前正在计划阶段处于15个节点Beta网络。这包括对硬件和固件的升级。
如果您对使用商业硬件构建的高速网络网络感兴趣,那么这个项目可能不是您的事。请看一下AREDN(https://www.arednmesh.org)。 AREDN团队做得很好。
体系结构概述

如何访问网络?
用户使用装有USB串行端口的台式机访问网络。台式机站与鸟舍中继器完全相同的固件。序列命令协议用于在网络上发送和接收消息。桌面站具有所有必需的RF组件,并且是网络上成熟的节点(带有自己的地址)。桌面节点不使用太阳能/电池安装,因为它们可以从USB端口供电。
当前,用户使用在PC上运行的常规串行终端与网络进行交互(即腻子或类似的内容)。无需特殊软件。 Python桌面用户界面计划改善人体工程学。序列命令在后面的部分中进行了描述。
期望用户将在其属性上的某个优势地点安装一个鸟屋站,以加入网络并增加网络覆盖面积。这意味着桌面站所需的视线要重要得多 - 它是网络上的“短跳”。
另一个选择是使用更长的进料线将桌面站连接到优质天线,并避免需要两个站。两种配置都可以。
桌面站的包装尚未完成。如下图所示,目前将零件安装在一块木头上。包装中包括一个谐振垂直天线和USB电缆。

我怎么能得到一个鸟屋?
作为俱乐部项目的一部分,硬件/固件仍在完善。任何想要自己建造鸟屋的人都可以在此网站上提供所有固件,KICAD文件和木工尺寸。
在测试了下一次硬件迭代(V2)之后,我们将以套件形式提供组件。
如果您居住在高海拔高度的战略地点,并且想要一个经过完整的,经过测试的电台,我们将很乐意免费提供一个。 :-)
请联系网络管理员,以分配网络上的节点地址。
我需要成为火腿才能使用网络吗?
是的。我们使用的无线电模块未经第15部分认证,因此必须使用第97部分(业余)规则运行。我们目前正在对非汉姆ISM第15部分网络版本进行研究,以使无许可用户可以轻松加入乐趣。如果有人在这方面具有专业知识,请在Github的讨论中添加评论。
根据FCC规则,第15部分和第97部分网络不会互相交谈。
协议文档
该网络在33厘米(902-928 MHz)业余频段上运行。我们以906.5 MHz运行,该MHz位于33厘米的ARRL频段计划的数字部分。根据新英格兰频谱管理委员会(NESMC,https://www.nesmc.org/)902 MHz频段计划,此频率在乐队的“混合用途”部分中。我们的频率已在NESMC数据库中注册,以确保与该频段的其他用途进行适当的协调。
LORA消息有效载荷在此处记录在符合FCC规定的情况下。设计中的任何地方都没有使用加密。此处包含的信息是听众需要解释消息的全部内容。
使用标准LORA物理数据包格式。洛拉参数的详细信息:
- 125K带宽模式
- 启用CRC,4/5编码率
- 使用明确的标头模式
- 洛拉扩展因子9
- 12个符号序言
这是Semtech文档中物理层数据包格式的摘要:

可以在此处找到对Lora编码的更详细的解释。
上面的有效载荷包含一个36字节的标题,然后包含可变长度数据包格式。细节:
- 36字节固定尺寸。
- 版本(PV)为2(目前)。
- 数据包类型(PT)描述了消息的性质/处理。有关下面类型的更多信息。
- 数据包ID(PID)用于确认和复制数据包消除。 16位整数(Little Endian)。
- 呼叫符号为ASCII格式,并根据需要用空格填充。
- 源/目标地址是16位整数(小恩迪安)。有关下面地址的更多信息。

车站地址方案
每个站都分配了一个16位地址。一些地址具有特殊意义:
- 0x0000:未使用
- 0x0001至0xFFEF:用于网络上的普通电台。
- 0xFFF0至0xFFFD:用于管理/维护目的的未路由站。
- 0xfffe:网关站到其他网格
- 0xffff:广播地址
数据包类型
数据包类型的解释如下:
- 0:未使用
- 1:通用确认数据包,用于可靠交付。
- 2:电台ID/信标包。
- 3:ping请求。
- 4:ping响应(乒乓球)。
- 5:电台工程数据请求。
- 6:电台工程数据响应。
- 7:网络路径测试请求。
- 电台将在通过网络路由时,将其节点ID和最后一个跳的RSSI数据添加到此消息中。
- 8:网络路径测试响应。
- 电台将在通过网络路由时,将其节点ID和最后一个跳的RSSI数据添加到此消息中。
- 9:设置安全种子。用于建立用于验证特权请求的种子。
- 10:设置路线请求。 (特权操作)
- 11:获取路线数据请求。
- 12:获取路线数据响应。
- 13:发现路线请求(未来使用)。
- 14:发现路线响应(未来使用)。
- 15:电台重置请求。 (特权操作)
- 16:设置电台时钟请求。 (特权操作)
- 17:重置工程计数器请求。
- 18:固件更新请求(未来使用,特权)
- 19-31 :(保留)
- 32:常规文本流量。
- ASCII,自由文本有效载荷。可变大小,最大大小为128个字节。
- 33:优先/紧急文本流量。
- ASCII,自由文本有效载荷。可变大小,最大大小为128个字节。
- 34:常规二进制/数据流量。
- 35:优先/紧急二进制/数据流量。
- 36:车站警报。用于发出可听见的警报,等等。
确认/删除
大多数数据包类型都在每个跳跃上都得到确认。数据包类型1用于此目的。请注意,这并不意味着确认已到达原始发件人,而是意味着每个站都会获得一个ACK,以表明数据包已被移交给路线路径的下一个站。
确认数据包(类型1)和站ID数据包(类型2)未确认。
电台将维护每个节点接收数据包的计数器。重复的数据包将根据数据包ID计数器丢弃。当计数器包裹时,将使用窗口来避免混淆。
电台工程数据包
该数据包返回用于监视电台状态的技术数据。格式是以下:
- 0-1:固件版本
- 2-3:MV中的电池电压
- 4-5:MV中的面板电压
- 6-9:几秒钟的正常运行时间
- 10-13:时间(以自时代以来以秒为单位)
- 14-15:启动计数
- 16-17:睡眠数量
- 18-19:接收数据包计数
- 20-21:路由错误计数
- 22-23:温度(安装选项时)
- 24-25:湿度(安装选项时)
- 26-27:设备类
- 0:未指定
- 1:战争桌面ESP32
- 2:战争鸟屋ESP32
- 3:战争网格网关STM32
- 4:战争互联网网关STM32
- 5:战争桌面STM32
- 6:战争Birdhouse STM32
- 28-29:设备修订
- 30-31:错误节点接收数据包计数
2个字节和4个字节整数的格式很小。
硬件概述(电子)
鸟舍中继器原型(外部视图):

鸟舍中继器原型(内部电子视图):

KC1FSZ Qth的塔式鸟屋中继器原型:

已经开发了一个自定义PCB(V2)来改善集成,并使没有SMD焊接能力的套件制造商更容易。该板还提供了一个SMA连接器,以使天线实验更容易。

硬件笔记
- 在太阳能电池板和电池上进行电压读数。
- V2示意图可以在这里找到。
硬件概述(木制品)
中继器节点被包装在标准化的鸟屋外壳中,该设备设计用于容易组装。
需要六块木头。使用木螺钉连接组件。该鸟屋对于小鸟类物种充分起作用。
根据在部署初始网络的北纬42度的最佳生成的最佳最佳配置,以32度的角度倾斜屋顶。可能需要针对其他位置进行调整。
鸟屋中继器原型的木材零件:

树木安装的树木安装的中继器原型安装在树下/外坡道内的树木内:

一个中继器站安装在马萨诸塞州Needham的北山顶部。

木材切割清单:
- 1“ x5”名义股(实际4.5”)
- 1“ x6”名义股(实际5.5”)
- 背面:10英寸长
- 底部:6英寸长
- 屋顶:7 1/4英寸长,桌子上有32度的斜角。(将围栏设置为6 1/2”)
- 正面:3 3/4“最大长度,桌子锯上有32度斜角。孔1 1/2”直径。 (使用侧面测量此PEICE,并偶然地调整围栏)。
使用电动工具时,请谨慎行事!
软件概述
Lora软件完全是自制的 - 没有使用现成的驱动程序。这意味着更多的工作和更多的学习。
所有节点都支持用于与网络交互的串行接口,但这仅连接到桌面节点。
菲尔·詹森(Phil Jensen)使用这个非常好的项目实施了串行指挥处理器。
目前正在使用静态路由机制。每个节点的路由表可以远程更改。动态路由将在未来的阶段开发。
开发人员信息
有关开发,IDE设置等的信息,请参阅该项目Wiki。
相关技术
- AREDN(业余无线电紧急网络网络):一个非常酷的系统,它利用WiFi技术创建支持紧急通信的离网IP网络。这些家伙的速度要高得多,并且正在使用更复杂的硬件。 Wars Birdhouse项目使用了不同的无线技术,并且与Arden系统无法互操作。请参阅https://www.arednmesh.org。
- Loraham(https://github.com/travisgoodspeed/loraham):一个很棒的开放源项目,探索了一些类似的领域。该项目目前似乎是不活动的。
- Lorawan:使用恒星拓扑组织的洛拉电台的酷系统。每个恒星的枢纽都是通往公共互联网的门户。该技术使用加密,对于业余项目不合法。
- DASH7无线网络(https://en.wikipedia.org/wiki/dash7)。使用加密,因此对第97部分不利,但有趣。
参考资料
- VE2DBE的无线电手机:https://www.ve2dbe.com/english1.html是一个理解本地区域/LOS传播的好程序。
- Ubiquity链接计划者对了解潜在站点之间的土地特征非常有帮助:https://link.ui.com/#.2q
- Lora规则,法规和术语:https://lora.readthedocs.io/en/latest/#rules-and-negulation
- LORA无线电模块(RFM95W)的参考:https://www.hoperf.com/modules/lora/rlfm95.html
- LORA调制信息:https://www.frugalprototype.com/wp-content/uploads/2016/08/an1200.22.pdff
- 参考18650电池的参考:https://cdn.sparkfun.com/datasheets/prototyping/icr18650%202600mah%20datasheet.pdf
- LDO电压调节器的参考:https://ww1.microchip.com/downloads/en/devedoc/mcp1700-low-quiescent-current-current-current-ldo-20001826e.pdf
- STM32L031 MicroController的参考:https://www.st.com/resource/en/datasheet/stm32l031k6.pdf
- STM32L0硬件设计指南:https://www.st.com/resource/en/application_note/an4467-getting-started-with-with-stm32l0xx-hardware-deevelopment-nvelopment-stmicroelelectronics.pdf
- ESP32 D1 mini的参考:https://wiki.csgalileo.org/_media/projects/internetofthings/d1_mini_esp32_-_pinout.pinout.pdf
- ESP32广告转换器中纠正非线性的文章:https://github.com/e-tinkers/esp32-adc-calibrate
- 用于创建通往IP网络的桥梁的W5500的数据表:https://cdn.sparkfun.com/datasheets/dev/arduino/shields/shields/w5500_datasheet_v1.0.2_1.2_1.pdf
- 一篇非常有趣的论文,谈论洛拉物理层的反向工程:https://www.epfl.ch/labs/tcl/wp-content/uploads/2020/2020/02/reverse_eng_eng_report.pdf
详细的零件清单
(跟随)
连接笔记
第1列
第0行-GND行1-供应GND第2行2 -IO33(电池电压感)第3行-IO34(面板电压感)第4行4-供应 +VCC行5- Pannel Row 6 -Pannel Row 7- +3.3V
第2列
第0行1第2行2 -IO19(SPI MISO)第3行-IO23(SPI MOSI)第4行-IO18(SPI SCK)第5行5 -IO5(SPI NSS)第6行6 -IO26(无线电RST)RST ROW 7 -IO4(无线电DIO0)(无线电DIO0)
进一步实验的区域
硬件2.0(在过程中)
- 完全集成的PCB使用表面安装组件
- 切换到超低功率微处理器:STM32L031
- SMA连接器以进行更健壮的天线实验
硬件(未来)
- 用升压转换器替换线性调节器,以改善电池使用情况。
- 完成鸟屋的包装,以确保防风雨和与鸟类居住的完全兼容。
- 便宜的天线。
- 获得更长距离链接的天线。
- RF开关允许在两个天线之间进行动态切换。这可能有助于A/B测试,或可能具有方向性/增益天线的站点,用于躯干和用于局部进入的Omni方向天线。
- 带有LCD RSSI显示屏的手持式电台,用于侦察潜在的站点位置。
软件
- 使用更积极的睡眠提高了功率效率。利用SX1276接收中断或通道活动检测(CAD)中断,以使系统在不活动期间入睡。
- 动态路线发现。目前,路线是静态的,但是可以对空中进行修改。
- 在节点离线时存储并向前存放。
- 消息顺序以避免重复交付。
- 网络时间同步。
- 用Python编写的更易于用户友好的桌面应用程序。这将使工作的休闲用户更加轻松。最终用户与网络互动。
- 网络安全。
- 空中(OTA)软件升级。
相关的FCC法规/注释
- 第97.311部分定义了传播(SS)规则。
- 第97.303(n)部分定义了33厘米频段的规则。基本上,火腿必须与其他服务共享乐队。德克萨斯州,新墨西哥州,科罗拉多州和怀俄明州也有地理限制。
- 第97.309(b)部分讨论了未指定的数据排放代码。基本上,所有格式都需要清楚地记录下来。见上文。
- 该公司进行认证,并提供有关认证过程的详细指南。
宣传
- 有关该项目的一篇文章(与Dan Brown W1Dan合着)出现在2023年7月的ARRL QST杂志的俱乐部电台专栏中。发布此书真是太好了。
- 可以在此处找到一篇不错的Hackaday文章。我发现这篇文章很有趣,因为它暗示我们的网络可以在互联网降低时用作备份。我没有尝试过通过Lora流式传输Netflix,但是我猜想视频质量不会很好。 :-)
- 零重录通讯在2023年6月涵盖了该项目。史蒂夫·斯特罗(Steve Stroh N8GNJ)在这篇广泛阅读的新闻通讯方面做得很好,我很荣幸在他的文章中被称为“严重误解”和“短视”。正如Lindsay Lohan曾经说过的那样,没有坏宣传的事情!
版权信息
版权(C)2023 -Bruce Mackinnon KC1FSZ
这项工作涵盖了GNU公共许可证(V3)的条款。请咨询许可证文件以获取更多信息。
业余无线电社区正在为非商业用途提供这项工作。禁止重新分配,商业用途或出售任何部分。