国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP32-CAM ——Blinker平臺

這篇具有很好參考價值的文章主要介紹了ESP32-CAM ——Blinker平臺。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ESP32-CAM,點燈云平臺Blinker,MQTT協(xié)議,APP控制,Wifi視頻監(jiān)控,點燈,控制舵機。

一 環(huán)境搭建

兩個寶藏網(wǎng)站

?點燈科技 (diandeng.tech)

軟件下載 - Arduino中文社區(qū)

第一次體驗Arduino

按照上面教程安裝ESP32固件包

語言改為中文

二 常用基本語法?

學過stm32再看Arduino代碼,有種看少兒編程的感覺哈哈哈?

串口println

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

用串口連接電腦,5V

RX-UoT

TX-UnR

IO0 需要連接 GND

工具=》選擇開發(fā)板=》esp32=》AIThinker ESP32-CAM

下面代碼為設置波特率

setup 可以理解為 main 函數(shù) while(1) 之前

loop 理解為 while(1) 里

loop內(nèi)循環(huán)打印字符串,?

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("hello world");
}

選擇端口,點擊上傳即可

一直顯示Connecting就按一下reset?

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

上傳完畢,IO0 斷開?GND,按下RESET,打開串口監(jiān)視器,可看見循環(huán)打印字符串

點個燈

由圖可知GPIO4對應LED?

文件=》例程

提供了很多模板,一看就懂

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

int led = 4;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(led, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(led, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

舵機控制

GPIO12輸出PWM

#define ServoPin 12

void Myservo(int angle)
{
  for (int i = 0; i < 5; i++) {
    int pulsewidth = (angle * 11) + 500;        //將角度轉(zhuǎn)化為500-2480的脈寬值
    digitalWrite(ServoPin, HIGH);               //將舵機接口電平至高
    delayMicroseconds(pulsewidth);              //延時脈寬值的微秒數(shù)
    digitalWrite(ServoPin, LOW);                //將舵機接口電平至低
    delayMicroseconds(20000 - pulsewidth);      //延時脈寬值的微秒數(shù)
  }
  delay(10);
}

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(ServoPin, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  Myservo(0);
  delay(1000);                      // wait for a second
  Myservo(45);
  delay(1000);                      // wait for a second
  Myservo(90);
  delay(1000);                      // wait for a second
  Myservo(135);
  delay(1000);                      // wait for a second
  Myservo(180);
  delay(1000);                      // wait for a second
}

超聲波測距

最后加了個if,軟件過濾掉誤差

#define Echo 13
#define Trag 15

long gettime()
{
  digitalWrite(Trag,HIGH);
  delayMicroseconds(10);
  digitalWrite(Trag,LOW);

  return pulseIn(Echo,HIGH);
}

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(Echo, INPUT);
  pinMode(Trag, OUTPUT);
  Serial.begin(115200);
}

// the loop function runs over and over again forever
void loop() {
  long dis = gettime()/58;
  if(dis > 2) Serial.println(dis);
}

三 攝像頭使用

前面都是小卡拉米,正戲這里開始。

先嫖個示例?

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

改為使用?AI_THINKER ,Wifi名密碼改成自己的手機熱點

// ===================
// Select camera model
// ===================
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM
// ** Espressif Internal Boards **
//#define CAMERA_MODEL_ESP32_CAM_BOARD
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
//#define CAMERA_MODEL_ESP32S3_CAM_LCD

#include "camera_pins.h"

// ===========================
// Enter your WiFi credentials
// ===========================
const char* ssid = "IQOO 5";
const char* password = "88888888";
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
E (79) psram: PSRAM ID read error: 0xffffffff

.......
WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.100.9' to connect

電腦和cam都連接上手機熱點,燒錄完成后,訪問串口提供的網(wǎng)址?

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

四 使用Blinker云平臺

監(jiān)控視頻傳輸

下載點燈科技云平臺APP,注冊,添加設備,選擇網(wǎng)絡設備,可以得到一個“密鑰”

例程選擇最下面的 Blinker 里的 Blinker_ESP32_CAM。

“密鑰”、Wifi和密碼,填入程序,?Blinker.begin()入?yún)ⅰ懊荑€”、Wifi和密碼

