热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用C#编写STM32对接物联网平台IoTSharp发送遥测数据

在之前的文章中,我们阐述了如何用C#在STM32上写第一个Helloworld,有朋友抱怨国内介绍文章,都是一个Helloworld,然后再也没有音讯, 写到这里我想提一下我的初心

在之前的文章中,  我们阐述了如何用C#在STM32上写第一个Hello world  , 有朋友抱怨国内介绍文章, 都是一个 Hello world , 然后再也没有音讯, 写到这里我想提一下我的初心, 那就是告诉所有人C#无所不能, C#可以写单片机, 也可以写Web应用, 也可以写移动应用, 也可以写桌面应用, 又有人提到 nanoFramework 的性能问题, 这点我认为跟MicroPython 等解释型STM32应用一致的, 跟C写的 代码我认为是无法匹敌的!工作中长期使用C来写应用, 这点是公认也是非常有感触的。 那么今天我再介绍一下如何使用 nanoFramework 在STM32下面对接物联网平台IoTSharp !

 

一、选用开发板

这次我们选择了开发板 ST NUCLEO-F746ZG 

技术图片

 

 技术图片

 

 

NUCLEO-F746ZG 是ST公司推出的一款针对STM32F7系列设计的Cortex-M7 Nucleo-144开发板,支持mbed,兼容Arduino、还带有ST Zio和 ST Morpho 扩展接口,可连接微控制器的所有周边外设。

 

开发板基于STM32F746ZGT6设计,开发板还集成了ST-LINK/V2-1仿真下载器(但仅对外提供SWD接口),免除您另外采购仿真器或下载器的麻烦。并且具备Arduino接口,可接入 Arduino 巨大生态系统的各种 Shield 扩展板,让您能够轻松快速增加特殊功能。

之所以选择NUCLEO-F746ZG 是因为 他具有网口, 用C#在STM32上写第一个Hello world  文章中选择的开发板不具有网络功能。 

 

二、创建应用:

如果看过用C#在STM32上写第一个Hello world  这篇文章, 我们就不必再阐述如何创建项目了, 具体demo 我已经提交到了 https://github.com/IoTSharp/IoTSharp.Edge.nanoFramework , 项目中需要引用到 nanoFramework.M2Mqtt , 我们通过他来连接 IoTSharp的 Mqtt Broker , 首先, 启动IoTSharp 项目 https://github.com/IoTSharp/IoTSharp ,  启动项目https://github.com/IoTSharp/Cicada  , 这里如果有所有问题, 可以到相关项目里面提问, 这里不再阐述, 我们首先在Cicada 中创建一个设备

技术图片

 

 

, 复制粘贴 Token , 

在项目  oTSharp.Edge.nanoFramework 的 Program.cs 中 修改 

private const string _token = "581e918118a34c9faf2b9ede8245be33";//修改合理为Token private const string   BrokerAddress = "192.168.0.23";//启动IoTSharp的IP地址

 

三、连接并部署项目至ST NUCLEO-F746ZG 

由于ST NUCLEO-F746ZG 跟之前文章不同 , 一个Micro USB线 即能跟ST-LINK连接, 又支持串口, 还能识别出来存储, 因此一根线搞定一切, 也不需要弄乌七八糟的杜邦线之类的, 因此简单很多。 按照用C#在STM32上写第一个Hello world  的方法, 我们依然需要下载他的  https://bintray.com/nfbot/nanoframework-images-community-targets/ST_NUCLEO144_F746ZG/_latestVersion   解压后, 烧写, 然后VS中Device Explorer 中就可以看到设备, 如下图:

技术图片

 

 

点击VS中的启动, 来启动调试项目

启动后, 你可以看到我们的应用已经启动了, 如下图所示:

技术图片

 

 , 通过IoTSharp的客户端可以看到上传的遥测数据和客户端属性数据:

技术图片

 

 



关于rpc和属性更新, 我们会在基于此项目基础上进行进一步完善。 

 

如果有任何相关问题, 大家可以在相关项目提Issuse 或者加入QQ群: 63631741 , 共同学习, 共同进步。 




 

使用C#编写STM32对接物联网平台IoTSharp发送遥测数据



推荐阅读
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • 本文介绍了三种解决 Git Push 冲突的方法,包括创建新分支、手动解决冲突和强行推送。这些方法适用于不同的开发场景,如版本迭代、多人协作和个人开发。 ... [详细]
  • 本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
  • 本文介绍了如何使用 Gesture Detector 和 overridePendingTransition 方法来实现滑动界面和过渡动画。 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • 作为一名饼干爱好者,我尝试过各种各样的饼干。虽然威化饼和消化饼都有其独特的风味,但我对柠檬夹心饼干情有独钟。这种饼干不仅口感丰富,还带有清新的柠檬香味。 ... [详细]
  • 在 PHP 中,使用 `continue` 关键字结合数字可以有效地终止嵌套的 `foreach` 循环。本文将详细介绍如何使用 `continue` 加数字来控制不同层次的循环。 ... [详细]
  • 解决网页乱码问题的实用方法
    网页乱码问题在开发中较为常见,主要由文件编码、程序字符集设置和数据库连接字符集设置不当引起。本文将详细介绍如何逐一排查并解决这些问题。 ... [详细]
author-avatar
手机用户2502910101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有