[活动专区] 【N32G430开发板试用】+阿里云物联网远程测温

[复制链接]
5163|21
 楼主| zhczlzhang 发表于 2022-9-3 21:03 | 显示全部楼层 |阅读模式
本帖最后由 zhczlzhang 于 2022-9-3 21:03 编辑

@安小芯
  8月收到寄来的板子,当时比较忙,只能周末来做测评,本来想用VSCODE来做开发,但是首先时间紧张,再加上N32G430是ARM Cortex™-M4F处理器,一想到又要写链接文件我就头皮发麻,耗时太长,所以就改为keil开发,我主要是评测在实际中产品开发的难易程度。
  首先这块板子的主芯片N32G430主频很不错,128MHZ,这是很不错的,但是flash只有64K,对于物联网应用来说有点紧凑,尤其加上操作系统就更不行了,所以我就裸机开发,减少代码量。
微信截图_20220903193055.png   本次项目实际用到的资源如下图所示。
微信图片_20220903193333.jpg
  N32G430开发板+ESP8266+自制传感器底板。
  N32G430开发板:运行主程序。
  ESP8266:通过它连接网络,最后实现阿里云联网。
  传感器底板:cc2530芯片底板,主要为了上传温度。
  各项目模块主要功能如上所示,项目主要功能是移植公司的远程温湿度采集,CC2530节点在仓库有10个以上,采集到温湿度之后,传给N32G430开发板,开发板通过ESP8266上报到阿里云。
  为了不对程序进行大的改动,我直接对原有程序进行封装。
  例如:
  1. __align(8) char Usart1_TxBuff[USART1_TXBUFF_SIZE];  

  2. void u1_printf(char* fmt,...)
  3. {  
  4.         unsigned int i,length;
  5.         
  6.         va_list ap;
  7.         va_start(ap,fmt);
  8.         vsprintf(Usart1_TxBuff,fmt,ap);
  9.         va_end(ap);        
  10.         
  11.         length=strlen((const char*)Usart1_TxBuff);               

  12.         for(i = 0;i < length;i ++)
  13.         {                        

  14.                 USART_Data_Send(USART1, Usart1_TxBuff[i]);
  15.     while (USART_Flag_Status_Get(USART1, USART_FLAG_TXDE) == RESET)
  16.         }        
  17. }
应用层函数不变,但是实现应用层的所有底部函数都替换成N32G430的固件库函数来实现,变相的不用修改代码,这样上层函数不用大改,改变底部的封装函数就好。
   微信截图_20220903195536.png
  底部封装完毕后,上层调用ESP8266去连接网络。
   微信截图_20220903195746.png
  连接成功后,定时上传通过cc2530获得数据。
微信截图_20220903200227.png
与阿里云的连接是通过MQTT协议连接,具体实现代码可以参考官方网站。
实现上网功能后,我们可以从阿里云订阅消息,我们可以通过阿里云下发各种指令来控制开发板。如下图所示。
微信截图_20220903200550.png
我们在代码中实现建立阿里云物联网。
微信截图_20220903200736.png
然后在阿里云上面建立物联网。
首先打开阿里云。
微信截图_20220903201925.png
微信截图_20220903201942.png
微信截图_20220903202110.png
微信截图_20220903202304.png
微信截图_20220903202205.png
以上是我建立的测试产品。
在创建产品那里,填写相应参数。
微信截图_20220903202646.png
产品名称自己起就行。
我们选直连设备。
联网方式选 wifi。
数据格式用 json。
微信截图_20220903202945.png
创建完成之后,点击查看,在功能定义中,定义自己的功能,我为了后续测试,定义了很多。
例如温度:
微信截图_20220903203210.png
此处要注意,定义的温度数据类型要与代码中一致,代码中是双精度,这里也要是双精度。
功能配置好以后,我们需要在产品下再建立设备,因为产品是定义功能的,设备是用于连接服务器的实例。

微信截图_20220903203441.png
微信截图_20220903203458.png
这里就代表我自己N32G430的开发板。
微信截图_20220903203740.png
添加新设备要在这里添加设备。
设备名称可以自己起,这个无所谓,备注名称填不填都行,然后点击确定,设备就建立好了。

设备建立好后,会弹出 3 个认证信息,我们称之为三元组,这个三元组就是我们登陆阿里云的钥匙,连接协议以及程序设计等等。
三元组不用复制,因为设备详情页面都有,直接关闭这个页面就行。

