色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帶有Netduino的C#智能物聯(lián)網(wǎng)交換機

帶有Netduino的C#智能物聯(lián)網(wǎng)交換機

2022-11-08 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

智能物聯(lián)網(wǎng)交換機

我研究這個話題已經(jīng)有一段時間了(看看我以前的項目)。我是物聯(lián)網(wǎng)的忠實粉絲,尤其是家庭自動化。這些應(yīng)用程序有可能帶來社會和生活水平的巨大變化。猜猜看,我必須通過一個新平臺應(yīng)用物聯(lián)網(wǎng):C#感謝 Wilderness Labs。

讓我們開始吧!

1. 所需材料

  • 繼電器模塊(我在這個項目中使用了 2 通道繼電器)
  • 原型面包板
  • DHT11 用于溫度監(jiān)測。
  • Android 設(shè)備(運行 Xamarin 應(yīng)用程序)
  • 盒子(我用的是木制的)
?
poYBAGNonBiAVWWIAAno5AuPPKw077.jpg
所需材料!
?

2.Netduino 設(shè)置

Netduino 是一款開發(fā)板,可讓您使用 C# 編寫代碼來創(chuàng)建 IoT 應(yīng)用程序。它使用 .NET 微框架。它就像一個 Arduino,具有許多令人興奮的附加功能,例如 -

  • 使用 WiFi 或以太網(wǎng)連接
  • SD 卡支持額外的持久存儲(高達(dá) 2GB)。
  • 多得多.....

因此,要使用 Netduino,您將需要 Visual Studio 2015,它可以讓您創(chuàng)建 .NET Micro Framework 應(yīng)用程序。(請注意,仍然不支持 Visual Studio 2017)

?
poYBAGNonByAILL-AAGueMy4yzA929.png
Visual Studio 下載鏈接
?

繼續(xù)從上面的鏈接下載 VS 2015 的社區(qū)版本。

現(xiàn)在,在您安裝后,請按照以下說明進(jìn)行操作 -

?
pYYBAGNonCGADYs1AAHtoo8alHg145.png
荒野實驗室網(wǎng)站
?

?

設(shè)置此設(shè)備有些困難,因此我建議您加入其社區(qū),該社區(qū)非常活躍且樂于助人。我使用了 N3 以太網(wǎng),所以我不需要 Netduino 部署設(shè)置部分。但是由于提供的軟件,設(shè)置起來很容易。

3. 接線連接

現(xiàn)在您已經(jīng)完成了所有設(shè)置,請轉(zhuǎn)到 Netduino Samples repo 并下載 Blink 程序,然后使用 VS2015 在您的 Netduino 上運行它以確保一切正常。

https://github.com/WildernessLabs/Netduino_Samples

?
poYBAGNonCSAb69oAAIKeufqDUk963.png
讓 Binky 啟動并運行
?

關(guān)注此視頻以獲得更多幫助。

?

在此之后,您將設(shè)置為我們的項目連接連接。按照下圖進(jìn)行連接。

?
poYBAGNonCuAWtAfAAq4sSyjpEw242.jpg
?

看看 Fritzing 的連接。

?
pYYBAGNonC-AdFoRAACdBMew2vI554.png
?

DHT11 的連接非常簡單。

3.3V -傳感器的 VCC

Gnd -傳感器的 Gnd

數(shù)字引腳 2 -傳感器的輸出引腳

完成后,您就可以開始為您的項目編寫代碼了。

4. Netduino 的編碼部分

現(xiàn)在,您的硬件已連接好,您已準(zhǔn)備好對 Netduino 進(jìn)行編碼。我們將使用Netduino Samples Git repo 項目中提供的Request HandlerMapleServer Generation文件。將這些文件添加到您的 VS 項目中非常容易。此外,對于中繼編碼,我們將使用 Git 存儲庫的中繼示例或連接的咖啡機示例。下面提供了指向我的 Git 存儲庫和 Netduino Samples Git 存儲庫的鏈接。

現(xiàn)在,要配置 DHT11 傳感器,首先您需要 4 端子原始傳感器,因為我使用的庫只有在所有 4 個引腳都正確連接到電路板時才會運行。

