資料介紹
描述
在過(guò)去的幾個(gè)月里,我一直在為使用Seeed LoRa-E5 (STM32WLE5JC) 模塊的客戶(hù)開(kāi)展概念驗(yàn)證 (PoC) 項(xiàng)目,因此我的辦公桌上有幾個(gè)備用開(kāi)發(fā)套件。
我也一直在移植我的一些Windows 10 IoT Core項(xiàng)目。NET Core 5 ,因此它們可以在RaspberryPiOS 上運(yùn)行的Raspberry PI3 / 4設(shè)備上工作。這讓我想到,像 Raspberry PI 這樣功能強(qiáng)大的設(shè)備的LoRaWAN連接可能對(duì)某些專(zhuān)業(yè)應(yīng)用很有用。
在對(duì)System.IO.PortsNuGet包進(jìn)行了一些實(shí)驗(yàn)之后。我決定做一個(gè) .NET Core 5 版本的 Seeed LoRa-E5 庫(kù)。
許多其他作者已經(jīng)詳細(xì)記錄了在RaspberryPI 設(shè)備上安裝.NET Core ARM32/64 運(yùn)行時(shí)的過(guò)程,因此我不會(huì)在這里介紹。
我主要使用Microsoft Visual Studio 2019 (而不是Visual Studio Code ),所以我花了一些時(shí)間探索使部署和調(diào)試更容易的工具。為了改善我使用的開(kāi)發(fā)體驗(yàn)
- Raspberry Debugger ,它為 Visual Studio 2019 提供了非常流暢的運(yùn)行時(shí)安裝、應(yīng)用程序部署和調(diào)試體驗(yàn)。
- XRDP用于遠(yuǎn)程訪(fǎng)問(wèn),因?yàn)?RPI 設(shè)備在我家后面的車(chē)庫(kù)中無(wú)頭運(yùn)行。(我這樣做是為了降低我家庭辦公室的RAK7258 網(wǎng)關(guān)報(bào)告的信號(hào)強(qiáng)度)。

我用珠寶商的螺絲刀提起了 Grove 連接器上用于傳輸和接收線(xiàn)的鎖定片,這樣我就可以交換它們了。(我用結(jié)標(biāo)記交叉電纜,因此很明顯它們已被修改)
nanoFramework / TinyCLR串口庫(kù)之間有一些細(xì)微的差別。
// 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 ,因此更容易過(guò)濾對(duì)DataReceived 事件的調(diào)用
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 沒(méi)有
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串口庫(kù)只支持字節(jié)數(shù)組的發(fā)送,所以AT 命令需要轉(zhuǎn)換。
while (true)
{
byte[] txBuffer = UTF8Encoding.UTF8.GetBytes(ATCommand);
int txByteCount = serialDevice.Write(txBuffer);
Debug.WriteLine($"TX: {txByteCount} bytes");
...
}
這些實(shí)現(xiàn)細(xì)節(jié)只是不同的“哲學(xué)”方法,所以不是主要問(wèn)題。
我假設(shè)讀者熟悉LoRaWAN、配置 LoRaWAN 模塊和 LoRaWAN 網(wǎng)絡(luò)。
The Things Network(TTN)網(wǎng)關(guān)、應(yīng)用程序和設(shè)備的配置已經(jīng)在其他幾個(gè)Hackster.IO項(xiàng)目中詳細(xì)介紹過(guò),因此在此不再贅述。

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