日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据

發布時間:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 用云平台读取雷达测距数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。