using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
namespace Glovebox.Netduino.Drivers {
   public class DHT11 : DhtSensor{
       //private OutputPort m_op;
       //private OneWire m_ow;
       private OneWireBus.Device m_dev;
       public DHT11(Cpu.Pin data1, Cpu.Pin data2):base(data1,data2,Port.ResistorMode.Disabled)
       {
        //   m_op = new OutputPort(pin, false);
       }
       public float ConvertAndReadTemperature() {
           var data = 0L;
           // if reset finds no devices, just return 0
           if (m_ow.TouchReset() == 0)
               return 0;
           // address the device
           m_ow.WriteByte(Command.MatchROM);
           WriteBytes(m_dev.Address);
           // tell the device to start temp conversion
           m_ow.WriteByte(Command.StartTemperatureConversion);
           // wait for as long as it takes to do the temp conversion,
           // data sheet says ~750ms
           while (m_ow.ReadByte() == 0)
               System.Threading.Util.Delay(1);
           // reset the bus
           m_ow.TouchReset();
           // address the device
           m_ow.WriteByte(Command.MatchROM);
           WriteBytes(m_dev.Address);
           // read the data from the sensor
           m_ow.WriteByte(Command.ReadScratchPad);
           // read the two bytes of data
           data = m_ow.ReadByte(); // LSB
           data |= (ushort)(m_ow.ReadByte() << 8); // MSB
           // reset the bus, we don't want more data than that
           m_ow.TouchReset();
           // returns C
           // F would be:  (float)((1.80 * (data / 16.00)) + 32.00);
           return (float)data / 16f;
       }
       public void StartConversion() {
           // if reset finds no devices, just return 0
           if (m_ow.TouchReset() == 0)
               return;
           // address the device
           m_ow.WriteByte(Command.MatchROM);
           WriteBytes(m_dev.Address);
           // tell the device to start temp conversion
           m_ow.WriteByte(Command.StartTemperatureConversion);
       }
       public float ReadTemperature() {
           var data = 0L;
           // reset the bus
           m_ow.TouchReset();
           // address the device
           m_ow.WriteByte(Command.MatchROM);
           WriteBytes(m_dev.Address);
           // read the data from the sensor
           m_ow.WriteByte(Command.ReadScratchPad);
           // read the two bytes of data
           data = m_ow.ReadByte(); // LSB
           data |= (ushort)(m_ow.ReadByte() << 8); // MSB
           // reset the bus, we don't want more data than that
           m_ow.TouchReset();
           // returns C
           // F would be:  (float)((1.80 * (data / 16.00)) + 32.00);
           return (float)data / 16f;
       }
       public static float ToFahrenheit(float tempC) {
           return (9f / 5f) * tempC + 32f;
       }
       private void WriteBytes(byte[] data) {
           for (var i = 0; i < data.Length; i++)
               m_ow.WriteByte(data[i]);
       }
       private static class Command {
           public const byte SearchROM = 0xF0;
           public const byte ReadROM = 0x33;
           public const byte MatchROM = 0x55;
           public const byte SkipROM = 0xCC;
           public const byte AlarmSearch = 0xEC;
           public const byte StartTemperatureConversion = 0x44;
           public const byte ReadScratchPad = 0xBE;
           public const byte WriteScratchPad = 0x4E;
           public const byte CopySratchPad = 0x48;
           public const byte RecallEEPROM = 0xB8;
           public const byte ReadPowerSupply = 0xB4;
       }
   }
}

這是我要使用的庫的代碼。只需通過“使用”命令將其添加到 DHT11 顯示文件中,然后將 D5 引腳配置為輸出并在調(diào)試窗口上打印其狀態(tài)。而已!

這是中繼代碼:

using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
using System.Threading;
namespace Relay
{
   public class Program
   {
       public static void Main()
       {
           // create an output port (a port that can be written to) and connect it to Digital Pin 2
           OutputPort relay = new OutputPort(Pins.GPIO_PIN_D2, false);
           OutputPort relay = new OutputPort(Pins.GPIO_PIN_D3, false);
           // run forever
           while (true)
           {
               relay.Write(true); // turn on the LED
               Thread.Sleep(500); // sleep for 1/2 second
               relay.Write(false); // turn off the relay
               Thread.Sleep(500); // sleep for 1/2 second
           }
       }
   }
}

讓我們通過創(chuàng)建一個 Xamarin 應(yīng)用程序來控制它,從而使開發(fā)板變得智能。

