电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>NET Core LoRaWAN客户端使用Seeed LoRa E5模块

NET Core LoRaWAN客户端使用Seeed LoRa E5模块

2023-06-15 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

在过去的几个月里,我一直在为使用Seeed LoRa-E5 (STM32WLE5JC) 模块的客户开展概念验证 (PoC) 项目,因此我的办公桌上有几个备用开发套件。

我也一直在移植我的一些Windows 10 IoT Core项目。NET Core 5 ,因此它们可以在RaspberryPiOS 上运行的Raspberry PI3 / 4设备上工作这让我想到,像 Raspberry PI 这样功能强大的设备的LoRaWAN连接可能对某些专业应用很有用。

在对System.IO.PortsNuGet进行了一些实验之后。我决定做一个 .NET Core 5 版本的 Seeed LoRa-E5 库。

许多其他作者已经详细记录了在RaspberryPI 设备上安装.NET Core ARM32/64 运行时的过程,因此我不会在这里介绍。

我主要使用Microsoft Visual Studio 2019 (而不是Visual Studio Code ),所以我花了一些时间探索使部署和调试更容易的工具为了改善我使用的开发体验

  • Raspberry Debugger 它为 Visual Studio 2019 提供了非常流畅的运行时安装、应用程序部署和调试体验。
  • XRDP用于远程访问,因为 RPI 设备在我家后面的车库中无头运行。(我这样做是为了降低我家庭办公室的RAK7258 网关报告的信号强度)。
poYBAGNkXSKAOYGEAAfiXSL1Gxs625.jpg
Raspberry PI3 使用 Seeed Grove 电缆连接到 Seeed LoRa-E5 开发套件
 

我用珠宝商的螺丝刀提起了 Grove 连接器上用于传输和接收线的锁定片,这样我就可以交换它们了。(我用结标记交叉电缆,因此很明显它们已被修改)

nanoFramework / TinyCLR串口库之间有一些细微的差别。

// set parameters
serialDevice.BaudRate = baudRate;
serialDevice.Parity = serialParity;
serialDevice.StopBits = stopBitCount;
serialDevice.Handshake = Handshake.None;
serialDevice.DataBits = dataBits;
serialDevice.NewLine = "\r\n";

atCommandExpectedResponse = string.Empty;

serialDevice.Open();

serialDevice.WatchChar = '\n';

serialDevice.DataReceived += SerialDevice_DataReceived;

//Ignoring the return from this is intentional
this.SendCommand("+LOWPOWER: WAKEUP", "AT+LOWPOWER: WAKEUP", SendTimeoutMinimum);

例如,nanoFramework 具有 watchChar ,因此更容易过滤对DataReceived 事件的调用

private static void SerialDevice_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
  switch (e.EventType)
  {
      case SerialData.Chars:
         //Debug.WriteLine("RX SerialData.Chars");
         break;

      case SerialData.WatchChar:
         Debug.WriteLine("RX: SerialData.WatchChar");
         SerialPort serialDevice = (SerialPort)sender;

         // Uncomment this to see buffer size ebb and flow
         //Debug.WriteLine($"RX: SerialData.WatchChar Bytes:{serialDevice.BytesToRead}");

         string response = serialDevice.ReadExisting();

         Debug.WriteLine($"RX :{response.Trim()} bytes:{response.Length} read from {serialDevice.PortName}");
         break;
      default:
         Debug.Assert(false, $"e.EventType {e.EventType} unknown");
         break;
   }
}

但是.Net Core 没有

private static void SerialDevice_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
   SerialPort serialPort = (SerialPort)sender;

   switch (e.EventType)
   {
      case SerialData.Chars:
         string response = serialPort.ReadExisting();

         Debug.WriteLine($"RX:{response.Trim()} bytes:{response.Length}");
	 break;

      case SerialData.Eof:
         Debug.WriteLine("RX :EoF");
         break;

      default:
         Debug.Assert(false, $"e.EventType {e.EventType} unknown");
	 break;
   }
}

TinyCLR串口库只支持字节数组的发送,所以AT 命令需要转换。

while (true)
{
   byte[] txBuffer = UTF8Encoding.UTF8.GetBytes(ATCommand);

   int txByteCount = serialDevice.Write(txBuffer);
   Debug.WriteLine($"TX: {txByteCount} bytes");

...
}

这些实现细节只是不同的“哲学”方法,所以不是主要问题。

我假设读者熟悉LoRaWAN、配置 LoRaWAN 模块和 LoRaWAN 网络

The Things Network(TTN)网关、应用程序和设备的配置已经在其他几个Hackster.IO项目中详细介绍过,因此在此不再赘述。

poYBAGNkXSSACmCuAAEaKDkLvBg918.png
.NET Core 驱动的 Seeed LoRa-E5 设备连接到物联网
 

该项目是我博客上一系列帖子的摘要,其中我详细介绍了Seeed LoRa-E5 LoRaWAN库的构建。

该库旨在为 .NET 开发人员构建用于 .Net Core 驱动设备的 LoRaWAN 连接应用程序的“管道”。

Github 存储库包含一个示例应用程序,应用程序展示了如何使用库发送和接收消息以及支持的不同配置选项。

脚注

Visual Studio 2019RaspberryDebugger扩展使.NET Core项目在RaspberryPI 设备上的部署和调试成为“无摩擦”过程。它工作得很好,我受到启发下载RaspberryDebugger 代码(它第一次编译的奖励),并且正在修复几个问题


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费