#define BLINKER_WIFI
//#define BLINKER_ESP_SMARTCONFIG

#include <Blinker.h>
#include "ESP32_CAM_SERVER.h"

//blinker提供的密鑰,WiFi名密碼
char auth[] = "8578f8f1626f";
char ssid[] = "iQOO 5";
char pswd[] = "88888888";
//默認攝像頭不開啟
bool setup_camera = false;
//反饋設備狀態(tài)
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();//按下APP按鍵產(chǎn)生震動
    
    uint32_t BlinkerTime = millis();
    
    Blinker.print("millis", BlinkerTime);
}

void setup()
{
    Serial.begin(115200);//串口使得能
    BLINKER_DEBUG.stream(Serial);//blinker串口debug

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);
    
    Blinker.begin(auth,ssid,pswd);//通過WiFi賬號密碼連接平臺
    Blinker.attachData(dataRead);//反饋設備狀態(tài)
}

void loop()
{
    Blinker.run();//blinker運行 包括連接blinker云 MQTT協(xié)議
    //判斷設備是否正常執(zhí)行 正常就輸入ip地址
    if (Blinker.connected() && !setup_camera)
    {
        setupCamera();
        setup_camera = true;

        Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}");
    }
}

編譯出錯?????????exit status 1? ? ? ? 就把Blinker庫卸載重新導入,去除原zip名里的防重“(1)”這種

APP添加一個“視頻”,mjpg,輸入獲得的網(wǎng)址

[2786] WiFi Connected.
[2786] IP Address: 
[2786] 192.168.100.9
[4410] Freeheap: 177596
[4414] mDNS responder started
[4417] webSocket_MQTT server started
[4417] ws://DAFE7962GYXI01DUHFFY724S.local:81

ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

MQTT控燈

官網(wǎng)找到按鈕示例?

?點燈科技 (diandeng.tech)

?添加一個按鈕控制GPIO輸出,實現(xiàn)開燈關燈


#define BLINKER_WIFI
//#define BLINKER_ESP_SMARTCONFIG

#define led 4

#include <Blinker.h>
#include "ESP32_CAM_SERVER.h"

// 新建組件對象
BlinkerButton Button1("led");

// 按下按鍵即會執(zhí)行該函數(shù)
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    digitalWrite(led, !digitalRead(led));
}

//blinker提供的密鑰,WiFi名密碼
char auth[] = "8578f8f1626f";
char ssid[] = "iQOO 5";
char pswd[] = "88888888";
//默認攝像頭不開啟
bool setup_camera = false;
//反饋設備狀態(tài)
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();//按下APP按鍵產(chǎn)生震動
    
    uint32_t BlinkerTime = millis();
    
    Blinker.print("millis", BlinkerTime);
}

void setup()
{
    Serial.begin(115200);//串口使得能
    BLINKER_DEBUG.stream(Serial);//blinker串口debug
    
    pinMode(led, OUTPUT);
    digitalWrite(led, LOW);
    
    Blinker.begin(auth,ssid,pswd);//通過WiFi賬號密碼連接平臺
    Blinker.attachData(dataRead);//反饋設備狀態(tài)
    Button1.attach(button1_callback);//關聯(lián)處理按鈕函數(shù)
}

添加按鈕和監(jiān)視器,按鈕內(nèi)容改為led與代碼一致?

?ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

MQTT控制舵機

一個最大值為180的滑塊。?

?ESP32-CAM ——Blinker平臺,ESP32 / ESP8266,單片機,物聯(lián)網(wǎng)

?完整代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-632173.html