我们点击设备,会看到我们刚刚建立的设备,可以看到这个设备隶属于哪个产品,同一产品下,设备名不能重复,不同的产品下,设备名不冲突,这个一定要注意。
如果是首次创建,会发现我们的设备未激活,因为是刚建的设备所以肯定还没激活。
只要我们用开发板登陆一次设备,就可以将设备激活。我的已经激活过了。接下里我们点击 进入设备的详情页面。接下来我们要开始修改程序了。

微信截图_20220903204209.png
在代码中,路由器代码要是自己家或公司了。
这里路由器账户密码都是写死的,后续会实现UDP自配网功能。
微信截图_20220903204501.png
将这些地方的预定义都替换成自己阿里云上的三元组与订阅上报的属性。
微信截图_20220903204626.png
微信截图_20220903204756.png
至此所有流程结束。
实验结果可以在此查看。
微信截图_20220903205648.png
微信截图_20220903205740.png
总结:
   开发板主频很好,很强大,除了FLash有点小,不过这些基本都没啥大毛病,可以去选择其他型号。开发过程中也没有什么大问题,基本上都是琢磨两下就解决问题了,移植难度算一般吧。很不错了。售后联系各种方式都有,群里各种回复都很及时,默默窥屏的我看到基本上是一有问题就回复,比其他厂家好很多。建议力推。此外就是市场上货量不多,这一点比较让人在意,不知道换了国民芯片会不会出现缺芯。

微信截图_20220903201245.png
yongruru 发表于 2022-9-5 08:38 | 显示全部楼层
阿里云物联网还搞的起来吗?感觉好多模块都快荒废了
Stahan 发表于 2022-9-5 22:45 | 显示全部楼层
看阿里发不发力了
 楼主| zhczlzhang 发表于 2022-9-8 17:31 | 显示全部楼层
yongruru 发表于 2022-9-5 08:38
阿里云物联网还搞的起来吗?感觉好多模块都快荒废了

还可以吧,我们在上面部署了物联网项目,目前在用,不过因为目前价格原因,最近准备迁移到华为云。
sy12138 发表于 2022-9-8 18:52 | 显示全部楼层
顶一下大佬
天天向善 发表于 2022-9-9 13:02 | 显示全部楼层
这试用教程很详细!大佬是真的厉害!
wilhelmina2 发表于 2022-10-5 19:16 | 显示全部楼层
如何用阿里云做物联网产品               
timfordlare 发表于 2022-10-5 19:25 | 显示全部楼层

通过ESP8266连接阿里云物联网
averyleigh 发表于 2022-10-5 19:47 | 显示全部楼层
如何连接到阿里云物联网平台?  
10299823 发表于 2022-10-5 20:12 | 显示全部楼层
最近在研究实现阿里云控制单片机LED灯   
lzmm 发表于 2022-10-9 20:06 | 显示全部楼层
段时间尝试了一下阿里云物联网平台,功能还挺强大的
timfordlare 发表于 2022-10-9 20:50 | 显示全部楼层
iot服务器主要功能是数据处理和推送吧   
abotomson 发表于 2022-10-9 21:42 | 显示全部楼层
连接阿里云物联网云平台,主动上报本地数据到平台端。  
hearstnorman323 发表于 2023-6-13 21:17 | 显示全部楼层
下载AliOS Things SDK,并根据具体芯片型号进行配置。
mmbs 发表于 2023-6-13 22:01 | 显示全部楼层
远程控制单片机一定要云平台吗              
iyoum 发表于 2023-6-13 22:32 | 显示全部楼层
使用阿里云提供的SDK进行数据上传和命令控制操作。
janewood 发表于 2023-6-13 22:41 | 显示全部楼层
可以实现物联网组网吗              
mollylawrence 发表于 2023-6-13 22:54 | 显示全部楼层
首先实现了Wi-Fi连接的过程,然后初始化阿里云物联网SDK并连接到物联网平台,在while循环中不断获取温度数据,并将其封装为JSON格式并发送到物联网平台。
belindagraham 发表于 2023-6-13 23:06 | 显示全部楼层
N32G430收不到阿里云ping包回复
benjaminka 发表于 2023-6-13 23:27 | 显示全部楼层
通过阿里云平台提供的多种工具和服务,可以方便地对数据进行分析和管理,进而实现更加智能化、高效化的物联网应用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

76

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部