2024-01-16 11:26:02 |
人围观 |
评论:
-
上次参加机智云活动有幸被抽中,获得送样测评机会。因此做了一个基于Gokit的X射线剂量监测仪,换句话说就是将剂量仪的数据同步反映在机智云平台PC端和手机App上,方便随时监测数据。
具体操作步骤如下:
1.注册开发者账号
https://dev.gizwits.com/
2.创建产品
3.添加项目需要的数据点
这个可以先按需写个,然后等后期项目需要再重新添加,注意添加数据点后要点击应用
4.然后就是生成Arduino uno R3 的代码
选择正确的硬件平台(R3),Product Secret 这个值在 产品信息-基本信息 里面获取
5.处理arduino下载来的代码
ardunio的ide相关就自己网上获取了,论坛也有!拷贝库文件到arduino的库位置,所需的例程在exampls里获取
上述俩个例子的作用说明:
simpleTry.ino
是本次项目工程,里面有程序框架,以及告知了用户在哪里填充接入机智云的代码。
networkConfig.ino是配置入网的例程,因为常见的智能硬件产品是没有键盘和显示屏的,因此需要一种技术来让它获取路由器的SSID和密码,首选是通过手机APP辅助。这里简单的介绍一下方法,通过一个按键来触发设备进入配网模式,然后手机APP把SSID和密码广播给设备
具体代码详见上传的文件(在文末可以下载),注意代码里和串口相关的都要去掉,因为mcu模式下,R3的串口需要和esp8266通讯。
至于后续需要多串口模式参考代码:
https://www.jianshu.com/p/eb846ce95806
烧录注意选择arduino类型,编译不报错,然后上传就可以了!
6.暂且跳转到esp8266网络模块这里,先下载GAgentfor EPS8266的固件并烧录
下载程序注意:usb转ttl接3根线,供电使用功能板的usb,8266小板的开关打到gnd下载模式,上图烧录工具里的BAUD不能太高,这里我耽误了一会!
接线烧录参考:
烧录完成后吧,拨码开关拨回来!
这里注意下,如果你不确认,是否烧录正常的话,你可以按下板子上的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里会出线你创建的设备
9.你可以在app里操作下按钮,然后在机智云的官网开发者中心设置日志里就可以看到操作记录了
10.开始编写系统程序
上图是arduino r3的引脚图,可以参考,注意烧录r3程序时,上面的扩展板需要拔下来,不然烧录不进去!
11.先用rgb的红色模拟,射线开启信号
#include
#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.因为我的剂量仪的盖格计数器的玻璃管坏了,目前数据不能获取回来,下面我将在程序里模拟一个数据作为射线剂量监测值,反应在机智云平台里
顺便将dht11的数据也接入进去 了,方便方案验证的观察,上图Xray_data的值是用随机数模拟的。后期在接入辐射剂量仪的数据!
本文转载自:https://club.gizwits.com/thread-166363-1-1.html
-