版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE 网络工程(物联联网技术)课程设计报告题 目: 基于温湿度度传感器物联联网应用实时时数据处理系系统开发 院(系) 别: 数学与信息息工程学院 专业: 网络工程程(物联网技技术) 班级级 1 班班 学 号: 200060999914 姓 名: 小 明 指导导教师: 职称 博士 填表表日期: 20122 年 5 月 11 日前 言一、选题的依据据及意义依据物联网是一种新新概念和新 HYPERLINK 技技术,它使新新一代IT技技术更加充分分地应用于各各行各业之中中。它的问世世打破了过去去将基础设施施与IT设施施分开的传统统观念,将建建筑物、公路路、铁路和网网站、网络、数数据中心合为为一体,
2、是信信息化和工业业化融合的重重要切入点。温湿度与人人们的生活关关系密切,所所以物联网在温湿度实时数数据处理系统统的开发将有有很大的前景景。意义 在我们们的日常生活活中无处不在在,控制好温温湿度可以使使我们生活、生生产的更好。温湿度传感器物联网应用实时数据处理系统开发可以帮我们实现对温湿度以实时数据让我们明了的知道。从而更好的控制温湿度、达到我们所需的标准。二、本课程设计计内容简介1. 通过ubbuntu连连接传感器实实验箱收集由由传感器测得得的实时数据据存入sqllite3数数据库。2. 然后通过过ubunttu发送到llinux、接接收并用动态态网页显示代代表数据变化化的曲线。三、要达到的目
3、目标1.可以在ubbuntu上上实现自动接接收由传感器器取得、传来来的实时数据据。2. 并ubuuntu上能能边接收边连连续往linnux发送从从传感器取得得的实时数据据。3还要确保发发送过的数据据不会再次发发送。4. Linuux能接收到到ubunttu发过来的的实时数据并并通过动态网网页曲线图实实时显示接收收过来的数据据。实 现 方 案案一、开发环境1.硬件(详细细介绍所涉及及硬件的详细细内容)Pc机、温湿度度传感器、传传感器实验箱箱、连接所需需的各种线。2.软件(详细细介绍所涉及及软件的详细细内容) MDDK414(aarm平台编编译烧录代码码软件)、KKeilC551v7500a_Fu
4、lll(C511平台编译软软件)、STTC手动下载载(C51烧烧录代码软件件)、R3440(串口线线连接USBB驱动)、uubuntuu操作系统、llinux操操作系统。3.其它二、开发内容1.项目开发详详细内容(包包括传感器的的配置、传感感器烧录、数数据的实时收收集、实时数数据的存储、实实时数据的传传输、实时数数据在服务器器端的接受及及存储-TCCPServver及MyySql、数数据库及Weeb服务器安安装、利用JJSP曲线动动态显示实时时数据)首先烧录整合好好的温湿度传传感器的代码码。接着连接接传感器取得得数据。然后后在ubunntu中编译译并运行Coom_Sennsor程序序获取传感器
5、器实验箱的数数据。在Ubuntuu11编译并并运行sennddataa.c把数据据发送到liinux.LLinux通通过TCPSServerr服务器接收收数据并存入入MySQLL数据库。最后将接收到的的数据通过LLinuxwweb服务器器以jsp曲曲线动态显示示实时数据。2.网络拓扑图图(包括传感感器、网关、传传输网络、TTCPSerrver服务务器、数据库库服务器、静静态及动态WWeb服务器器、Web服服务器客户端端;并详细标标注设备名称称及IP地址址等详细信息息;并详细叙叙述网络拓扑扑图流程) 三、技术路线传感器数据处理理(给出详细细的传感器烧烧录代码 )代码如下:/*/中软吉大信信息技术
6、有限限公司/物联网传感感技术教学实实验系统/*/#includde /Keill librrary (is ussed foor _noop()_ operaation) #includde /Keill librrary #includdeLcmmdispllay.h #definee FOSCC 110559200#definee BAUDD 144000typedeff unioon unsiggned iint i; floatt f; valuee;/ / moduul-varr / enum TTEMP,HHUMI; #definee noACCK 0 #definee ACK 1
7、 /addr coommandd r/ww #definee STATTUS_REEG_W 00 x06 /0000 00011 0 #definee STATTUS_REEG_R 00 x07 /0000 00011 1 #definee MEASSURE_TTEMP 00 x03 /0000 00001 1 #definee MEASSURE_HHUMI 00 x05 /0000 00010 1 #definee RESEET 00 x1e /0000 11111 0 sbit DDATA=PP22;sbit SSCK=P221;sbit POOWER=PP25;sbit fllag1=P
8、P07;sbit fllag2=PP46;sbit fllag3=PP27;sbit fllag4=PP26; void deelay(uunsignned innt nTiimeDellay) unssignedd int i; whiile (nnTimeDDelay) for (i=0;i1255;i+); void Seerial_Init() TMOOD = 00 x01; TR0 = 1; EA = 1; ET0 = 0; TF0 = 0; S2CONN = 0 xx50; /8位可变波波特率 (无无校验位) BRTT = -(FOSC/32/BAAUD); /设置独独立波特率发发
9、生器的重载载初值 AUXXR = 00 x14; /独立波波特率发生器器工作在1TT模式 /IIE2 = 0 x01; /使使能串口2中中断void IOO_Initt(voidd)P2M1=PP2M1&00 xdf;P2M0=PP2M0&00 xdf;P0M1=PP0M1&00 x7f;P0M0=PP0M0&00 x7f;P4M1=PP4M1&00 xbf;P4M0=PP4M0&00 xbf;P2M1=PP2M1&00 x3f;P2M0=PP2M0&00 x3f;P4SW=PP4SW|00 x40;void Poower_IIdentiify(vooid)while(1)if(POOWER=
10、0)delayy(40000);LcmPrrintf(请给传感感器模块上电电!n);else breakk;void Moodule_Identtify(uunsignned innt xuhhao)unsignned innt abcc=0;if(flaag4=11)abc=abc+11;abc=abbc1;if(fllag3=1)abcc=abc+1;abc=abbc1;if(fllag2=1)abcc=abc+1;abc=abbc00;i/=22) /shifft bitt for maskiing if (i & valuee) DATTA=1; /maskking vvalue wi
11、th i , wwrite to SEENSI-BBUS elsse DATTA=0; _noop_(); /obseerve ssetup time SCKK=1; /clk for SSENSI-BUS _noop_();_nop_();_nnop_(); /pulsswith approox. 5 us SCKK=0; _noop_(); /obsserve hold time DATA=1; /releease DDATA-lline _nop_(); /obseerve ssetup time SCK=11; /clk #9 foor ackk errorr=DATAA; /chec
12、ck ackk (DATTA willl be pulleed dowwn by SHT111) SCK=00; returrn errror; /erroor=1 iin casse of no accknowlledge / char s_read_byte(unsiggned cchar aack) / / readds a bbyte fform tthe Seensibuus andd givees an acknoowledgge in case of aack=1 unsiggned cchar ii,val=0; DATA=1; /releease DDATA-lline fo
13、r (i=0 x880;i00;i/=22) /shifft bitt for maskiing SCKK=1; /clk for SSENSI-BUS if (DATAA) vall=(vall | i); /readd bit SCKK=0; DATA=!ack; /in ccase oof acck=1 pulll downn DATAA-Linee _nop_(); /obseerve ssetup time SCK=11; /clk #9 foor ackk _nop_();_nnop_();_nopp_(); /pulsswith approox. 5 us SCK=00; _no
14、p_(); /obseerve hhold ttime DATA=1; /releease DDATA-lline returrn vall; / void s_transsstartt(voidd) / / geneeratess a trransmiissionn starrt / _ _ / DATAA: |_| / _ _ / SCK : _| |_| |_ DATAA=1; SSCK=0; /Inittial sstate _nopp_(); SCK=1; _nopp_(); DATAA=0; _nopp_(); SCK=0; _nopp_();_nop_();_noop_(); S
15、CK=1; _nopp_(); DATAA=1; _nopp_(); SCK=0; / void s_conneectionnresett(voidd) / / commmunicaation resett: DATTA-linne=1 aand att leasst 9 SSCK cyycles folloowed bby traansstaart / _ _ / DATAA: |_| / _ _ _ _ _ _ _ _ _ _ _ / SCK : _| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_ unsiggned cchar ii; DATA=1
16、; SCCK=0; /Inittial sstate for(ii=0;i=1 iin casse of no reesponsse forrm thee senssor / char s_measuure(unnsigneed chaar *p_valuee, unssignedd charr *p_ccheckssum, uunsignned chhar mode) / / makees a mmeasurrementt (hummidityy/tempperatuure) wwith ccheckssum unsiggned cchar eerror=0; unsiggned iint
17、i; s_traansstaart(); /trannsmisssion sstart switcch(modde) /sendd commmand tto sennsor casse TEMMP : errorr+=s_wwrite_byte(MEASUURE_TEEMP); breakk; casse HUMMI : errorr+=s_wwrite_byte(MEASUURE_HUUMI); breakk; deffault : breaak; for (i=0;ii100)rh_trrue=1000; /cut if thhe vallue iss outsside oof if(rh
18、h_truee0.1)rh_trrue=0.1; /the physiical ppossibble raange *p_teemperaature=t_C; /retuurn teemperaature C *p_huumiditty=rh_true; /retuurn huumiditty%RHH / float ccalc_ddewpoiint(flloat hh,floaat t) / / calcculatees deww poinnt / inpuut: humiddity %RH, tempperatuure C / outpput: dew ppoint C floatt k,
19、deew_poiint ; k = (log100(h)-22)/0.44343 + (17.62*t)/(2433.12+tt); dew_ppoint = 2433.12*kk/(17.62-k); returrn deww_poinnt; / void maain() / / sampple prrogramm thatt showws howw to uuse SHHT11 ffunctiions / 1. cconnecction resett / 2. mmeasurre hummidityy ticcks(112 bitt) andd tempperatuure tticks(1
20、4 bbit) / 3. ccalcullate hhumidiity %RH aand teemperaature C / 4. ccalcullate ddew pooint C / 5. pprint tempeeraturre, huumiditty, deew poiint valuee humii_val,temp_val; floatt dew_pointt; unsiggned cchar eerror,checkksum; unsiggned iint i; Seriall_Initt();IO_Iniit();Power_Identtify();Modulee_Idennt
21、ify(3); s_cconnecctionrreset(); whilee(1) errror=0; errror+=ss_meassure(unsiggned cchar*) &hummi_vall.i,&ccheckssum,HUUMI); /meeasuree humiidity errror+=ss_meassure(unsiggned cchar*) &temmp_vall.i,&ccheckssum,TEEMP); /meeasuree tempperatuure if(errorr!=0) s_connnectiionresset(); /in caase off an eer
22、ror: connnectioon resset elsse hhumi_vval.f=(floaat)hummi_vall.i; /cconverrts inntegerr to ffloat ttemp_vval.f=(floaat)temmp_vall.i; /cconverrts inntegerr to ffloat ccalc_ssth11(&humii_val.f,&teemp_vaal.f); /ccalcullate hhumidiity, ttemperraturee ddew_pooint=ccalc_ddewpoiint(huumi_vaal.f,ttemp_vval.
23、f); /ccalcullate ddew pooint Powerr_Idenntify();LcmDiisplayySHT100(humii_val.f,temmp_vall.f);/LcmmPrinttf(温度度:%5.11f 湿度:%55.1f 露露点:%3.1fn, temmp_vall.f,huumi_vaal.f,ddew_pooint);/temmp :温度度/forr (i=00;i400000;ii+);/延迟/LcmmPrinttf(, humii_val.f);/hummi:湿度/forr (i=00;i400000;ii+);/延迟/LcmmPrinttf(, dew
24、_pointt);/dewwpointt:露点(点点在此温度时时,空气饱和和并产生露珠珠) /wait approox. 0.8s too avoiid heaating up SHHTxx for (i=0;i500000;i+); /(be sure that the ccompiller dooesntt elimminatee thiss linee!) / Lcmdispplay.cc:#includde Lccmdispplay.hhtypedeff enumm LCMMPRTF = 0, / 字符串打印印 / 1 磁感应应及环境光传传感器模块 LCMMHALL, / 霍尔接近开开
25、关 LCMMREED, / 干簧管 LCMMMETALL, / 金属接近开开关 LCMMLUX, / 环境光强度度 LCMMLDR, / 光敏电阻 / 2 震动及及mems麦麦克传感器模模块 LCMMSHOCKKDS, / 双珠单向 LCMMSHOCKKDD, / 双珠双向 LCMMSHOCKKSPRINNG, / 弹簧 LCMMSHOCKK, / 全向震动 LCMMMIC, / MEMS麦麦克风 / 3 测距测测障类及温湿湿度类传感器器模块 LCMMIR, / 红外对管测测距 LCMMIRSWIITCH, / 红外接近开开关 LCMMULTR, / 超声波测距距 LCMMTEMP, / 温度
26、/ DS18bb20 LCMMSHT100, / 温湿度传感感器SHT110 LCMMHUMI, / 湿度/SSHT10 LCMMNTC, / 热敏电阻 / 4 操作控控制类及加速速传感器模块块 LCMMACC, / 三轴加速度度 LCMMJOYSTTICK, / 摇杆电位器器 LCMMENCODDER, / 编码开关 / 5 称重传传感器模块 LCMMWEIGHHT, / 称重 / 6 粉尘传传感器模块 LCMMDUST, / 粉尘 / 7 红外测测温及颜色传传感器模块(增增强型模块) LCMMBODYTTEMP, / 红外测体温温 LCMMCOLORR, / 颜色 / 8 磁阻陀陀螺仪及气
27、压压传感器模块块(增强型模模块) LCMMRELUCCTANCEE, / 三轴磁阻 LCMMANGRAATE, / 三轴角速率率陀螺仪 LCMMPRESSSURE, / 气压 / 9 二氧化化碳传传感器器模块(扩展展型模块) LCMMCO2, / 二氧化碳 / 10 气体体流量传感器器模块(扩展展型模块) LCMMFLOW, / 气体流量 LCMMINIT / 初初始值 flag_t;void s *cp)unsignned chhar teemp;temp=ccp3;cp3=cp0;cp0=temp;temp=ccp2;cp2=cp1;cp1=temp;void seendc (unsigg
28、ned cchar cchr)/发送一个字字符 S2BUFF = chhr; whilee(!(S22CON & 0 x022); S22CON &= 0 xx02; unsigneed chaar reccvc (vvoid)unsignned chhar chhr;while(!(S2CCON & 0 x01); S2COON &= 0 x011; chr = S2BUFF;returnn chr;static void packeetLcm(flag_t flaag, chhar *ddata1, int lengtth) senndc(0 xx7e); senndc(0 xxff);
29、sendcc(0 x066);/改改成6 senndc(fllag); whiile(leength) swittch (*data11) case 0 x7e: ssendc(0 x7d); ssendc(0 x5e); case 0 x7d: ssendc(0 x7d); ssendc(0 x5e); defauult: ssendc(*dataa1); dataa1+; senndc(0 xx00); senndc(0 xx00);sendc(0 x7e); / 等待显示完完成 /rrecvc();/ 字符串打打印到液晶void LccmPrinntf(chhar *ffmt, ) va
30、_list ap; va_startt(ap,ffmt); vspprintff(dataa1, fmmt, app);va_endd(ap); paccketLccm(LCMMPRTF, dataa1, sttrlen(data11);/ 1 磁感感应及环境光光传感器模块块/LCMHAALL, / 霍尔尔接近开关/ 霍尔传感感器,有磁铁铁靠近TRUUE,离开FFALSEvoid LccmDispplayHaall(boool v) connv_t cconv;conv.bb = v;s); paccketLccm(LCMMHALL, convv.c, 44);/LCMREEED, / 干簧簧
31、管/ 干簧管,有有磁铁靠近TTRUE,离离开FALSSEvoid LccmDispplayReeed(boool v) connv_t cconv;conv.bb = v;s); paccketLccm(LCMMREED, convv.c, 44);/LCMMEETAL, / 金属属接近开关/ 金属传感感器,有金属属靠近TRUUE,离开FFALSEvoid LccmDispplayMeetal(bbool vv) connv_t cconv;conv.bb = v;s); paccketLccm(LCMMMETALL, connv.c, 4);/LCMLUUX, / 环境境光强度/ 环境光强强
32、度,Luxxvoid LccmDispplayLuux(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMLUX, conv.c, 4);/LCMLDDR, / 光敏敏电阻/ 光敏电阻阻,千欧void LccmDispplayLDDR(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMLDR, conv.c, 4);/ 2 震动动及memss麦克传感器器模块/LCMSHHOCKDSS, / 双珠珠单向void LccmDispplayShhockDSS(booll v
33、) connv_t cconv;conv.bb = v; paccketLccm(LCMMSHOCKKDS, cconv.cc, sizzeof(vv);/LCMSHHOCKDDD, / 双珠珠双向void LccmDispplayShhockDDD(booll vl, bool vr) connv_t cconv; if (vl & vr) convv.uc = 0 xfff; eelse iif (vll & !vr) convv.uc = 0 xf00; eelse iif (!vvl & vr) convv.uc = 0 x0ff; eelse convv.uc = 0 x000; p
34、accketLccm(LCMMSHOCKKDD, cconv.cc, sizzeof(uunsignned chhar);/LCMSHHOCKSPPRING, / 弹簧簧void LccmDispplayShhockSppring(bool v) connv_t cconv;conv.bb = v; paccketLccm(LCMMSHOCKKSPRINNG, coonv.c, sizeeof(v);/LCMSHHOCK, / 全向向震动/ 全向震动动void LccmDispplayShhock(bbool vv) connv_t cconv;conv.bb = v; paccketLccm
35、(LCMMSHOCKK, connv.c, sizeoof(v);/LCMMIIC, / MEEMS麦克风风void LccmDispplayMIIC(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMMIC, conv.c, 4);/ 3 测距距测障类及温温湿度类传感感器模块/LCMIRR, / 红外外对管/ 红外对管管电压,单位位Vvoid LccmDispplayIRR(floaat v) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMIR, cconv.cc, 4);/LCMI
36、RRSWITCCH, / 红外外接近开关void LccmDispplayIRRSwitcch(boool v) connv_t cconv;conv.bb = v; paccketLccm(LCMMIRSWIITCH, conv.c, siizeof(v);/LCMULLTR, / 超声声波测距/ 超声波测测距,单位厘厘米void LccmDispplayUlltr(flloat vv) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMULTR, convv.c, 44);/LCMTEEMP, / 温度度/ DSS18b200/ 温度,摄摄氏度vo
37、id LccmDispplayTeemp(flloat vv) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMTEMP, convv.c, 44);/LCMSHHT10, / 温湿湿度传感器SSHT10/ 温湿度传传感器SHTT10/ 参数 tt:温度/ h:湿度度void LccmDispplaySHHT10(ffloat t, flloat hh) connv_t cconv; connv.f = t;s); memmcpy(ddata1+0, coonv.c, 4); connv.f = h;s); memmcpy(ddata1+4, coo
38、nv.c, 4); paccketLccm(LCMMSHT100, datta1, 88);/LCMHUUMI, / 湿度度/SHTT10/ 相对湿度度,百分比void LccmDispplayHuumi(flloat vv) connv_t cconv; connv.f = v;s); paccketLccm(LCMMHUMI, convv.c, 44);/LCMNTTC, / 热敏敏电阻void LccmDispplayNTTC(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMNTC, conv.c, 4);/ 4 操作作控
39、制类及加加速传感器模模块/LCMACCC, / 三轴轴加速度/ 三维加速速度,单位ggvoid LccmDispplayAccc(flooat x, floaat y, floatt z) connv_t cconv; connv.f = x;s); memmcpy(ddata1+0, coonv.c, 4); connv.f = y;s); memmcpy(ddata1+4, coonv.c, 4); connv.f = z;s); memmcpy(ddata1+8, coonv.c, 4); paccketLccm(LCMMACC, data11, 12);/LCMJOOYSTICCK,
40、/ 摇杆杆电位器/ 摇杆电位位器,12位位AD值void LccmDispplayJooysticck(unssignedd int x, unnsigneed intt y) connv_t cconv; connv.ui = x;s); memmcpy(ddata1+0, coonv.c, 4); connv.ui = y;s); memmcpy(ddata1+4, coonv.c, 4); paccketLccm(LCMMJOYSTTICK, data11, 8);/LCMENNCODERR, / 编码码开关/ 编码开开关void LccmDispplayEnncoderr(encdd_
41、t v) connv_t cconv; connv.en = v;s); memmcpy(ddata1+0, coonv.c, 4); paccketLccm(LCMMENCODDER, ddata1, 4);/ 5 称重重传感器模块块/LCMWEEIGHT, / 称重重/ 称重传感感器,单位克克void LccmDispplayWeeight(floatt v) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMWEIGHHT, coonv.c, 4);/ 6 粉尘尘传感器模块块/LCMDUUST, / 粉尘尘/ 粉尘,单单位粒子数void Lccm
42、DispplayDuust(flloat vv) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMDUST, convv.c, 44);/ 7 红外外测温及颜色色传感器模块块(增强型模模块)/LCMBOODYTEMMP, / 红外外测体温/ 体温,摄摄氏度void LccmDispplayBoodyTemmp(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMBODYTTEMP, conv.c, 4);/LCMCOOLOR, / 颜色色/ 颜色,RRGB 各88位void LccmDis
43、pplayCoolor(uunsignned chhar r, unsiigned char g, unnsigneed chaar b) connv_t cconv; connv.uc = r; memmcpy(ddata1+0, coonv.c, 1); connv.uc = g; memmcpy(ddata1+1, coonv.c, 1); connv.uc = b; memmcpy(ddata1+2, coonv.c, 1); paccketLccm(LCMMCOLORR, datta1, 33);/ 8 磁阻阻陀螺仪及气气压传感器模模块(增强型型模块)/LCMREELUCTAANCE
44、, / 三轴轴磁阻/ 磁阻void LccmDispplayReeluctaance(ffloat anglee, flooat x, floaat y, floatt z) connv_t cconv; connv.f = anglle;s); memmcpy(ddata1+0, coonv.c, 4); connv.f = x;s); memmcpy(ddata1+4, coonv.c, 4); connv.f = y;s); memmcpy(ddata1+8, coonv.c, 4); connv.f = z;s); memmcpy(ddata1+12, cconv.cc, 4); pa
45、ccketLccm(LCMMRELUCCTANCEE, datta1, 116);/LCMANNGRATEE, / 三轴轴角速率陀螺螺仪/ 三轴角速速率void LccmDispplayAnngRatee(floaat x, floatt y, ffloat z) connv_t cconv; connv.f = x;s); memmcpy(ddata1+0, coonv.c, 4); connv.f = y;s); memmcpy(ddata1+4, coonv.c, 4); connv.f = z;s); memmcpy(ddata1+8, coonv.c, 4); paccketLccm
46、(LCMMANGRAATE, ddata1, 12);/LCMPRRESSURRE, / 气压压/ 气压传感感器MS56607/ 参数 PP:温度/ t:气压压void LccmDispplayPrressurre(flooat p, floaat t) connv_t cconv; connv.f = p;s); memmcpy(ddata1+0, coonv.c, 4); connv.f = t;s); memmcpy(ddata1+4, coonv.c, 4); paccketLccm(LCMMPRESSSURE, data11, 8);/ 9 二氧氧化碳传传感感器模块(扩扩展型模块)/
47、LCMCOO2, / 二氧氧化碳void LccmDispplayCOO2(flooat v) connv_t cconv; connv.f = v;s); paccketLccm(LCMMCO2, conv.c, 4);/ 10 气气体流量传感感器模块(扩扩展型模块)/LCMFLLOW, / 气体体流量/ 气体流量量,单位SLLPMvoid LccmDispplayFllow(flloat vv) connv_t cconv;conv.ff = v;s); paccketLccm(LCMMFLOW, convv.c, 44);传感器烧录(给给出传感器烧烧录代码的编编译及烧录过过程、是否遇遇到
48、问题及如如何解决)(1)利用keeil2软件件,打开目录录“D:传感感器实验箱资资料传感器实验箱箱程序资料C51完完成部分程序序完成部分分程序”中的SHT110.Uv22文件。(2) 双击打打开左侧的“wenshhi.c”文件,根据据提示完成部部分程序。(3) 按下FF7键,即编编译此程序,在在工具软件下下面的显示区区域中,如果果有“0 errror(s)”字样,表示示此程序编译译已经成功。(4) 把编译译好的程序重重新烧写到单单片机中。(5) 按下母母板卡上的SSensorrs键并打开开传感器电源源。(6) 观察效效果。(7) 依次关关闭传感器电电源、单片机机电源、母板板卡电源。实时数据收集
49、环环境(画出详详细的传感器器、C51或或ARM板、传传感器实验箱箱嵌入式电脑脑及Ubunntu网关间间的连接示意意图,并详细细介绍各部分分的主要功能能)温湿度传感器:检测环境的的温湿度。C51平台:通通过平台里面面烧录的代码码对传感器取取得的数据进进行解析并转转换为数值。显示器:显示测测的的温湿度度的具体数值值。Sqlite33数据库:存存储温湿度的的数值。实时数据收集编编程实现(给给出从传感器器实验箱获取取实时数据的的所有源代码码,给出启动动程序收集数数据的步骤、遇遇到的问题及及采取的措施施)#includde #includde #includde #includde #includde
50、#includde #includde #includde #includde /#incllude Analyysis_NNet.h#includde Annalysiis_Sennsor.hh#includdetypedeff struuct int ffd; PAR;void thhread_com( void * parram ) PARR * loocal = paraam; chaar bufff10224;/sqlitte3int reetval; sqllite3 *handdle;retvall = sqqlite33_openn(Senninfo.db,&handlle);
51、if(rettval) prinntf(DDatabaase coonnecttion ffaileddn); retuurn -11; priintf(Conneectionn succcessfuuln);printff(Connnectiion suuccesssfulnn); charr *sqll; sql = CREEATE TTABLE IF NOOT EXIISTS Sdatta (idd int,datettime ddatetiime ,TTemperraturee floaat,Hummidityy floaat,flaag intt defaault 00); sqli
52、tte3_exxec(haandle,sql,00,0,0);/sqlitte3 whiile ( 1 ) mmemsett( bufff, 0, sizeeof( bbuff ) ); iint nrread = readd( loccal-ffd, buuff, 11024 ); pprintff( siize off nreaad = %dn, nreaad ); iif ( nnread != 0 ) / GeetNWDaata( &buff );GetSDaata( &buff,handlle ); ssleep( 2 ); sqlitee3_cloose(haandle);int
53、sett_opt( int fd, iint nSSpeed, int nBitss, chaar nEvvent, int nnStop ) /设设置打开的端端口 strucct terrmios newtiio; strucct terrmios oldtiio; if ( tcgettattr( fd, &oldttio ) != 0 ) perrror( Savee Old Seriaal ); retturn -1; bzeroo( &neewtio, sizeeof( nnewtioo ) ); newtiio.c_ccflag |= CLLOCAL | CREEAD; newti
54、io.c_ccflag &= CCSIZE; switcch ( nnBits ) casse 7: nnewtioo.c_cfflag |= CS77; bbreak; casse 8: nnewtioo.c_cfflag |= CS88; bbreak; deffault: bbreak; switcch ( nnEventt ) casse O: casse o: nnewtioo.c_cfflag |= PARRENB; nnewtioo.c_cfflag |= PARRENB; bbreak; casse e: casse E: nnewtioo.c_ifflag |= ( IINP
55、CK | ISTTRIP ); nnewtioo.c_cfflag |= PARRENB; nnewtioo.c_cfflag &= PAARODD; bbreak; casse n: casse N: nnewtioo.c_cfflag &= PAARENB; bbreak; switcch ( nnSpeedd ) casse 24000: ccfsetiispeedd( &neewtio, B24000 ); ccfsetoospeedd( &neewtio, B24000 ); bbreak; casse 48000: ccfsetiispeedd( &neewtio, B48000
56、); ccfsetoospeedd( &neewtio, B48000 ); bbreak; casse 96000: ccfsetiispeedd( &neewtio, B96000 ); ccfsetoospeedd( &neewtio, B96000 ); bbreak; casse 1155200: ccfsetiispeedd( &neewtio, B1155200 ); ccfsetoospeedd( &neewtio, B1155200 ); bbreak; deffault: ccfsetiispeedd( &neewtio, B96000 ); ccfsetoospeedd(
57、 &neewtio, B96000 ); bbreak; if ( nStopp = 11 ) newwtio.cc_cflaag &= CSTOOPB; else if ( nStopp = 22 ) newwtio.cc_cflaag |= CSTOPPB; newtiio.c_cccVMIIN = 0; newtiio.c_cccVTIIME = 0; tcfluush( ffd, TCCIFLUSSH ); if ( tcsettattr( fd, TCSANNOW, &newtiio ) != 0 ) perrror( com set eerror ); retturn -1; pr
58、inttf( sset doonen );void oppen_poort( iint * fd ) /打开开端口 char num1100; char COMNuum1000 = /dev/tty; printtf( ppleasee inpuut COMM num: ); gets( num ); strcaat( COOMNum, num ); *fd = openn( COMMNum, O_RDWWR | OO_NOCTTTY | O_NDEELAY ); if ( *fd = -1 ) perrror( Can not OOpen SSeriall Portt ); retturn(
59、 -1 ); else priintf( Openn Succcessnn ); if ( fcntll( *fdd, F_SSETFL, 0 ) 0 ) priintf( fcnttl faiiled!n ); else priintf( fcnttl = %dn, fcnttl( *ffd, F_SETFLL, 0 ) ); printtf( ffd-opeen = %dn, *fd );int maiin() int ffd; int ii; char buff100; int qquit = 0; int rres; pthreead_t id; PAR pparam; count=0
60、; memseet( buuff, 00, sizzeof( buff ) ); open_port( &fd ); if ( fd 0 ) perrror( openn com errorr ); retturn -1; i = sset_oppt( fdd, 1155200, 8, NN, 1 ); if ( i 00 ) perrror( set opt eerror ); retturn -1; paramm.fd = fd; res = pthrread_ccreatee( &idd, NULLL, thhread_com, (voidd *)&pparam ); whilee (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年郑州汽车工程职业学院单招职业倾向性测试题库及参考答案详解一套
- 第15课 走路注意安全教学设计小学地方、校本课程浙教版(2021)人·自然·社会
- 方向与位置(教学设计)二年级下册数学北师大版
- 第五节 哺乳类(教学设计)-鲁科版(五四学制)(2024)生物六年级下册
- 《形的魅力》(教学设计)人教版(2012)美术五年级下册
- 2025-2026学年作业设计教学论文美术
- 第二节比赛战术的运用教学设计高中体育人教版2019必修第一册-人教版
- 2025-2026学年壮族帽子的教学设计语文
- 清苑县望亭乡招聘社区网格员备考题库附答案详解
- 2026年陕西省商洛地区单招职业倾向性考试题库及参考答案详解
- 市政道路工程自评报告(施工单位)
- 汽修三类人员培训制度
- 纺织工程设计防火规范
- 维保作业安全培训内容课件
- DB31∕T 1598-2025 城市轨道交通车辆寿命评估通 用要求
- 工业产品造型课件
- 【2025年】有限空间作业安全考试题试卷(附答案)
- 无人机在灾害救援中生命探测应用分析方案
- 高端书画活动方案
- 地贫防控知识培训课件
- 2025年会考地理安徽真题及答案
评论
0/150
提交评论