由于出差多,这里的花经常过一段时间才能浇水,有些花都旱晕了,所以想做一个助手帮我远程就可以操作浇花,当然也完全可以发展为一个商用系统,拿浇花来做为一个测试平台吧,现在已经完成了,并已经运行了一个多月

总体来讲开发起来还是比较容易的,大家可以尝试,可以做很多物联网的产品

准备材料:

1、5V香橙派 zero2 一个

2、5V高低电平继电器一个

3、S8550 PNP三极管一个

4、12V转5V 转换器一个

5、5v 3cm散热风扇一个

6、sht30温湿计一个

7、12V水管专用的电磁阀门一个

8、浇花水管和喷头一套

9、电箱+底板一个

10、杜邦线几条

11、220V转12V电源一个

以上材料都是在某宝上采购的,成本一共200-250吧

另外我在腾讯云买了一个linux的轻应用服务器 作为我的云端服务器,由于我是首次购买:66元就可以一年

开发环境:

vs2022   .net 6+rabbitmq+mysql

先讲解一下各个元件的作用:

香橙派 zero2 :用作网关主机,安装官网提供的ubuntu系统,部署.net应用程序,用来控制高低电平继电器打开 水管专用的电磁阀门 和 散风扇开关

高低电平继电器:有控制断开和接通电路的用作,实现开关,接12V水管专用的电磁阀门火线

S8550 PNP三极管:用于控制开关散热风扇

也有控制断开和接通电路的用作,实现开关, 跟继电器类似,区别是 他没有负载电隔离功能,继电器有隔离,电流很大时发热量很大,多用于小电流场合,继电器用于大电流场合,所以两个我都体验用一下

220V转12V电源:接家用电,接12V水管专用的电磁阀门零线

12V转5V 转换器:接5V香橙派 zero2,5V高低电平继电器,5v 3cm散热风扇一个

5v 3cm散热风扇:装在机箱,如果 6、sht30温湿计检测的 温度高于35℃,风扇启动散热,33度关闭

工作原理:

服务端发送指令到mq

网关香橙派zero接收消费mq,并执行指令

mysql主要用到的表

c#读取sht30温湿传感例子,使用nuget 包Iot.Device.bindings即可

using Iot.Device.Sht3x;
using System.Device.I2c;/// <summary>///  //sht30温湿传感器/// </summary>public static class Device_Sensor_SHT30TempAndHumService{public static void test(){//运行调用例子while (true){Model_Sht30TempAndHumu returnValue = getTempAndHum();               Thread.Sleep(1000);}}static I2cConnectionSettings set = new(0, (byte)OverWriteI2cAddress.AddrLow);static I2cDevice dev = I2cDevice.Create(set);static Sht3x sht = new Sht3x(dev);static Model_Sht30TempAndHumu returnValue = new Model_Sht30TempAndHumu();public static Model_Sht30TempAndHumu getTempAndHum(){// returnValue = new Model_Sht30TempAndHumu();// 温度returnValue.Temperature = sht.Temperature.DegreesCelsius;// 湿度returnValue.Humidity = sht.Humidity.Percent;returnValue.Agreement_type = AgreementTypeEnum.I2C;Console.WriteLine("温度:{0:N1} ℃\n湿度:{1:N1} %RH", returnValue.Temperature, returnValue.Humidity);return returnValue; ;}enum OverWriteI2cAddress : byte{AddrLow = 0x44}}public class Model_Sht30TempAndHumu{public double Temperature { get; set; }public double Humidity { get; set; }/// <summary>/// 通讯协议 i2c/rs485/// </summary>public string Agreement_type { get; set; }}

c#操作香橙派gpio高低电平例子

安装nuget包:IotDeviceToolHepler

香橙派安装WiringOP;

using IotDeviceToolHepler.WiringOPSharp;
public class OrangePi_GpioService{//运行调用例子public void test(){Console.WriteLine("输入引脚WPI编号");//控制台中输入内容int pinNum = int.Parse(Console.ReadLine());Console.WriteLine("输入o打开,输入c关闭");string command = Console.ReadLine();if (!string.IsNullOrWhiteSpace(command)){setGpioOutputMode(command, pinNum);}}/// <summary>/// pin输入高电平或低电平/// </summary>/// <param name="command"></param>/// <param name="pinNum"></param>public  string setGpioOutputMode(string command, int pinNum){try{Setup.WiringPiPiSetup();GPIO.PinMode(pinNum, WiringPi.Output);if (command == "open"){   //openGPIO.DigitalWrite(pinNum, WiringPi.High);Console.WriteLine("执行开");return DeviceConstant.GpioPinOpen;}else if (command == "close"){   //closeGPIO.DigitalWrite(pinNum, WiringPi.Low);Console.WriteLine("执行关");return DeviceConstant.GpioPinClose;}return DeviceConstant.GpioPinError;}catch (Exception ex){Console.WriteLine(ex);return DeviceConstant.GpioPinError;}}public  string getGpioOutputMode(int pinNum){try{Setup.WiringPiPiSetup();GPIO.PinMode(pinNum, WiringPi.Output);int value = GPIO.DigitalRead(pinNum);if (value == WiringPi.High){Console.WriteLine("获得状态 开");return DeviceConstant.GpioPinOpen;}else if (value == WiringPi.Low){Console.WriteLine("获得状态  关");return DeviceConstant.GpioPinClose;}return DeviceConstant.GpioPinError;}catch (Exception ex){Console.WriteLine(ex);return DeviceConstant.GpioPinError;}}}public class DeviceConstant{/// <summary>/// 开/// </summary>public static string GpioPinOpen = "open";/// <summary>/// 关/// </summary>public static string GpioPinClose = "close";/// <summary>/// 关/// </summary>public static string GpioPinError = "error";}

电箱装好

