欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于單片機(jī)WiFi的農(nóng)田信息采集系統(tǒng)程序,增加電容傳感器測土壤濕度
[打印本頁]
作者:
真-小白
時間:
2020-4-25 20:07
標(biāo)題:
基于單片機(jī)WiFi的農(nóng)田信息采集系統(tǒng)程序,增加電容傳感器測土壤濕度
基于WiFi的農(nóng)田信息采集系統(tǒng),增加電容傳感器測土壤濕度
單片機(jī)源程序如下:
#include "stc8.h"
#include "stdio.h"
#include "config.h"
#include "delay.h"
#include "uart.h"
#include "display.h"
#include "ADC.h"
#include "DHT11.h"
#include <string.h>
#include "pcf8591_i2c.h"
#define uchar unsigned char
#define uint unsigned int
#define ulint unsigned long int
//extern uchar xdata Rec_Buf[Buf_Max];
/**********************
引腳別名定義
***********************/
sbit RST = P3^6; //ESP8266復(fù)位引腳用IO口
//uchar ATCWJAP[]="AT+CWJAP=\"OPPO A59m\",\"12345678\"\r\n";
//uchar ATCIPSTART[]="AT+CIPSTART=\"TCP\",\"192.168.2.4\",8888\r\n";//向手機(jī)發(fā)送數(shù)據(jù)
//uchar ATCIPSTART[]="AT+CIPSTART=\"TCP\",\"192.168.2.2\",8880\r\n";
uchar AT[]="AT\r\n";
uchar ATRST[]="AT+RST\r\n";
uchar ATCWJAP[]="AT+CWJAP=\"Netcore\",\"18337257016\"\r\n";
uchar ATCWMODE[]="AT+CWMODE=1\r\n"; //設(shè)置 Wi-Fi 模式
uchar ATCIPMUX[]="AT+CIPMUX=0\r\n"; //設(shè)置多連接模式
uchar ATCIPMODE[]="AT+CIPMODE=1\r\n"; //設(shè)置透傳模式
uchar ATCIPSTART[]="AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n";
uchar ATCIPSEND[]="AT+CIPSEND\r\n";
uchar ATEXITCIPMODE[]="+++";
uchar POST1[]="POST /devices/579828346/datapoints?type=3 HTTP/1.1\r\n";
uchar POST2[]="api-key:8YGhUHuHNQODlsbk7YrimCE2Qow=\r\n";
uchar POST3[]="Host:api.heclouds點com\r\n";
uchar POST5[]="\r\n";
uchar POST40[]="Content-Length:11\r\n";
uchar POST60[]="{\"temp\":11}";
uchar POST41[]="Content-Length:10\r\n";
uchar POST61[]="{\"wet\":20}";
uchar POST42[]="Content-Length:14\r\n";
uchar POST62[]="{\"light\":3333}";
uchar POST43[]="Content-Length:15\r\n";
uchar POST63[]="{\"Soilwet\":201}";
uchar numlist[]={
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39
};
uchar temp1[3];
uchar humidity1[3];
uchar photo1[4];
uchar sd[3];
uchar tempphoto1,soilwet;
uchar mnum,count,mark;
uchar gdu[3],sdu[3],gq[5],ts[4];
sbit SDA = P7^6; /* 數(shù)據(jù)線 */
sbit SCL = P7^7; /* 時鐘線 */
void tm0()interrupt 1{
ET0=0;
TH0 = 0xb7;
TL0 = 0xfe;
TF0 = 0;
count ++;
if(count == 50){
mnum ++;
count = 0;
//P6 = ~P6;
}
if(mnum==10){
mark=1;
mnum=0;
}
ET0=1;
}
void espdelay(uint z){ //ms延時
uint x,y;
for(x = z; x > 0; x--)
for(y = 829; y > 0 ; y--);
}
void uart3init(){
S3CON = 0x50;
T3H = 0xff;
T3L = 0xfe;
T4T3M = 0x08;
}
void uart3send1byte(uchar dat){
S3BUF = dat;
while(!(S3CON&0x02));
S3CON = S3CON | 0xfd;
espdelay(2);
}
void sendstr(uchar *p){
while(1)
{
uart3send1byte(*p++);
if(*p=='\0') break;
}
}
void send2(unsigned char string){
SBUF = string;
while(!(SCON&0x02));
SCON &= ~0x02;
}
void sendstr1(uchar *p)
{
while(1)
{
send2(*p++);
if(*p=='\0') break;
}
}
void timer0_init(){
TMOD = 0x01;
TH0 = 0xb7;
TL0 = 0xfe; //20ms
TR0=1;
ET0 = 1;
EA = 1;
}
int main(void)
{ P0M1 = 0;
P0M0 = 0;
P1M1 = 0;
P1M0 = 0;
P2M1 = 0;
P2M0 = 0;
P3M1 = 0;
P3M0 = 0;
P4M1 = 0;
P4M0 = 0;
P5M1 = 0;
P5M0 = 0;
P6M1 = 0;
P6M0 = 0;
P7M1 = 0;
P7M0 = 0;
P_SW2=0x02;
ADC_config(); //ADC初始化
uart3init(); //串口3初始化
init_1602(); //1602初始化
EA = 1;
timer0_init();
Uart_Init(); //總中斷打開
delay_ms(100); //初始化后延時
// WiFi模塊初次設(shè)置使用
sendstr(ATRST);
sendstr(ATCWJAP);
sendstr(ATCWMODE);
sendstr(ATCIPMUX);
while (1)
{
displaynumber();
DHT11();
tempphoto1 = Get_ADC12bitResult();
soilwet =(int)Pcf8591_ReadAD()/51.0*100;
espdelay(5);
//將溫濕度值轉(zhuǎn)換為字符串
temp1[0] =DHT11Value.tempH;
temp1[1] =DHT11Value.tempL;
humidity1[0] = DHT11Value.humyH;
humidity1[1] = DHT11Value.humyL;
//將光照強(qiáng)度值轉(zhuǎn)換為字符串
photo1[0] = tempphoto1/1000;
photo1[1] = (tempphoto1%1000)/100;
photo1[2] = ((tempphoto1%1000)%100)/10;
photo1[3] = ((tempphoto1%1000)%100)%10;
sd[0]=soilwet/100;
sd[1]=soilwet%100/10;
sd[2]=soilwet%10;
POST60[8]= numlist[temp1[0]];
POST60[9]= numlist[temp1[1]];
POST61[7]=numlist[humidity1[0]];
POST61[8]=numlist[humidity1[1]];
POST62[9]=numlist[photo1[0]];
POST62[10]=numlist[photo1[1]];
POST62[11]=numlist[photo1[2]];
POST62[12]=numlist[photo1[3]];
POST63[11]=numlist[sd[0]];
POST63[12]=numlist[sd[1]];
POST63[13]=numlist[sd[2]];
sendstr(ATCIPSTART);
//sendstr1("已連接到服務(wù)器\r\n");
sendstr(ATCIPMODE);
//sendstr1("開啟透傳\r\n");
sendstr(ATCIPSEND);
//sendstr1("開始發(fā)送數(shù)據(jù)\r\n");
gdu[0]=POST60[8];
gdu[1]=POST60[9];
gdu[2]='\0';
sendstr1("溫度:\r\n");
sendstr1(gdu);
sendstr1("\r\n");
sendstr(POST1);
sendstr(POST2);
sendstr(POST3);
sendstr(POST40);
sendstr(POST5);
sendstr(POST60);
sdu[0]=POST61[7];
sdu[1]=POST61[8];
sdu[2]='\0';
sendstr1("濕度:\r\n");
sendstr1(sdu);
sendstr1("\r\n");
sendstr(POST1);
sendstr(POST2);
sendstr(POST3);
sendstr(POST41);
sendstr(POST5);
sendstr(POST61);
gq[0]=POST62[9];
gq[1]=POST62[10];
gq[2]=POST62[11];
gq[3]=POST62[12];
gq[4]='\0';
sendstr1("光照強(qiáng)度:\r\n");
sendstr1(gq);
sendstr1("\r\n");
sendstr(POST1);
sendstr(POST2);
sendstr(POST3);
sendstr(POST42);
sendstr(POST5);
sendstr(POST62);
ts[0]=POST63[11];
ts[1]=POST63[12];
ts[2]=POST63[12];
ts[3]='\0';
sendstr1("土壤濕度:\r\n");
sendstr1(ts);
sendstr1("\r\n");
sendstr(POST1);
sendstr(POST2);
sendstr(POST3);
sendstr(POST43);
sendstr(POST5);
sendstr(POST63);
espdelay(500);
sendstr(ATEXITCIPMODE);
// sendstr1("退出數(shù)據(jù)發(fā)送\r\n");
}
}
復(fù)制代碼
所有資料51hei提供下載:
代碼.7z
(69.22 KB, 下載次數(shù): 22)
2020-4-25 20:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei團(tuán)團(tuán)
時間:
2020-4-26 01:14
樓主您好,能上傳或者說明一下原理圖嗎?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1