Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            #include "ESP8266.h"
#include <SPI.h>
#include "SoftwareSerial.h"#define SSID "" //WiFi名字   
#define PASSWORD "  "//password of WiFi
#define HOST_NAME "api.heclouds.com"  
#define DEVICE_ID "654340613"       
#define HOST_PORT (80)                
String APIKey = "   "; #define INTERVAL_SENSOR 5000float cm;
const int TrigPin=5;
const int EchoPin=9;
const int BeePin=6;SoftwareSerial mySerial(3, 2);// 3-Tx 2-Rx
ESP8266 wifi(mySerial);void setup()
{mySerial.begin(115200); Serial.begin(9600);   pinMode(TrigPin,OUTPUT);pinMode(EchoPin,INPUT);pinMode(BeePin,OUTPUT);Serial.print("setup begin\r\n");Serial.print("FW Version: ");Serial.println(wifi.getVersion().c_str());if (wifi.setOprToStation()) {Serial.print("to station ok\r\n");} else {Serial.print("to station err\r\n");}if (wifi.joinAP(SSID, PASSWORD)) {Serial.print("Join AP success\r\n");Serial.print("IP: ");Serial.println(wifi.getLocalIP().c_str());} else {Serial.print("Join AP failure\r\n");}mySerial.println("AT+UART_CUR=9600,8,1,0,0");mySerial.begin(9600);Serial.println("setup end\r\n");SPI.begin();}unsigned long net_time1 = millis(); void loop(){if (net_time1 > millis())net_time1 = millis();if (millis() - net_time1 > INTERVAL_SENSOR) {// put your main code here, to run repeatedly://產生10微秒的高電平波觸發TrigPindigitalWrite(TrigPin,LOW);delayMicroseconds(2);digitalWrite(TrigPin,HIGH);delayMicroseconds(10);digitalWrite(TrigPin,LOW);//檢測脈沖寬度并算出距離cm=pulseIn(EchoPin,HIGH)/58.3;Serial.print("Distance:");Serial.println(cm);if(cm<20){tone(6,392);delay(80);}else if(cm<50){tone(6,440);delay(40);}else if(cm<100){tone(6,494);delay(20);}else{noTone(6);}if (wifi.createTCP(HOST_NAME, HOST_PORT)) { Serial.print("create tcp ok\r\n");String jsonToSend = "{\"distance\":";jsonToSend += "\"" + String(cm) + "\"";jsonToSend += "}";String postString = "POST /devices/";postString += DEVICE_ID;postString += "/datapoints?type=3 HTTP/1.1";postString += "\r\n";postString += "api-key:";postString += APIKey;postString += "\r\n";postString += "Host:api.heclouds.com\r\n";postString += "Connection:close\r\n";postString += "Content-Length:";postString += jsonToSend.length();postString += "\r\n";postString += "\r\n";postString += jsonToSend;postString += "\r\n";postString += "\r\n";postString += "\r\n";const char *postArray = postString.c_str(); Serial.println(postArray);wifi.send((const uint8_t *)postArray, strlen(postArray)); Serial.println("send success");if (wifi.releaseTCP()) { Serial.print("release tcp ok\r\n");} else {Serial.print("release tcp err\r\n");}postArray = NULL; } else {Serial.print("create tcp err\r\n");}Serial.println("");net_time1 = millis();}}
 
                        
                        
                        實現效果:
 
總結
以上是生活随笔為你收集整理的Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 欧瑞变频器800参数设置_ABB ACS
- 下一篇: MySQL优化之表分区