5. Xamarin 應(yīng)用程序部分

現(xiàn)在我們已經(jīng)準(zhǔn)備好這些東西,我們將創(chuàng)建一個簡單的 Xamarin 應(yīng)用程序,該應(yīng)用程序顯示開關(guān)的狀態(tài)(打開或關(guān)閉),并有 2 個按鈕可以將開關(guān)的狀態(tài)從關(guān)閉更改為打開。

以下是 2 個代碼片段,可幫助您更多地了解上述功能。

獲取狀態(tài)代碼片段

public async Task<bool> GetLightSwitchStatus()
{    
    using (var s = new Sockets.Plugin.TcpSocketClient())  
    {       
        await s.ConnectAsync(NetduinoIp, Port);    
        byte[] data = new byte[2];        
        data[0] = ReadLightSwitchState;     
        data[1] = ReadLightSwitchState;       
        s.WriteStream.Write(data, 0, 2);    
        s.ReadStream.Read(data, 0, 1);      
        return data[0] == ByteTrue;   
    }
}

上面這段代碼向服務(wù)器請求開關(guān)狀態(tài),并根據(jù)燈開關(guān)的狀態(tài)返回真或假。

設(shè)置狀態(tài)代碼片段:

public async Task SetLightSwitchStatus(bool on)
{
    using (var s = new Sockets.Plugin.TcpSocketClient())
    {
        await s.ConnectAsync(NetduinoIp, Port);
        byte[] data = new byte[2];   
        data[0] = WriteLightSwitchState;  
        data[1] = (byte)(on ? ByteTrue : ByteFalse);    
        s.WriteStream.Write(data, 0, 2);
    }
}

這段代碼向服務(wù)器發(fā)送一個請求,告訴服務(wù)器應(yīng)該將電燈開關(guān)設(shè)置為哪個狀態(tài)。

請注意所有信息交換是如何通過字節(jié)完成的,第一個字節(jié)告訴服務(wù)器請求哪個操作,而第二個字節(jié)在必要時包含數(shù)據(jù)。

我已經(jīng)使用 cssharpguy 的教程來創(chuàng)建我的簡單應(yīng)用程序。這是視頻教程

?

我遵循了連接的 CoffeeMaker 教程,并為該項目使用了相同的應(yīng)用程序。

?
pYYBAGNonDOAWQ2OAAG8_TFm9G0639.png
?

現(xiàn)在一切都完成了,該項目已準(zhǔn)備好運行。這是顯示項目工作的視頻教程。

?

該視頻是我以前的項目之一,但工作原理是相同的。我無法獲得 Netduino 教程視頻,因為我的 Netduino 板目前遇到一些問題,我的板開始工作后將立即更新視頻。

感謝大家閱讀這個項目。請尊重并與您的朋友分享。:-)


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

評論

查看更多

下載排行

本周

  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元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用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十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 羞羞答答影院在线| 伊人久99久女女视频精品免| 最新中文字幕在线视频| 国产免费播放一区二区三区 | 亚洲精品人成电影网| 成年妇女免费播放| 麻豆精品传媒卡一卡二传媒短视频| 偷尝禁果H1V1幸运的山熊| 秋霞午夜一级理论片久久| 欧美久久综合性欧美| 在线看片av以及毛片| 俄罗斯女人Z0Z0极品| 蜜桃成熟时2在线观看完整版hd| 校园纯肉H教室第一次| 成视频高清| 女教师苍井空体肉女教师S242| 依恋影院在线观看| 国产主播AV福利精品一区| 三级网址在线| 爱如潮水3免费观看日本| 美女内射视频WWW网站午夜| 一日本道伊人久久综合影| 国产色综合久久无码有码| 手机在线播放成人亚洲影院电影| G0GO人体大尺香蕉| 男人插女人动态图| 最近日本字幕免费高清| 久久99免费视频| 亚洲欧洲日本无在线码播放| 国产精品日韩欧美一区二区三区 | 妖精视频免费看| 国产在线午夜| 亚洲国产精品嫩草影院| 国产精品爆乳尤物99精品| 日韩免费一区| 大陆老熟女60岁| 日本视频中文字幕一区二区| Chineseman瘦老头77| 欧美16一17sex性hd| 99视频全部看免费观| 亚洲人成www在线播放|