資料介紹
描述
在過去的幾個月里,我一直在為使用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](https://file.elecfans.com/web2/M00/77/78/poYBAGNkXSKAOYGEAAfiXSL1Gxs625.jpg)
我用珠寶商的螺絲刀提起了 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](https://file.elecfans.com/web2/M00/77/78/poYBAGNkXSSACmCuAAEaKDkLvBg918.png)
該項目是我博客上一系列帖子的摘要,其中我詳細介紹了Seeed LoRa-E5 LoRaWAN庫的構建。
該庫旨在為 .NET 開發人員構建用于 .Net Core 驅動設備的 LoRaWAN 連接應用程序的“管道”。
Github 存儲庫包含一個示例應用程序,該應用程序展示了如何使用庫發送和接收消息以及支持的不同配置選項。
腳注
Visual Studio 2019的RaspberryDebugger擴展使.NET Core項目在RaspberryPI 設備上的部署和調試成為“無摩擦”過程。它工作得很好,我受到啟發下載了RaspberryDebugger 代碼(它第一次編譯的獎勵),并且正在修復幾個問題。
- 太陽能供電的LoRa現場網關客戶端
- Wilderness Labs Meadow LoRa Field網關客戶端
- NET Core LoRaWAN客戶端使用RAK3172模塊
- Seeed IoTea LoRa解決方案
- Arduino MKR WAN 1300 LoRa現場網關客戶端
- Arduino Nano Easy Sensors LoRa Field網關客戶端
- 使用LoRa E5的低功耗雪深傳感器
- 使用ST Cube編程器和IDE對LoRa E5迷你設備進行編程
- 基于Seedstudio的LoRa E5迷你板 0次下載
- 使用MQTT集成來監控控制基于LoRa E5的物聯網設備
- Triscend E5單片機TrISC端E5可配置片上系統平臺 4次下載
- Cmd Markdown客戶端免費下載 11次下載
- CSDN博客客戶端源碼 1次下載
- CoolpyCould客戶端 18次下載
- 基于USB的加密視頻客戶端的設計與實現
- 適用于Linux的基于Rust的同步客戶端介紹 660次閱讀
- 分享一款別樣的ssh客戶端-PortX 772次閱讀
- 如何找到連接到服務器的客戶端計算機的IP地址 1727次閱讀
- 服務器Server和客戶端Client的區別 1426次閱讀
- MQTT客戶端介紹 2482次閱讀
- 基于LwIP的HTTP客戶端設計 2978次閱讀
- 基于LwIP的TCP客戶端設計 2322次閱讀
- 基于RAW API的UDP客戶端設計 1320次閱讀
- 密鑰服務器和客戶端常見問題解答 1332次閱讀
- SSH 客戶端各種特性和使用說明 1612次閱讀
- 數據是怎么樣保證準確的從客戶端發送到服務器端 2123次閱讀
- 鴻蒙應用如何喚起 QQ 安卓客戶端進行授權 3933次閱讀
- 亞太天能科技E5/E5c指紋鎖簡介 6793次閱讀
- Zoom的Web客戶端和WebRTC有什么關系 1.5w次閱讀
- 深度解析LoRa和LoRaWAN的區別 9w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論