#define BLINKER_WIFI
//#define BLINKER_ESP_SMARTCONFIG

#define led 4
#define ServoPin 12          //控制舵機

#include <Blinker.h>
#include "ESP32_CAM_SERVER.h"

// 新建組件對象
BlinkerButton Button1("led");
// 新建組件對象
BlinkerSlider Slider0("duoji");   //位置0-3 滑塊 數(shù)據(jù)鍵名  舵機范圍0-180

//舵機控制代碼
void Myservo(int angle)
{
  for (int i = 0; i < 5; i++) {
    int pulsewidth = (angle * 11) + 500;        //將角度轉(zhuǎn)化為500-2480的脈寬值
    digitalWrite(ServoPin, HIGH);               //將舵機接口電平至高
    delayMicroseconds(pulsewidth);              //延時脈寬值的微秒數(shù)
    digitalWrite(ServoPin, LOW);                //將舵機接口電平至低
    delayMicroseconds(20000 - pulsewidth);      //延時脈寬值的微秒數(shù)
  }
  delay(10);
}

//滑塊任務函數(shù)
void slider0_callback(int32_t value) //滑塊0
{
    int servo=value;
    Myservo(servo);//轉(zhuǎn)動角度}
}

// 按下按鍵即會執(zhí)行該函數(shù)
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    digitalWrite(led, !digitalRead(led));
}

//blinker提供的密鑰,WiFi名密碼
char auth[] = "8578f8f1626f";
char ssid[] = "iQOO 5";
char pswd[] = "88888888";
//默認攝像頭不開啟
bool setup_camera = false;
//反饋設備狀態(tài)
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();//按下APP按鍵產(chǎn)生震動
    
    uint32_t BlinkerTime = millis();
    
    Blinker.print("millis", BlinkerTime);
}


void setup()
{
    Serial.begin(115200);//串口使得能
    BLINKER_DEBUG.stream(Serial);//blinker串口debug
    
    pinMode(led, OUTPUT);
    digitalWrite(led, LOW);

    pinMode(ServoPin, OUTPUT);
    digitalWrite(ServoPin, LOW);

    Blinker.begin(auth,ssid,pswd);//通過WiFi賬號密碼連接平臺
    Blinker.attachData(dataRead);//反饋設備狀態(tài)
    Button1.attach(button1_callback);//關聯(lián)處理按鈕函數(shù)
    Slider0.attach(slider0_callback);//關聯(lián)滑動開關

}

void loop()
{
    Blinker.run();//blinker運行 包括連接blinker云 MQTT協(xié)議
    //判斷設備是否正常執(zhí)行 正常就輸入ip地址
    if (Blinker.connected() && !setup_camera)
    {
        setupCamera();
        setup_camera = true;

        Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}");
    }
}

