惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
D
Docker
GbyAI
GbyAI
宝玉的分享
宝玉的分享
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News
博客园_首页
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
V
V2EX
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 麦壳饼

JekyllNet .Net 版本的Jekyll , 你博客 文档的静态生成利器 。 为什么要做 WinForms over LVGL 我把 WinFormsVncDemo 真正带到了 VNC 链路上 Ubuntu 22.04 systemd 升级失败解决全记录:dpkg “无效的跨设备链接” 错误(bind mount 导致) .Net 7.0 AOT /usr/bin/ld: cannot find -lz 暴力升级你的 ST-Link 及 STM32CubeIDE 如何像使用AspNetCore中的Controllers 和 Actions一样处理MQTT消息 龙芯.Net 6.0 SDK安装 用C#为国产智能手表写“Hello, China. ” CANopen伺服控制-服务数据对象(SDO)详细解析 IoTSharp部署教程-Sqlite分表篇 IoTSharp 已支持国产松果时序数据库PinusDB IoTSharp v1.6.0 发布 增加多种数据库支持 Cannot open libmwv206dec.so, libmwv206dec.so: cannot open shared object file: No such file or directory 引用了Maikebing.Data.Taos的.Net Core项目,在 docker 部署的时候提示缺少taos依赖 基于.Net Core开发的物联网平台 IoTSharp V1.5 发布 如何在龙芯3B4000上部署基于.Net Core 开发的物联网平台IoTSharp 用C#在STM32上写第一个Hello world SilkierQuartz 1.0.21 发布, 是一个 Quartz.NET 的强大且简单的Web管理工具和承载组件
使用C#编写STM32对接物联网平台IoTSharp发送遥测数据
麦壳饼 · 2020-06-18 · via 博客园 - 麦壳饼

在之前的文章中,  我们阐述了如何用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"; private const string   BrokerAddress = "192.168.0.23";

三、连接并部署项目至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 , 共同学习, 共同进步。