 H5界面效果

水管

电箱安装

操作香橙派的引脚,需要用官方的wiringOP库,他是c++的,我这里已经将她融合到.net里面,成为一个工具类库,源代码已开源

代码在:https://gitee.com/yihong-lin/IotDeviceForCsharp.git

代码里面包括 香橙派 c# 引用 wiringOP 类库, 操作其它设备的代码 ,包括串口,i2c  等操作

c# .net iot+香橙派orangepi开发板 200多块打造自家远程 浇花助手 系统相关推荐

  1. 全志H616方案香橙派Zero2开发板Linux系统设置静态 IP 地址的方法

    注意: 1)请不要通过修改/etc/network/interfaces 配置文件的方式来设置静态 IP 地址 2)下文测试方法使用的是全志H616芯片的香橙派zero2开发板,如果使用的是香橙派其他 ...

  2. 全志H616芯片方案香橙派zero2开发板连接USB麦克风的使用方法

    香橙派OrangePi Zero2开发板本身板载没有麦克风功能,如果要使用的话,可以连接USB麦克风外使用,具体操作方法如下: 1) 测试的 USB 麦克风如下所示 2) 首先将 USB 麦克风插入开 ...

  3. 陶晶驰串口屏与香橙派linux开发板踩坑记录

    一开始我是这么接线的,想着反正香橙派能对外输出5V,这样就不用外部电源了,但是发现指令执行异常,非常诡异,只有第一条指令能执行,后面的不行,重启后,还是这么个轮回. 直到我发现 外部供电接法 - 淘晶 ...

  4. 全志芒果派麻雀开发板----新建一个分区并挂载(1)

    目录 吐槽--开发板全都是吃灰的 正文: (一)找资料的办法! (二)新建分区 (三)分区的挂载 1,建立文件夹(这一步我就想了很久,怎么建立完还能打包到烧录包里) 2,分区挂载到文件夹上: 3,新建 ...

  5. 香橙派orangepi pc plus h3 uboot保存环境变量失败解决——Unable to use mmc 1:1... Failed (1)

    前言 环境介绍: 1.编译环境 Ubuntu 18.04.5 LTS 2.SDK orangepi Linux 5.4 SDK 3.uboot v2020.04 一.现象 根据<OrangePi ...

  6. 香橙派orangepi查看 GPIO当前状态方法: 安装wiringOP

    树莓派orangepi查看GPIO当前状态 方法:安装GPIO库接口wiringpid,而香橙派orangepi跟树莓派的方法不一样,是用wiringOP, 而wiringOP是从wiringpi改造 ...

  7. 香橙派OrangePi 4 LTS开发板通过Mini PCIE连接SATA硬盘的操作方法

    OrangePi 4 LTS是一款瑞芯微RK3399芯片方案的开发板,4G内存16G eMMC存储的配置,板子可以通过排线连接官方的mini PCIE转接板引出mini PCIE接口,以此去接相应外设 ...

  8. 全志H616香橙派OrangePi Zero2开发板连接USB以太网卡测试

    1) 目前测试过能用的 USB 以太网卡如下所示,其中 RTL8153 USB 千兆网卡插入开 发板的 USB 2.0 Host 接口中测试可以正常使用,但是速率是达不到千兆的,这点请注意 2) 首先 ...

  9. 香橙派OrangePi Zero2开发板外接USB无线网卡测试示例

    目前Zero2开发板测试过的能用的 USB 无线网卡型号为:RTL8723BU,其他型号的 USB 无线网卡请自行测试,如果无法使用就需要移植对应的 USB 无线网卡驱动 1) 首先将 RTL8723 ...

最新文章

  1. 图解Silverlight 3的7个新功能
  2. linux查看java进程cpu占用过高
  3. py提取文字中的时间_怎样提取照片中的文字?照片文字提取软件推荐
  4. ubuntu启动,而且找不到win10启动项!
  5. malloc和new有什么区别
  6. Linux复习(六)
  7. listitem android,android-为contextmenu标识listitem的ID
  8. GET和POST史上最全总结
  9. 0x01-1 原码 反码 补码 概念 原理 详解
  10. mstar的android方案,Mstar Android 方案.pdf
  11. 互联网的起源发展历史
  12. 台式计算机如何定时关机,台式电脑设置定时关机
  13. iap支付java校验_iOS应用内支付(IAP)服务端端校验详解
  14. mac远程控制程序:AnyDesk for Mac
  15. PostgreSQL JDBC 驱动程序版本和JDK关系及下载地址
  16. 动态规划题目——背包
  17. ADC采样率,符号率
  18. SEO技术:外链建设操作要点
  19. 蓝牙耳机南卡和苹果哪个好用?南卡耳机和苹果耳机深度体验报告
  20. FPGA Vs 单片机 -- 嵌入式设计的另一种方法

热门文章

  1. 用autoruns揪出流氓软件的驱动保护
  2. 01《穿越时空的git》科幻小电影-Git创建版本库和常用命令操作-提交、回退、撤销、删除
  3. hdu 6599 I Love Palindrome String hash+PAM
  4. win定时关机_电脑一分钟小技巧:如何将电脑设置为定时关机?
  5. 英文原版电子书下载地址集合
  6. Visio流程图凸起拱形
  7. iOS 9 的新特性
  8. 源码分享:C++矩阵类CLMatrixT,功能强大使用简单,支持内存池、宽指令、并行化加速!持续更新...
  9. 【LeetCode-SQL】615. 平均工资:部门与公司比较
  10. 四分钟内明白 ARCore + 上手