Wei 发表于 2014-6-14 16:18:51

夏天来了,老妈舍不得开空调,我有办法:用乐为物联网远程查温度!

本帖最后由 Wei 于 2014-6-20 22:55 编辑

20140620:插播一下效果图,让你有动力往 下看 {:soso_e113:}





不知道大家还记不记得我上次写的远程看用电情况来查看喜欢游戏的老妈,如果不记得了,补一下:
http://www.geek-workshop.com/thread-8505-1-1.html

新问题出现了,这么热的夏天,虽然能通过用电情况看开没有开空调,但是她说不热,不需要开。我是不放心啊~

所以想远程查看房间温度。正好看到乐为出了一个新的EKIT,上面有温度和红外发射。果断入一个。

正好,一个东东解决我所需要的事情:远程查看温度+控制空调(暂时还不会)。

先不多说,挖坑上图,程序慢慢再来。

EKIT+SHELL:
从网口侧查看



从USB口侧查看




红外发射+DSM501颗粒传感器接口(我暂时用不上)





U6:SI7021高精度温度湿度传感器




Wei 发表于 2014-6-14 16:29:17

本帖最后由 Wei 于 2014-6-26 22:31 编辑

网上发帖,相当于自己的学习笔记,有记录,有进步。

看SI7021的手册,精度还是很高的,看来乐为的用料不错啊,不是什么DHT的“恒量计”了。{:soso__51be3e80bf36fd0f-84cb9798c2b54967-aeb38409a3614a9d5f0496e9c9ecff27.jpg_1:}


湿度误差:正常使用最大不超过3%



温度误差:正常家里面使用不超过0.4度



这些整理完就是找SI7021的库文件了。

找到库文件就可以开工程序了。

一并上传EKIT-SHELL和SI7021资料。


20140614晚9点更新部分进度
20140615更新进度

20160616更新: 进化:打包+显示


20140619 WIFI成功


20140620 换装效果惊艳


20140626 CO2和颗粒物传感器就绪

xingyuewang 发表于 2014-6-14 19:36:33

{:soso_e102:} 好高端的东东占个沙发

Wei 发表于 2014-6-14 21:35:29

20140614晚上9点35更新
找了一下,新的SI系列的Arduino库是通用,和以前的SI7005不能通用。

现在是SI7013 SI7021通用。

库在附件,里面也有例程,跑起来成功:






213菜鸟 发表于 2014-6-14 23:37:53

控制空调你估计得要有个红外的接收头,然后用红外的接收头读取遥控器。这样你就有遥控的编码了。我最近也想搞这个。一起学习了

普元太子 发表于 2014-6-15 14:38:23

相当有爱。。。。支持一下。。。;P

Wei 发表于 2014-6-15 15:21:29

本帖最后由 Wei 于 2014-6-15 15:25 编辑

20140615更新


现在代码搞定。成功上传乐联网了。我测试的时候设置的是15秒更新一次。正常使用的时候用1分钟吧。

代码部分


串口打印部分



乐联网的查看页面


实物图:USB供电,网线传数据到乐联网





#include <SPI.h>
#include <Ethernet.h>
#include <LeweiClient.h>
#include "Wire.h"
#include <si7013.h>



#define USERKEY          "XX" // replace your key here
#define LW_GATEWAY       "01"

LeWeiClient *lwc;
unsigned long lastConnectionTime = 0;          // last time you connected to the server, in milliseconds
boolean lastConnected = false;               // state of the connection last time through the main loop
const unsigned long postingInterval = 30*1000; //delay between updates to cosm.com
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
double concentration = 0;
// Pin connected to the Si7005 CS pin
// The other I2C pins is controlled by the Wire library
SI7013 si7013(0x40, 1);

void setup()
{
Wire.begin();
si7013.begin();
Serial.begin(9600);

   
   lwc = new LeWeiClient(USERKEY, LW_GATEWAY);

   starttime = millis();
}


   
void loop()
{
   Serial.print("Humidity = ");
   Serial.print(si7013.readHumidity());
   Serial.println();
   Serial.print("Temperature From Humidity Reading = ");
   Serial.print(si7013.getTempFromHumidity());
   Serial.println();
   Serial.print("Temperature = ");
   Serial.print(si7013.readTemperature());
   Serial.println();
   
    lwc->append("SD", si7013.readHumidity()*0.01);
    lwc->append("WD", si7013.readTemperature()*0.01);
    lwc->send();
   delay(15000);
}


码我都是东拼西凑的,大家不要见笑啊~

Wei 发表于 2014-6-15 15:33:06

213菜鸟 发表于 2014-6-14 23:37 static/image/common/back.gif
控制空调你估计得要有个红外的接收头,然后用红外的接收头读取遥控器。这样你就有遥控的编码了。我最近也想 ...

一起学习,一起进步,我打算是找其它的东东学了,这儿只输出就行了。预期是输出固定的。比如:制冷27度。

Wei 发表于 2014-6-16 09:26:25

smartmcb 发表于 2014-6-15 21:23 static/image/common/back.gif
我在想如何把我的产品数据接上去,我的产品--智能微断,485接口支持MODBUS RTU规约。

偶也是初学,不清楚啊。:Q

Wei 发表于 2014-6-16 12:15:13

本帖最后由 Wei 于 2014-6-16 12:20 编辑

20160616 进化:打包装盒+显示


在乐联群友的帮助下,乘这周可以在家上班几天的机会,把这个东东打包装盒加上了显示。

装进了饭盒





由于盒子密封,所以我换了一个SI7005在外面检测温度,尽可能的减少影响。



显示效果,用的1602.



不知道大家还有什么建议。
乐联网的查看地址:http://www.lewei50.com/u/g/3655

wetnt 发表于 2014-6-16 13:55:09

孝心可贵啊!

xingyuewang 发表于 2014-6-17 13:53:38

楼主有考虑过布线吗?一条网线,一条供电,你看着不烦,保证用的人看着不烦?在家里弄条网线到处扯方便吗?一般家里面的网线口只有一个,难道还有加交换机的打算?试着使用一下WIFI模块吧,如果是要拿上台面用,试着想办法收拾漂亮点。

Wei 发表于 2014-6-17 14:56:32

xingyuewang 发表于 2014-6-17 13:53 static/image/common/back.gif
楼主有考虑过布线吗?一条网线,一条供电,你看着不烦,保证用的人看着不烦?在家里弄条网线到处扯方便吗? ...

说的是哦,我去找一个WIFI模块!希望顺丰不要让我失望!

Wei 发表于 2014-6-17 16:32:03

庆科3162在路上,预计明天中午前可以收到咯。;P

青争 发表于 2014-6-18 09:52:13

{:soso_e179:}{:soso_e179:}楼主下一步是不是要在温度超过一定值时,在公司用手机远程为妈妈打开空调?或者设置自动开空调?
页: [1] 2
查看完整版本: 夏天来了,老妈舍不得开空调,我有办法:用乐为物联网远程查温度!