NET nanoframework和RAK WisBlock傳感器開源
資料介紹
描述
?
介紹
RAKwireless RAK11200 WisBlock WiFi 核心模塊和RAK2305 WiFi Espressif ESP32 無線模塊基于.NET nanoFramework支持的Expressif ESP32 處理器。
RAKWisBlock 系統(tǒng)有廣泛的傳感器選擇,我想看看讓它們的代表性樣本工作有多難。
小心RAK11200和RAK2305 40 針連接器,如果處理不當(dāng),它們會損壞(WisBlock 模塊也應(yīng)擰到主板上)。
SHT3C溫濕度傳感器
SHT3C 傳感器模塊是最便宜的模塊之一(2023 年 2 月 4.60 美元)并且具有。NET nanoFramework IoT.Device支持,因此它看起來是一個不錯的起點(diǎn)。

示例代碼適用于RAK11200 Core和RAK2305 無線模塊。
public class Program
{
public static void Main()
{
Debug.WriteLine("devMobile.IoT.RAK.Wisblock.RAK11200RAK1901 starting");
try
{
// RAK11200 & RAK2305
Configuration.SetPinFunction(Gpio.IO04, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(Gpio.IO05, DeviceFunction.I2C1_CLOCK);
I2cConnectionSettings settings = new(1, Shtc3.DefaultI2cAddress);
using (I2cDevice device = I2cDevice.Create(settings))
using (Shtc3 shtc3 = new(device))
{
while (true)
{
if (shtc3.TryGetTemperatureAndHumidity(out var temperature, out var relativeHumidity))
{
Debug.WriteLine($"Temperature {temperature.DegreesCelsius:F1}°C Humidity {relativeHumidity.Value:F0}%");
}
Thread.Sleep(10000);
}
}
}
catch (Exception ex)
{
Debug.WriteLine($"SHTC3 initialisation or read failed {ex.Message}");
Thread.Sleep(Timeout.Infinite);
}
}
}
NuGet 包(尤其是Units.Net包)可能存在版本控制問題,因此可能需要進(jìn)行一些“修補(bǔ)”。

GNSS GPS 定位模塊 u-Blox MAX-7Q 傳感器
我使用TinyGPSPlusNF庫來處理RAK1910 GNSS GPS 定位模塊上的u-blox7 GNSS 模塊生成的NMEA0183消息。


RAK WisBlock Pin Mapper工具輸出用于RAK1910、RAK5005-O WisBlock 底板和RAK11200 。


為了節(jié)省電力,GPIO27 用于打開/關(guān)閉 RAK1910 模塊。

在查看 RAK2305 和 RAK5005 原理圖并進(jìn)行一些實(shí)驗(yàn)后,我發(fā)現(xiàn)串行端口 TX/RX 線也必須顛倒,因?yàn)檫@兩個設(shè)備通常會連接到WisBlock 核心模塊。


該演示應(yīng)用程序基于MBoude的TinyGPSPlusNF庫,該庫解析RAK1910生成的NMEA 0183語句。
public class Program
{
private static TinyGPSPlus _gps;
public static void Main()
{
Debug.WriteLine($"devMobile.IoT.RAK.Wisblock.RAK1910 starting TinyGPS {TinyGPSPlus.LibraryVersion}");
try
{
Configuration.SetPinFunction(Gpio.IO21, DeviceFunction.COM2_TX);
Configuration.SetPinFunction(Gpio.IO19, DeviceFunction.COM2_RX);
_gps = new TinyGPSPlus();
// UART1 with default Max7Q baudrate
SerialPort serialPort = new SerialPort("COM2", 9600);
serialPort.DataReceived += SerialDevice_DataReceived;
serialPort.Open();
serialPort.WatchChar = '\n';
// Enable the GPS module GPS 3V3_S/RESET_GPS - IO2 - GPIO27
GpioController gpioController = new GpioController();
GpioPin Gps3V3 = gpioController.OpenPin(Gpio.IO27, PinMode.Output);
Gps3V3.Write(PinValue.High);
Debug.WriteLine("Waiting...");
Thread.Sleep(Timeout.Infinite);
}
catch (Exception ex)
{
Debug.WriteLine($"UBlox MAX7Q initialisation failed {ex.Message}");
Thread.Sleep(Timeout.Infinite);
}
}
private static void SerialDevice_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// we only care if got EoL character
if (e.EventType != SerialData.WatchChar)
{
return;
}
SerialPort serialDevice = (SerialPort)sender;
string sentence = serialDevice.ReadExisting();
if (_gps.Encode(sentence))
{
if (_gps.Date.IsValid)
{
Debug.Write($"{_gps.Date.Year}-{_gps.Date.Month:D2}-{_gps.Date.Day:D2} ");
}
if (_gps.Time.IsValid)
{
Debug.Write($"{_gps.Time.Hour:D2}:{_gps.Time.Minute:D2}:{_gps.Time.Second:D2}.{_gps.Time.Centisecond:D2} ");
}
if (_gps.Location.IsValid)
{
Debug.Write($"Lat:{_gps.Location.Latitude.Degrees:F5}° Lon:{_gps.Location.Longitude.Degrees:F5}° ");
}
if (_gps.Altitude.IsValid)
{
Debug.Write($"Alt:{_gps.Altitude.Meters:F1}M ");
}
if (_gps.Location.IsValid)
{
Debug.Write($"Hdop:{_gps.Hdop.Value:F2}");
}
if (_gps.Date.IsValid || _gps.Time.IsValid || _gps.Location.IsValid || _gps.Altitude.IsValid)
{
Debug.WriteLine("");
}
}
}
}
NuGet 包(尤其是Units.Net o nes)可能存在版本控制問題,因此可能需要進(jìn)行一些“修補(bǔ)”。

