收藏官网首页
查看: 294|回复: 1

[经验分享] 【基于机智云开发平台+Gokit】+ X射线剂量监测仪

0

主题

0

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2021-11-26 14:50:27 | 显示全部楼层 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
本帖最后由 南宫忆 于 2021-11-26 15:00 编辑

上次活动有幸被抽中,获得送样测评机会。
以前也接触过机智云,最早是买过一个第三方厂家的插座方案,流产的!自己改造后使用的是机智云平台接入。使用没有问题。
clipboard.png
因为接触过8266,原本准备使用soc模式做这个小制作的。翻看手册发现代码都是esp-idf模式的编程模式,搭建环境太麻烦,放弃了!建议开发平台换到类似vscode 的platformio模式下,会更友好!
然后就是具体接触的步骤了:
1.注册开发者账号
https://dev.gizwits.com/
2.创建产品 2.jpg
3.添加项目需要的数据点
这个可以先按需写个,然后等后期项目需要再重新添加,注意添加数据点后要点击  应用
3.jpg
4.然后就是生成arduinoUNOR3的代码

选择正确的硬件平台(R3),Product Secret 这个值在 产品信息-基本信息 里面获取
4.jpg
5.处理arduino下载来的代码

ardunio的ide相关就自己网上获取了,论坛也有!拷贝库文件到arduino的库位置,所需的例程在exampls里获取
5.jpg
上述俩个例子的作用:

simpleTry.ino是本次项目工程,里面有程序框架,以及告知了用户在哪里填充接入机智云的代码;networkConfig.ino是配置入网的例程,因为常见的智能硬件产品是没有键盘和显示屏的,因此需要一种技术来让它获取路由器的SSID和密码,首选是通过手机APP辅助。这里简单的介绍一下方法,通过一个按键来触发设备进入配网模式,然后手机APP把SSID和密码广播给设备
具体代码详见上传的文件,注意代码里和串口相关的都要去掉,因为mcu模式下,R3的串口需要和esp8266通讯。

至于后续需要多串口模式参考:https://www.jianshu.com/p/eb846ce95806代码暂且处理完,烧录注意选择arduino类型,编译不报错,然后上传就可以了!
51.jpg
6.暂且跳转到esp8266网络模块这里,先下载GAgent for EPS8266的固件并烧录
6.jpg
下载程序注意:usb转ttl接3根线,供电使用功能板的usb,8266小板的开关打到gnd下载模式,上图烧录工具里的BAUD不能太高,这里我耽误了一会!


接线烧录参考:
61.jpg
烧录完成后吧,拨码开关拨回来!

这里注意下,如果你不确认,是否烧录正常的话,你可以按下板子上的K2按钮,中间的那一个,8266应该会创建一个ssid为XPG-GAgent-xxxx的ap出来,你在手机wifi里能看到就可以了!

7.下载官方app,到官网下,发货附赠的说明书里的二维码已经失效了!
https://download.gizwits.com/zh-cn/p/98/99
8.配网这里也要注意
长按板子上的K2按钮,中间一个按键,就能进入airlink配置模式,然后用机智云的app推送ssid和密码,使其配网。成功后,在你的机智云app里会出线你创建的设备
8.jpg
9.你可以在app里操作下按钮,然后在机智云的官网开发者中心设置日志里就可以看到操作记录了
9.jpg
10.开始编写系统程序
10.png
上图是arduino r3的引脚图,可以参考,注意烧录r3程序时,上面的扩展板需要拔下来,不然烧录不进去!


11.先用rgb的红色模拟,射线开启信号
#include <ChainableLED.h>
#define NUM_LEDS  1
ChainableLED leds(A5, A4, NUM_LEDS);
引入rgb的驱动文件,定义一个灯
setup函数中初始化下   leds.init();
loop函数中,会接收且解析机智云平台发来的控制数据,函数解析处理就可以了

bool varR_XRAY_ON = 0;
  if(myGizwits.hasBeenSet(EVENT_XRAY_ON))
  {
    myGizwits.read(EVENT_XRAY_ON,&varR_XRAY_ON);//Address for storing data
//    mySerial.println(F("EVENT_XRAY_ON"));
//    mySerial.println(varR_XRAY_ON,DEC);
    if(varR_XRAY_ON)
      leds.setColorRGB(0,255,0,0);//测试亮红色 ,表示x射线开启
    else
      leds.setColorRGB(0,0,0,0);//测试熄灭红灯,表示射线关闭
  }
上述操作后,一个模拟射线开启的方案就完成了,后期可以用io去驱动继电器进而控制射线源。

12.因为我的剂量仪的盖格计数器的玻璃管坏了,目前数据不能 获取回来,下面我将在程序里模拟一个数据作为射线剂量监测值,反应在机智云平台里
12.jpg

121.jpg
顺便将dht11的数据也接入进去 了,方便方案验证的观察,上图Xray_data的值是用随机数模拟的。后期在接入辐射剂量仪的数据!
122.jpg
整体接触机智云后总结下:整体的物联网系统结构比较完善,开发者的设备入网也比较方便。

对应的资料整理还可以在优化,教程查找起来有些困难。

arduino的代码附上,就是简单的测试:

JZYXRAY.rar (1.93 KB, 下载次数: 0)

111

主题

363

帖子

8130

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8130
发表于 2021-11-30 08:55:48 | 显示全部楼层
感谢分享和建议
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表