网站从设计到制作,一站式网站建设与运营,东莞大岭山医院,桂林象鼻山门票多少钱( .NET Core 七龙珠 )一、IOT 平台的支持先看国内优秀的云计算IOT平台(不含QQ互联、小米IOT等针对特定产品的开发者平台#xff0c;仅列出部分云计算厂商的IOT平台)阿里云 IOThttps://iot.aliyun.com/华为物联网https://developer.huawei.com/ict/cn/site-iot-next腾讯云 物联… ( .NET Core 七龙珠 )一、IOT 平台的支持先看国内优秀的云计算IOT平台(不含QQ互联、小米IOT等针对特定产品的开发者平台仅列出部分云计算厂商的IOT平台)阿里云 IOThttps://iot.aliyun.com/华为物联网https://developer.huawei.com/ict/cn/site-iot-next腾讯云 物联网通讯https://cloud.tencent.com/product/iothub百度云 天工https://cloud.baidu.com/solution/iot/index.html中国移动 OneNEThttps://open.iot.10086.cn说到 IOT ,要做开发有多方面的模式也不同设备认证、设备接入、网关、设备管理、订阅、数据管理与分析、应用开发等。这里单纯说嵌入式设备的开发。这几家平台中仅有阿里云提供 C# 的设备端 SDK并且不开源、不能跨平台 (只能在 .NET Framework 4.7下使用别问我怎么知道)设备接入方式是 HTTP/2。对于 C#/.NET 友好度最高的应该就是阿里云了腾讯云的 IOT 相对来说搞得不太像样。提供的设备端接入和应用开发以 C 语言和 Python 为主(C语言是嵌入式开发之王)通讯协议有 HTTPS、MQTT/MQTTS 等。阿里云 IOT 设备端 SDK 文档https://help.aliyun.com/document_detail/101488.html?spma2c4g.11186623.2.26.554a5b3eaMSYnh#concept-xlx-dzz-ggb阿里云 IOT 云端 SDK 文档https://help.aliyun.com/document_detail/63638.html?spma2c4g.11186623.6.678.1ede4c07i0qvHR国外的话就只列举 亚马逊云 和 Azure 云。https://www.amazonaws.cn/iot/https://www.azure.cn/zh-cn/他们有中国区、国际区之分其中微软的 Azure 中国区由世纪互联运营(很不舒服)。 看图说明亚马逊也不支持 C#嵌入式仅 C 语言其它方面也不支持 C#/.NET。只有 Azure 大量、无保留地支持 .NET。 二、嵌入式设备物联网设备的设备端不限于例如树莓派、手表、无人机、蓝牙之类的设备包括手机、手表、电脑等都可以当作 IOT 设备端。这里只讨论 ARM32/64 嵌入式开发板举个栗子树莓派、国产香橙派。操作系统有 Win 10 IOT Core、Ubuntu、Debain 等。要买就买树莓派别买别的牌子不然你得哭。1 系统支持树莓派支持大量系统并且系统内核较新装 .NET Core SDK 和 Runtime几乎一套直接安装完成。国产香橙派呢就是个坑货系统内核较旧GCC版本也低驱动各种不兼容系统也没几个能正常使用而且发热量特大。不久前我就买了 Orange PI 3安装 .NET Core SDK 2.2要先更换 apt 源然后更新 apt 列表装上新版本的 gcc (.NET Core 需要 gcc 大于 5.2以上Debain 系统必须大于等于9 )。(好想砸了这辣鸡板子但是毕竟花了 300 大洋呢。。。)2 是资源文档树莓派流行度很高很多软件都是支持树莓派的与嵌入式有关的技术几乎都会提及树莓派你不怕没有学习资料不怕没有相应的传感器。其它就不赘述了。也只有内存较大、CPU较大的开发板可以使用 .NET 开发的程序底层 C 语言才是王道特么一个单片机得内存才那么几KB光 ARM 版本的 .NET Core 就需要至少 300MB 的内存。三、目前笔者了解到的 .NET 开发嵌入式应用方式1使用 C/C生成的动态链接库笔者文章 -- 跨平台开发 -- C# 使用 C/C 生成的动态链接库https://www.cnblogs.com/whuanle/p/10582654.html通过使用 C/C 封装的接口控制 GPIO (就是板子的那些针脚) 等这一方式只能在Linux下使用。开发C#程序不需要直接跟底层打交道通过预留的 C/C 接口间接操控。C/C 写好各类通讯协议、逻辑处理、电路控制等与硬件打交道封装好 .SO 库给 C# 使用。这样开发项目时无需关心底层实现专注于业务开发。笔者有篇文章 .NET Core 跨平台 串口通讯 用到 SerialPortStream 库这个库可以在 Windows/Linux 下使用如果要在 Linux 下使用必须先把官方用 C 写的项目编译、生成动态链接库放到项目里再运行底层使用 C语言实现与通讯方式无关的应用开发。2使用 Windows 10 IoT Core就是说使用 Windows 10 IoT Core 系统在此系统上进行开发。好处 太子殿下先来几个图 一套 C# 就可以搞好各方面的开发官方直接提供类库操作设备的各种接口、针脚你无需掌握大量的硬件知识即可快速上手项目直接使用 C#/.NET 与各种传感器交互Visual Studio 宇宙第一 IDE 的开发支持对接优秀的云计算平台 Azure、优秀的生态支持、可以使用传统Wpf等软件界面、维护方便、可视化... ...以往使用开发板需要掌握开发嵌入式设备WIFI、蓝牙、GPIO、网卡、ARM32/64、电路等协议、硬件知识使用C语言开发底层现在使用 C# 就能一套搞定。3mono笔者在学习使用开发板时发现有些库可以在 mono 上使用使用 Monodevelop 可以开发 C# 项目管控 GPIO笔者对 mono 不了解没有去实际实现。.NET Core 实现嵌入式开发就笔者目前的菜水平来说没发现 .NET Core 开发嵌入式软件的优势。其一.NET Core (目前 最新 ARM 2.2.105) 不能直接使用传感器。这个可能是笔者水平不够暂时没有发现有在 Linux 下使用 .NET Core 控制传感器、使用 GPIO 等的实例。当然有在Windows 10 IOT Core 上开发 .NET Core 项目使用 GPIO 的实例不过是使用 Windows.Devices.Gpio 并且不是在 Linux下。其二没几个云计算厂商支持 .NET 这里的支持是指在设备中支持 .NET 开发接入 IOT 平台像树莓派这样功能完整、硬件配置齐全的设备可以直接连接服务器其它一些不具备网卡、CPU和内存非常小的设备只能使用C语言开发、只能通过网关接入IOT平台。就算设备接入底层搞好了要接入IOT平台要有API、SDK、文档呀.NET 的资料真的非常非常少。个人感觉 .NET Core 在云计算、Docker、网站开发等方面发展的很好嵌入式方面不太行。当然这个只是个人感觉。。。如果使用 Windows IOT Core 的话是 .NET Core 还是 .NET Framework 都不重要了。期待 .NET Core 3 正式版的发布。- - - - - - - -以上内容仅为个人理解笔者现在是大三学生经验不足以上内容有错误或者观点不对恳请各位大神指点一二。要是说错了别笑我哇。。。- - - - - - - -目前正在 深圳市敢为软件技术有限公司 实习公司从事物联网技术的研发云计算技术的研发大数据技术的技术开发区块链技术的技术开发人工智能技术的技术开发计算机软件的技术开发计算机软件系统集成数据处理信息技术咨询信息技术开发计算机软硬件、网络技术的研发等。现在公司需要大量 .NET Core 的小伙伴感兴趣的的同学赶紧加我吧~可以内推噢~~~微信 whuanlex原文链接https://www.cnblogs.com/whuanle/p/10589496.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com