123456
和別人玩得開心
RAK11200 WisBlock WiFi 模塊有兩個 I2C 端口,在RAK5005 WisBlock 基板上,Wisblock 傳感器和RAK1920 WisBlock 傳感器適配器模塊 Grove 插座重新連接到 I2C1。

123456

123456
public class Program
{
public static void Main()
{
Debug.WriteLine("devMobile.IoT.RAK.Wisblock.RAK1920SHT31 starting");
try
{
Configuration.SetPinFunction(Gpio.IO04, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(Gpio.IO05, DeviceFunction.I2C1_CLOCK);
I2cConnectionSettings settings = new(1, (byte)I2cAddress.AddrLow);
using (I2cDevice device = I2cDevice.Create(settings))
using (Sht3x sht31 = new(device))
{
while (true)
{
var temperature = sht31.Temperature;
var relativeHumidity = sht31.Humidity;
Debug.WriteLine($"Temperature {temperature.DegreesCelsius:F1}°C Humidity {relativeHumidity.Value:F0}%");
Thread.Sleep(10000);
}
}
}
catch (Exception ex)
{
Debug.WriteLine($"SHT31 initialisation or read failed {ex.Message}");
Thread.Sleep(Timeout.Infinite);
}
}
}
NuGet 包(尤其是Units.Net on es)可能存在版本控制問題,因此可能需要進(jìn)行一些“修補(bǔ)”。

執(zhí)行摘要
.NET nanoFramework 庫按預(yù)期運(yùn)行良好。我最終花了更長的時間讓 GPS 工作,因?yàn)槲也坏貌粎⒖荚韴D來弄清楚它是如何連接的。
- WisBlock從PNG文件創(chuàng)建LED矩陣顯示屏方法
- NET Core LoRaWAN客戶端使用RAK3172模塊
- 帶有RAK3372 EVB的NET nanoframework LoRaWAN開源
- 車輛停車傳感器開源設(shè)計
- 干箱傳感器開源設(shè)計
- NanoframeWork和NRF24L01及ESP32開源
- 接近傳感器開源分享
- 電視傳感器開源分享
- LDR傳感器開源案例
- 運(yùn)動傳感器開源分享
- LDR傳感器開源分享
- 使用Qubitro和RAK WisBlock進(jìn)行全球天氣監(jiān)測
- 距離傳感器和OLED開源分享
- 傳感器器連接開源分享
- 光學(xué)傳感器開源分享
- 傳感器的分類 1458次閱讀
- Modbus傳感器上云竟然如此簡單 601次閱讀
- NPN傳感器和PNP傳感器的區(qū)別是什么 3.9w次閱讀
- 指紋傳感器定義_指紋傳感器的應(yīng)用 3423次閱讀
- 位置傳感器原理及應(yīng)用 2.3w次閱讀
- 轉(zhuǎn)速傳感器分類_轉(zhuǎn)速傳感器的作用 9598次閱讀
- 電場傳感器的應(yīng)用原理_電場傳感器的應(yīng)用領(lǐng)域 9784次閱讀
- 傳感器的組成_傳感器原理及應(yīng)用 1.8w次閱讀
- 傾角傳感器的工作原理_傾角傳感器的應(yīng)用 1.9w次閱讀
- 聲音傳感器有哪些_聲音傳感器的應(yīng)用 8.4w次閱讀
- 高度傳感器的應(yīng)用_高度傳感器的作用 2w次閱讀
- 地磁傳感器工作原理_地磁傳感器應(yīng)用_地磁傳感器的作用 4.2w次閱讀
- 氧傳感器壞了會怎么樣_氧傳感器故障表現(xiàn)_氧傳感器作用 9.3w次閱讀
- 濕度傳感器好壞檢測_濕度傳感器的工作原理_濕度傳感器應(yīng)用 2w次閱讀
- 扭矩傳感器作用_扭矩傳感器工作原理_扭矩傳感器的安裝 3.4w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論