電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>NET nanoframework和RAK WisBlock傳感器開源

NET nanoframework和RAK WisBlock傳感器開源

2023-06-12 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

?

介紹

RAKwireless RAK11200 WisBlock WiFi 核心模塊RAK2305 WiFi Espressif ESP32 無線模塊基于.NET nanoFramework支持Expressif ESP32 處理器。

RAKWisBlock 系統(tǒng)廣泛的傳感器選擇,我想看看讓它們的代表性樣本工作有多難。

小心RAK11200RAK2305 40 針連接器,如果處理不當,它們會損壞(WisBlock 模塊也應擰到主板上)。

SHT3C溫濕度傳感器

SHT3C 傳感器模塊是最便宜的模塊之一(2023 年 2 月 4.60 美元)并且具有。NET nanoFramework IoT.Device支持,因此它看起來是一個不錯的起點。

poYBAGSBRYiAW-q8AAYo_hYa_Xw748.jpg
RAK5005基板、RAK1901傳感器和RAK11200核心WisBlock模塊
?

示例代碼適用于RAK11200 CoreRAK2305 無線模塊。

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包)可能存在版本控制問題,因此可能需要進行一些“修補”。

pYYBAGSBRYuALFicAACChnfto48911.jpg
顯示溫度和濕度讀數(shù)的 Visual Studio 2022 輸出窗口
?

GNSS GPS 定位模塊 u-Blox MAX-7Q 傳感器

我使用TinyGPSPlusNF庫來處理RAK1910 GNSS GPS 定位模塊上的u-blox7 GNSS 模塊生成的NMEA0183消息。

pYYBAGSBRZCAA26uAAjdg4aIEO0890.jpg
RAK5005 主板上的 RAK 11200 和 RAK1910
?
poYBAGSBRbOAb03zAAm4rT0Qahg263.jpg
RAK5005 主板上的 RAK 2305 和 RAK1910
?

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

poYBAGSBRbaAWz1gAADY4f78GS0612.jpg
RAK WisBlock 引腳映射器
?
poYBAGSBRcOAXkddAAXATNcy3BM172.png
RAK5005 WisBlock基板框圖
?

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

pYYBAGSBRcWAFs1FAABEfaDxq6M317.png
?

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

pYYBAGSBRciAY77LAAE2uf6nf9E403.jpg
RAK2305模塊原理圖
?
pYYBAGSBRNyAU4AYAAJ61sPW5QE337.png
?

該演示應用程序基于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)可能存在版本控制問題,因此可能需要進行一些“修補”。

pYYBAGSBRc6AFVtAAAEhhW36WEE063.jpg
顯示位置信息的 Visual Studio 2K22 輸出窗口
?

123456

和別人玩得開心

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

poYBAGSBRdSAYiPCAAjsz09H_Nk063.jpg
帶有 Seeedstudio Grove SHT31 傳感器的 RAK1920 Wisblock 傳感器適配器
?

123456

pYYBAGSBRd2AUH7sAAq08qIh-60217.jpg
RAK1920 Wisblock 傳感器適配器與 Adafruit SHT31-D 傳感器
?

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)可能存在版本控制問題,因此可能需要進行一些“修補”。

poYBAGSBReCAd9pmAACyy1Q0AH8720.jpg
Visual Studio 2K22 輸出窗口顯示溫度和濕度信息
?

執(zhí)行摘要

.NET nanoFramework 庫按預期運行良好。我最終花了更長的時間讓 GPS 工作,因為我不得不參考原理圖來弄清楚它是如何連接的。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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開發(fā)指南
  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開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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次下載  |  免費