到了這里,關于ESP32-CAM ——Blinker平臺的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 單片機設計_語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    單片機設計_語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    想要更多項目私wo!!! ????????離線語音識別識別垃圾種類并且垃圾桶自動翻蓋: 說出喚醒詞“垃圾桶”后,再說一句垃圾名稱,語音識別模塊端識別到相應,便會將結果通過串口發(fā)送到STM32端,STM32端接著會發(fā)送打開相應垃圾桶蓋的指令,6s后,垃圾桶蓋自動關閉。

    2024年02月06日
    瀏覽(26)
  • 畢業(yè)設計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    畢業(yè)設計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    離線語音識別識別垃圾種類并且垃圾桶自動翻蓋: 說出喚醒詞“垃圾桶”后,再說一句垃圾名稱,語音識別模塊端識別到相應,便會將結果通過串口發(fā)送到STM32端,STM32端接著會發(fā)送打開相應垃圾桶蓋的指令,6s后,垃圾桶蓋自動關閉。其中翻蓋功能是通過STM32端控制舵

    2024年04月26日
    瀏覽(93)
  • esp32單片機在arduino環(huán)境下,WIF聯(lián)網(wǎng)

    文章目錄 系列文章目錄 前言 一、WIFI是什么? 二、使用步驟 1.引入庫 2.讀入數(shù)據(jù) 總結 隨著人工智能的不斷發(fā)展,物聯(lián)網(wǎng)這門技術也越來越重要,很多人都開啟了物聯(lián)網(wǎng)學習,本文就介紹了物聯(lián)網(wǎng)WIFI模塊的基礎內(nèi)容。 WIFI在中文里又稱作\\\"行動熱點\\\",是 Wi-Fi聯(lián)盟 制造商的商標

    2024年02月15日
    瀏覽(24)
  • 物聯(lián)網(wǎng)項目分享 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    物聯(lián)網(wǎng)項目分享 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最

    2024年02月21日
    瀏覽(96)
  • 單片機設計_室內(nèi)環(huán)境智能監(jiān)測系統(tǒng)(STM32 OLED ESP8266 DHT11 MQ-2 加濕器)

    單片機設計_室內(nèi)環(huán)境智能監(jiān)測系統(tǒng)(STM32 OLED ESP8266 DHT11 MQ-2 加濕器)

    想要更多項目私wo!!! 室內(nèi)環(huán)境智能監(jiān)測系統(tǒng) 主要功能: ????????1.檢測空氣溫濕度 ????????2.檢測光照強度 ????????3.檢測煙霧濃度 ????????4.數(shù)據(jù)顯示在手機端和設備OLED屏幕上 ????????5.當空氣溫度高于設定的閾值時,風扇開啟 ????????6.當空氣濕度低于

    2024年02月09日
    瀏覽(34)
  • 51單片機ESP8266

    51單片機ESP8266

    安信可提供的燒錄WiFi固件工具: 鏈接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72 安信可提供的固件庫鏈接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB 經(jīng)過測試,選擇這個不可以,因為是4MB 的,上述用到的兩款 ESP8266 是 1MB(8Mbit)flash的模組,應該使用 手頭有

    2024年01月25日
    瀏覽(21)
  • 51單片機(ESP8266模塊)

    51單片機(ESP8266模塊)

    藍牙,ESP-01s,Zigbee, NB-Iot等通信模塊都是基于AT指令的設計 AT指令集是從終端設備(Terminal Equipment,TE)或數(shù)據(jù)終端設備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數(shù)據(jù)電路終端設備(Data Circuit Terminal Equipment,DCE)發(fā)送的。 其對所傳輸?shù)臄?shù)據(jù)包大小有定義:即對于

    2024年02月06日
    瀏覽(33)
  • 通信工程畢設 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    通信工程畢設 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最

    2024年02月19日
    瀏覽(100)
  • (pc端)/單片機連接ESP8266

    (pc端)/單片機連接ESP8266

    硬件:ESP8266模塊,USB轉(zhuǎn)TTL 連接方式 : esp8266的TX接轉(zhuǎn)串口的RX,RX接TX 安裝阿信可的esp8266調(diào)試工具 [ESP8266網(wǎng)絡調(diào)試工具]ESP8266網(wǎng)絡調(diào)試工具 提取碼:djsz AT指令集是從終端設備(Terminal Equipment,TE)或數(shù)據(jù)終端設備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數(shù)據(jù)電

    2024年02月09日
    瀏覽(20)
  • 基于51單片機的esp8266使用(Labview上位機)

    基于51單片機的esp8266使用(Labview上位機)

    說明:本人寫博客只是為了做筆記,參考了各位大佬的文章,參考的比較多,有一些并沒有貼出連接,請各位大佬見諒,真的沒有惡意,只是用來學習?。?這篇是自己根據(jù)各種方法自己總結并且親身試用可行性做出的筆記 1.ESP8266模塊 2.USB-TTL(下載器) VCC、GND對應連接,TX、

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包