c# .net iot树莓派(进口,贵)/香橙派(国产,功能相同,性价比高)用到物联网包Iot.Device.bindings 支持设备说明文档
我们c# .net iot开发树莓派/香橙派都需要用到Iot.Device.bindings、System.Device.Gpio和IotDeviceToolHepler这个包,c# .net 开发嵌入式 esp32 或者smt32就用nanoframework扩展,调用很简单方便,支持的硬件很多,用来做我们项目的产品完全没问题,所以这个包支持哪些设备我们先了解清楚,才进行下一步开发
nuget iot包:
Iot.Device.Bindings 支持的设备如下:
Iot.Device.xx
模拟/数字转换器
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- ADS1115 -模数转换器
- AXP192 -增强型单节锂电池和电源系统管理IC
- INA219 -双向电流/功率监控器
- Mcp3428 -模数转换器(I2C)
- MCP3xxx系列模数转换器
- TLC1543 - 10位ADC,具有11个输入通道
数字/模拟转换器
- AD5328 -数模转换器
加速计
- ADXL345 -加速度计
- ADXL357 -加速度计
- BNO055 -惯性测量单元
- LIS3DH -超低功耗高性能三轴纳米加速度计
- LSM9DS1 - 3D加速度计、陀螺仪和磁力计
- MPU6050/MPU6500/MPU9250 -陀螺仪、加速度计、温度和磁力计(仅限MPU9250)
- Mpu6886 -加速度计和陀螺仪
- 感官帽
气体传感器
- AGS01DB - MEMS VOC气体传感器
- BMxx80设备系列
- CCS811气体传感器
- MH-Z19B二氧化碳传感器
- SCD4x - CO2、温度和湿度传感器
GNSS卫星接收器和导航设备
- NMEA 0183协议
液体传感器
- 数字液位开关
- μFire ISE探针- pH、ORP和温度传感器
光敏感元件
- Bh1745 - RGB传感器
- BH1750FVI -环境光传感器
- MAX44009 -环境光传感器
- SensorHub -环境传感器
- TCS3472x传感器
- TSL256x -照度传感器
气压计
- BMP180 -气压计、海拔和温度传感器
- BMxx80设备系列
- LPS25H -压阻压力和温度计传感器
- SCD4x - CO2、温度和湿度传感器
- 感官帽
- SensorHub -环境传感器
高度计
- BMP180 -气压计、海拔和温度传感器
- BMxx80设备系列
温度计
- AHT10/15/20 -温度和湿度传感器模块
- BMP180 -气压计、海拔和温度传感器
- BMxx80设备系列
- Cpu温度
- DHTxx -数字输出相对湿度和温度传感器模块
- HTS221 -用于相对湿度和温度的电容式数字传感器
- LM75 -数字温度传感器
- LPS25H -压阻压力和温度计传感器
- Max31856 -冷结补偿热电偶数字转换器
- MAX31865 -电阻温度检测放大器
- MCP9808 -数字温度传感器
- MLX90614 -红外温度计
- MPU6050/MPU6500/MPU9250 -陀螺仪、加速度计、温度和磁力计(仅限MPU9250)
- OpenHardwareMonitor客户端库
- SCD4x - CO2、温度和湿度传感器
- 感官帽
- SensorHub -环境传感器
- SHT3x -温度和湿度传感器
- SHT4x -温度和湿度传感器
- SHTC3 -温度和湿度传感器
- Si7021 -温度和湿度传感器
- μFire ISE探针- pH、ORP和温度传感器
红外传感器
- AMG88xx红外阵列传感器系列
- MLX90614 -红外温度计
陀螺仪
- BNO055 -惯性测量单元
- LSM9DS1 - 3D加速度计、陀螺仪和磁力计
- MPU6050/MPU6500/MPU9250 -陀螺仪、加速度计、温度和磁力计(仅限MPU9250)
- Mpu6886 -加速度计和陀螺仪
- 感官帽
罗盘
- BNO055 -惯性测量单元
- HMC5883L - 3轴数字罗盘
乐高相关设备
- 布里克皮3
- 树莓皮造型帽
电机控制器/驱动器
- 28BYJ-48步进电机5V 4相5线& ULN2003驱动板
- DC电机控制器
- 探险家帽专业版(皮莫罗尼)
- 摩托帽
- 伺服电动机
惯性测量单元
- BNO055 -惯性测量单元
- LSM9DS1 - 3D加速度计、陀螺仪和磁力计
- MPU6050/MPU6500/MPU9250 -陀螺仪、加速度计、温度和磁力计(仅限MPU9250)
- 感官帽
磁力计
- AK8963 -磁力仪
- Bmm150 -磁力计
- BNO055 -惯性测量单元
- HMC5883L - 3轴数字罗盘
- LSM9DS1 - 3D加速度计、陀螺仪和磁力计
- MPU6050/MPU6500/MPU9250 -陀螺仪、加速度计、温度和磁力计(仅限MPU9250)
- 感官帽
湿度计
- AHT10/15/20 -温度和湿度传感器模块
- BMxx80设备系列
- DHTxx -数字输出相对湿度和温度传感器模块
- HTS221 -用于相对湿度和温度的电容式数字传感器
- SCD4x - CO2、温度和湿度传感器
- 感官帽
- SensorHub -环境传感器
- SHT3x -温度和湿度传感器
- SHT4x -温度和湿度传感器
- SHTC3 -温度和湿度传感器
- Si7021 -温度和湿度传感器
时钟
- 实时时钟
奏鸣曲
- HC-SR04 -超声波测距模块
距离传感器
- HC-SR04 -超声波测距模块
- LidarLiteV3 -激光雷达飞行时间传感器
- VL53L0X -距离传感器
- VL53L1X -距离传感器
被动红外(运动)传感器
- HC-SR501 - PIR运动传感器
运动传感器
- HC-SR501 - PIR运动传感器
显示
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- APA102 -双线传输集成控制LED
- 字符LCD(液晶显示器)
- Holtek HT1632 - 32×8和24×16 LED驱动器
- HT16K33 - LED矩阵显示驱动器
- Ili9341 TFT LCD控制器
- Lp55231 -九通道RGB白色LED驱动器
- Max7219 (LED矩阵驱动器)
- PCD8544 - 48 × 84像素矩阵LCD,著名的诺基亚5110屏幕
- RGB LED矩阵- RGB LED矩阵
- 感官帽
- 索罗门系统固态硬盘1351 - CMOS有机发光二极管
- 所罗门科技SSD13xx有机发光二极管显示器系列
- TM1637 -分段显示器
- Ws28xx / SK6812 LED驱动器
GPIO扩展器
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- Mcp23xxx - I/O扩展器设备系列
- 恩智浦/TI PCx857x
- Pca95x4 - I2C GPIO扩展器
- TCA9548A - TCA9548A低压8通道I2C开关,带复位功能
CAN总线库/模块
- Mcp25xxx器件系列- CAN总线
- SocketCan - CAN总线库(仅限Linux)
近程传感器
- MPR121 -接近电容式触摸传感器控制器
触摸传感器
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- MPR121 -接近电容式触摸传感器控制器
无线通信模块
- nRF24L01 -单芯片2.4 GHz收发器
- 无线电接收器
- 无线电广播发射机
操纵杆
- 感官帽
颜色传感器
- TCS3472x传感器
LED驱动器
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- APA102 -双线传输集成控制LED
- 探险家帽专业版(皮莫罗尼)
- HT16K33 - LED矩阵显示驱动器
- Lp55231 -九通道RGB白色LED驱动器
- 板载LED驱动器
- Ws28xx / SK6812 LED驱动器
RFID/NFC模块
- MFRC522 - RFID阅读器
- PN5180 - RFID和NFC读卡器
- PN532 - RFID和NFC读卡器
- RFID共享元素
媒体库
- 蜂鸣器-压电蜂鸣器控制器
- 静止图像记录库
USB设备
- 用于带Firmata的Arduino的SPI、GPIO和I2C驱动程序
- FT232H的SPI、GPIO和I2C驱动器
- FT4222的SPI、GPIO和I2C驱动器
- STUSB4500 -用于电源接收器/ UFP的自主USB-C PD控制器
GPIO或bit操作设备
- AXP192 -增强型单节锂电池和电源系统管理IC
- 纽扣
- Charlieplex段绑定
- 数字液位开关
- 通用移位寄存器
- 用于其他主板的GpioDriver
- 关键矩阵
- MBI5027 -带错误检测的16位移位寄存器
- 正交旋转编码器
- SN74HC595 - 8位移位寄存器
- 用于带Firmata的Arduino的SPI、GPIO和I2C驱动程序
多设备或机器人套件
- GoPiGo3
- 格罗夫皮
- 感官帽
- SensorHub -环境传感器
协议提供商/库
- 单线
- Adafruit跷跷板扩展板(ADC、PWM、GPIO扩展器)
- 纸板抽象
- 用于其他主板的GpioDriver
- 摩托帽
- NMEA 0183协议
- Pca9685 - I2C PWM驱动器
- 软件PWM
- 软件SPI
- 用于带Firmata的Arduino的SPI、GPIO和I2C驱动程序
- FT232H的SPI、GPIO和I2C驱动器
- FT4222的SPI、GPIO和I2C驱动器
- 系统。设备绑定的设备模型属性
电源监视器和相关设备
- AXP192 -增强型单节锂电池和电源系统管理IC
- INA219 -双向电流/功率监控器
- IP5306 -电源管理
- PiJuice -树莓派的电源
挥发性有机化合物传感器
- AGS01DB - MEMS VOC气体传感器
- BMxx80设备系列
- CCS811气体传感器
热电偶设备
- Max31856 -冷结补偿热电偶数字转换器
- MCP960X -冷结补偿热电偶数字转换器器件系列
重量传感器
- DFRobot套件0176: I2C 1kg重量传感器套件- HX711(重力:I2C重量传感器)
更详更新细见官网:iot/src/devices at main · dotnet/iot · GitHub
使用很简单---下面举个例子
演示一段 树莓派/香橙派Orange pi 通过i2c读取sht30温湿器的代码
下载nuget包:Iot.Device.bindings
using Iot.Device.Sht3x;
using System.Device.I2c;
public static Model_Sht30TempAndHumReturnValue getSht30TempAndHum()
{
I2cConnectionSettings set = new(1, (byte)OverWriteI2cAddress.AddrLow);
I2cDevice dev = I2cDevice.Create(set);
using Sht3x sht = new Sht3x(dev);
Console.WriteLine("温度:{0:N1} ℃\n湿度:{1:N1} %RH", sht.Temperature.DegreesCelsius, sht.Humidity.Percent);
}
enum OverWriteI2cAddress : byte
{
AddrLow = 0x44
}
演示一段树莓派控制引脚代码:
下载nuget包:System.Device.Gpio
using System.Device.Gpio;
public static void PinHightLow()
{
GpioController gpioController = new GpioController();
gpioController.OpenPin(8, PinMode.Output);//引脚8,设为输出模式
gpioController.Write(8, PinValue.High); //引脚8,高电平
Thread.Sleep(10000);
gpioController.Write(8, PinValue.Low);//引脚8,低电平
Thread.Sleep(10000);
}
演示一段香橙派控制引脚代码:
nuget安装包:IotDeviceToolHepler
开源地址:https://gitee.com/yihong-lin/IotDeviceForCsharp
香橙派装好 wiringOp安装方法见官方文档,或者看我之前发的安装教程文章
代码:
using IotDeviceToolHepler.WiringOPSharp;
public static string setGpioOutputMode()
{
Setup.WiringPiPiSetup();
GPIO.PinMode(8, WiringPi.Output);//设置8引脚为输出模式
GPIO.DigitalWrite(8, WiringPi.High);//8引脚高电平
Thread.Sleep(10000);
GPIO.DigitalWrite(8, WiringPi.Low);//8引脚低电平
Thread.Sleep(10000);
}
案例:
c# .net 6 香橙派orange pi读取温湿传感器 芯片sht30 I2C 代码实例代码