对于大气环境监测来说温湿度也是重要的指标.原本计划使用SHT15来采集温湿度数据,不过在OneNET麒麟开发板上,我们发现已经集成有SHT20温湿度传感器,于是我们就使用它了.如下图的红框处: 我们还得再核实一下究竟是怎么连接的呢?我们察看原理图,发现使用了I2C2(PB10.PB11)作为通讯接口. 接下来我们在STM32CubeMX中配置I2C2端口,具体配置如下: 配置完成后,对I2C2的具体初始化代码如下: static void MX_I2C2_Init(void) { hi2c2.I…
由于数据采集站基本都安装在野外或者楼顶,安装位置以及震动对检测数据的准确性有一定影响.所以想要有一个位置状态数据,正好发现麒麟作上有ADXL345,这样一个数字输出的加速度传感器.如图中红框所示: 1.ADXL345概述 ADXL345是ADI公司推出的基于iMEMS技术的3轴.数字输出加速度传感器.该加速度传感器的特点如下: 分辨率高.最高13位分辨率. 量程可变.具有+/-2g,+/-4g,+/-8g,+/-16g可变的测量范围. 灵敏度高.最高达3.9mg/LSB,能测量不到1.0°的倾斜…
已经测试过OneNET麒麟座开发板了,这次来尝试与OneNET的连接和数据上传.这也是我们测试这块开发办的主要原因,因为在十几种我们有这种将分散的采集点数据上传到后台的需求. 先看看麒麟座这块开发板,为上传数据提供了2中方式,wifi和GMS,这次我们主要测试wifi方式.要实现数据上传,我们首先需要在OneNET上拥有相应的账户.于是接下来我们开始研究与学习之旅. 首先打开OneNET的主页,注册一个账户,这就不用说了,非常方便就能完成.注册成功后,登录到网站,打开“开发者中心”,就出现了如下…
采集大气压力和温度也是核算大气标准状况下的各种数据的必须参数,为此我们必须知道压力和温度才能计算标准状况下的各种参数,于此我们需要一个既能检测压力也能检测温度的元件. 1.硬件概述 MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化. (1)硬件连接 MS5837采用I2C总线通讯,与STM32的MCU可以实现I2C通讯.硬件连接方式如下: 我们发现OneNET麒…
气体质量流量控制器,简称MFC,通常用于在各种检测中,计量气体的流量.在我们的大气环境数据采集站中,要让气流保持稳定,这样才能准确的获取PM25的数据. 我们采用的气体质量流量控制器具备串口通讯功能,采集流量信号并更具设定数据自动调节流量.我们采用的质量流量控制器如下: 1.协议描述 该类型的质量流量控制器采用RS232 ASCII通讯协议,协议的格式非常简单,如下图所示: 其中,:是起始字符.len1, len2 是指包括节点地址在内的信息的字节数长度, 即基本信息的长度+1.node1, n…
今天收到了OneNET麒麟座开发板.能得到使用的机会只能说是幸运的.首先上一张靓照: 板子使用的MCU是STM32F103RET6,带有GSM摸块和Wifi摸块可以联网.带有显示屏接口和I2C接口以及USB转串口的接口.四个按钮以及许多的LED指示灯,目前还不清楚每个灯的具体功能.此外将多余的GPIO都一如到了J2.J3.J4.J5.J6等插针排.配件也很全,连排针都带.再来一张其他配件的照片: 再来一张背面照, 背面比较单纯. 背面只有名称及版本信息,再加一个"扫我"的二维码.既然要…
气体采样采用主动抽取气体的方式保证充足而平稳的气流,所以我们采用气泵抽取气体来完成. 1.设计概述 客户对这部分要求能够设定电机的速度,但并不需要动态调节.对电机的控制有很多方式,我们采用比较简单的方式.我们采用定时器产生PWM舶来实现这一控制过程. 2.硬件连接 对电机的控制我们使用高级定时器TIM1产生PWM波来控制,对于OneNET麒麟座中TIM1的通道1.2.3以及他们的互补输出均已经引到了端子排J2-5(PA10).2-6(PA9).J2-7(PA8).J5-7(PA7).J3-2(P…
通过微信接口获取用户信息主要分为以下几个步骤: a.获取公众号的access_token b.通过查询所有用户OPenid接口获取所有用户. string url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + access_token; c.通过获取用户openid,然后通过openid获取用户数据 d.把用户信息添加到数据库中. 1.参数化查询以及添加用户信息到数据库方法 public void AddT…
在 AndroidManifest.xml 中,<meta-data>元素是一个键值对,往往被包含在<application> .<activity>.<service>和<receiver>等元素中,但是不同父元素中<meta-data>读取方法也不同. <meta-data>基本结构:<meta-data android:name="string" android:resource="…
简述 原来写了一个C++的wifi库但是发现用c++ arduino这小身板有点扛不住,代码比较大,使用String类型数据处理速度慢,而且很容易无缘无故跑飞.而且封装成库后使用还需要修改arduino的串口缓存大小才能使用. 今天抽空重新用c写了一下代码,运行速度明显加快,也不需要修改Arduino IDE了.本代码主要借鉴 中移物联-周家绪 的http头合成的库,和 DFRobot-Strictus 对AT指令数据处理的方法,在这里感谢两位发布的代码. 下面把测试成功的代码发不出来,供后来者…