Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
0x6b、0x87、0x37、0x58、0x0d、0x54、0x38、0xd6、0xa8、0xcd、0xd7、0x1e、0xab、0xd9、0xc8、0xc3、0xad、0xe7、0x66、0x23、0xcc、0x34、0x5e、0x75、0x31、0xe5、0xcd、0x68、0x66、0x32、0xcd、0x4b、0x8b、0xa3、0xbc、0x92、0xfe、0x8a、0x8a、0x8a、0x67、0x61、0x83、0xd9、0x75、0x5e、0x75、0xcd、0x68、0x68、0x66、0x65、0x72、0x75、0x56、0x6e,0x48、0xce、0xf1、0x02、0xec、0x1b、0x01、0x6e、0x78、0xbb、0xfe、0x95、0x0d、0x9f、0xf7、0x12、0xf0、0xdc、0x37、0x1c、0xcf、0xc9、0xb0、0x35、0x8d、0x9b、0x14、0x93、0xf9、0x1c、0xc9、0xa2、0x82、0x53、0xb7、0x29、0x82、0x95、0x89、0x0d、0x48、0x36、0x74、0x44、0x7f、0x7f、0x3a、0x56、0x56、0xD6,0x03、0x14、0x3b、0x8d、0xd1、0x08、0x13、0xc0、0x1d、0x84、0x5a、0xfa、0x0b、0x08、0xa1、0xc8、0x1d、0x68、0xbc、0x95、0x79、0xb5、0xcd、0x21、0x62、0x2c、0x79、0xe0、0xb0、0x3a、0x84、0xba、0x6e、0x59、0x07、0xb7、0x67、0xf6、0xf1、0xee、0xaf、0x3f、0x7e、0x7f、0x87、0xe1、0x85、0x25、0xc5、0x25、0xE、,0x18、0x18、0xb9、0x18、0xb9、0x1d、0x18、0x18、0x18、0x18、0x18、0x19、0x18、0x18、0x6、0x6、0x6、0x18、0xcf、0xb9、0xb9、0x18、0xb9、0x18、0x18、0x6、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x6、0x24、0x24、0x24、0x24、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4C4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x6、0x6、0x6、0x6、0x6、0x6、0x6、0x7、0x7、0x7、0x7、0x7、0x76、0x76、0x76、0x76、76、0x76、76、76、76、76 A8,0x50、0x50、0xa9、0xa9、0xa9、0xAA9、0xa9、0x20、0x50、0xa9、0x2b、0x22B、0x50、0x2b、0x50 50、0xa7、0xAA7、0xd8、0xd8、0x72、0x72、0x72、0x72、0x6 6 6、0x6 6 6、0x6 6、0x81、0x81、0x81、0xC、0xC、0xc9、0x9、0x9、0x9、0x9、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x8、0x8、0x8、8、0x2C2C2C2C2C8、8、0x5、0xd8、0x5、0xd8、0xd8、0xd8、0xd8、0xd4、0xd8、0xd4、0xd4、0xd4、0xd4、0xd4、0xd4、0x63,0x8a、0xa6、0x69、0x70、0x58、0x93、0x04、0x72、0x86、0x2d、0xc4、0x17、0x9e、0x48、0xad、0x58、0x69、0x0d、0x00、0x00 }; #定义PWDN\u GPIO\u NUM 32 #定义RESET\u GPIO\u NUM-1 #定义XCLK\u GPIO\u NUM 0 #定义SIOD_GPIO_NUM 26 #定义SIOC_GPIO_数量27 #定义Y9_GPIO_数量35 #定义Y8_GPIO_数量34 #定义Y7_GPIO_数量39 #定义Y6_GPIO_数量36 #定义Y5_GPIO_NUM 21 #定义Y4_GPIO_数量19 #定义Y3_GPIO_数量18 #定义Y2\u GPIO\u数量5 #定义VSYNC\u GPIO\u NUM 25 #定义HREF\u GPIO\u NUM 23 #定义PCLK\U GPIO\U编号22 摄像头_fb_t*fb=NULL; 使用命名空间WebSocket; WebsocketsServer WSserver; 异步Web服务器Web服务器(80); 无效设置(){ WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG,0);//禁用断电检测器 序列号开始(115200); //Ai思考者:插脚2和4 ledcSetup(2,50,16);//通道,频率,分辨率 ledcatachpin(2,2);//pin,通道 引脚模式(led,输出);//引脚4 led 摄像机配置; config.ledc_channel=ledc_channel_0; config.ledc_timer=ledc_timer_0; config.pin\u d0=Y2\u GPIO\u NUM; config.pin_d1=Y3_GPIO_NUM; config.pin_d2=Y4_GPIO_NUM; config.pin_d3=Y5_GPIO_NUM; config.pin_d4=Y6_GPIO_NUM; config.pin_d5=Y7_GPIO_NUM; config.pin_d6=Y8_GPIO_NUM; config.pin_d7=Y9_GPIO_NUM; config.pin\u xclk=xclk\u GPIO\u NUM; config.pin\u pclk=pclk\u GPIO\u NUM; config.pin\u vsync=vsync\u GPIO\u NUM; config.pin_href=href_GPIO_NUM; config.pin_sscb_sda=SIOD_GPIO_NUM; config.pin_sscb_scl=SIOC_GPIO_NUM; config.pin\u pwdn=pwdn\u GPIO\u NUM; config.pin\u reset=reset\u GPIO\u NUM; config.xclk_freq_hz=20000000; config.pixel_format=PIXFORMAT_JPEG; //使用高规格的init预分配更大的缓冲区 config.frame\u size=FRAMESIZE\u SXGA; config.jpeg_quality=10; config.fb_count=2; //照相机初始化 esp_err_t err=esp_camera_init(&config); 如果(错误!=ESP_正常){ Serial.printf(“摄影机初始化失败,错误0x%x”,错误); 返回; } sensor_t*s=esp_camera_sensor_get(); s->set_framesize(s,framesize_SVGA); wifiMulti.addAP(“ssid_from_AP_1”,“您的密码_for_AP_1”); wifiMulti.addAP(“ssid_from_AP_2”,“您的密码_for_AP_2”); wifiMulti.addAP(“ssid_from_AP_3”,“您的密码_for_AP_3”); Serial.println(“连接Wifi…”); 如果(wifiMulti.run()==WL_已连接){ Serial.println(“”); Serial.println(“WiFi连接”); 串行打印(“IP地址:”); Serial.println(WiFi.localIP()); 序列号。打印(“SSID:”); Serial.println(WiFi.SSID()); } webserver.on(“/”,HTTP_GET,[](AsyncWebServerRequest*request){ AsyncWebServerResponse*response=request->beginResponse\u P(200,“text/html”,index\u html\u gz,sizeof(index\u html\u gz)); 响应->添加标题(“内容编码”、“gzip”); 请求->发送(响应); }); begin(); WSserver.listen(82); Serial.print(“WSserver-alive!”); Serial.println(WSserver.available()); } int main(){ while(WSserver.available()){ //接受另一个客户 WebsocketsClient=WSserver.accept(); //等待客户端的消息并发送回显响应 自动消息=client.readBlocking(); send(“Echo:+message.data()); Serial.println(message.data()); //关闭连接 client.close(); } } 无效句柄_消息(WebsocketsMessage消息){ Serial.println(msg.data()); //Serial.println(tiltValue); 如果(msg.data()=“Aus”){ 数字写入(4,低); } 否则{ 数字写入(4,高); } } void循环(){ 如果(wifiMulti.run()!=WL_已连接){ Serial.println(“WiFi未连接!”); 延迟(500); WiFi.disconnect(); Serial.println(“\nReboot”); 特别是重新启动(); } 自动客户端=WSserver.accept(); onMessage(处理消息); while(client.available()){ client.poll(); fb=esp_摄像头_fb_get(); client.sendBinary((const char*)fb->buf,fb->len); esp_摄像头_fb_返回(fb); fb=零; } }_Websocket_Arduino_Wifi - Fatal编程技术网

0x6b、0x87、0x37、0x58、0x0d、0x54、0x38、0xd6、0xa8、0xcd、0xd7、0x1e、0xab、0xd9、0xc8、0xc3、0xad、0xe7、0x66、0x23、0xcc、0x34、0x5e、0x75、0x31、0xe5、0xcd、0x68、0x66、0x32、0xcd、0x4b、0x8b、0xa3、0xbc、0x92、0xfe、0x8a、0x8a、0x8a、0x67、0x61、0x83、0xd9、0x75、0x5e、0x75、0xcd、0x68、0x68、0x66、0x65、0x72、0x75、0x56、0x6e,0x48、0xce、0xf1、0x02、0xec、0x1b、0x01、0x6e、0x78、0xbb、0xfe、0x95、0x0d、0x9f、0xf7、0x12、0xf0、0xdc、0x37、0x1c、0xcf、0xc9、0xb0、0x35、0x8d、0x9b、0x14、0x93、0xf9、0x1c、0xc9、0xa2、0x82、0x53、0xb7、0x29、0x82、0x95、0x89、0x0d、0x48、0x36、0x74、0x44、0x7f、0x7f、0x3a、0x56、0x56、0xD6,0x03、0x14、0x3b、0x8d、0xd1、0x08、0x13、0xc0、0x1d、0x84、0x5a、0xfa、0x0b、0x08、0xa1、0xc8、0x1d、0x68、0xbc、0x95、0x79、0xb5、0xcd、0x21、0x62、0x2c、0x79、0xe0、0xb0、0x3a、0x84、0xba、0x6e、0x59、0x07、0xb7、0x67、0xf6、0xf1、0xee、0xaf、0x3f、0x7e、0x7f、0x87、0xe1、0x85、0x25、0xc5、0x25、0xE、,0x18、0x18、0xb9、0x18、0xb9、0x1d、0x18、0x18、0x18、0x18、0x18、0x19、0x18、0x18、0x6、0x6、0x6、0x18、0xcf、0xb9、0xb9、0x18、0xb9、0x18、0x18、0x6、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x6、0x24、0x24、0x24、0x24、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4C4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x6、0x6、0x6、0x6、0x6、0x6、0x6、0x7、0x7、0x7、0x7、0x7、0x76、0x76、0x76、0x76、76、0x76、76、76、76、76 A8,0x50、0x50、0xa9、0xa9、0xa9、0xAA9、0xa9、0x20、0x50、0xa9、0x2b、0x22B、0x50、0x2b、0x50 50、0xa7、0xAA7、0xd8、0xd8、0x72、0x72、0x72、0x72、0x6 6 6、0x6 6 6、0x6 6、0x81、0x81、0x81、0xC、0xC、0xc9、0x9、0x9、0x9、0x9、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x8、0x8、0x8、8、0x2C2C2C2C2C8、8、0x5、0xd8、0x5、0xd8、0xd8、0xd8、0xd8、0xd4、0xd8、0xd4、0xd4、0xd4、0xd4、0xd4、0xd4、0x63,0x8a、0xa6、0x69、0x70、0x58、0x93、0x04、0x72、0x86、0x2d、0xc4、0x17、0x9e、0x48、0xad、0x58、0x69、0x0d、0x00、0x00 }; #定义PWDN\u GPIO\u NUM 32 #定义RESET\u GPIO\u NUM-1 #定义XCLK\u GPIO\u NUM 0 #定义SIOD_GPIO_NUM 26 #定义SIOC_GPIO_数量27 #定义Y9_GPIO_数量35 #定义Y8_GPIO_数量34 #定义Y7_GPIO_数量39 #定义Y6_GPIO_数量36 #定义Y5_GPIO_NUM 21 #定义Y4_GPIO_数量19 #定义Y3_GPIO_数量18 #定义Y2\u GPIO\u数量5 #定义VSYNC\u GPIO\u NUM 25 #定义HREF\u GPIO\u NUM 23 #定义PCLK\U GPIO\U编号22 摄像头_fb_t*fb=NULL; 使用命名空间WebSocket; WebsocketsServer WSserver; 异步Web服务器Web服务器(80); 无效设置(){ WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG,0);//禁用断电检测器 序列号开始(115200); //Ai思考者:插脚2和4 ledcSetup(2,50,16);//通道,频率,分辨率 ledcatachpin(2,2);//pin,通道 引脚模式(led,输出);//引脚4 led 摄像机配置; config.ledc_channel=ledc_channel_0; config.ledc_timer=ledc_timer_0; config.pin\u d0=Y2\u GPIO\u NUM; config.pin_d1=Y3_GPIO_NUM; config.pin_d2=Y4_GPIO_NUM; config.pin_d3=Y5_GPIO_NUM; config.pin_d4=Y6_GPIO_NUM; config.pin_d5=Y7_GPIO_NUM; config.pin_d6=Y8_GPIO_NUM; config.pin_d7=Y9_GPIO_NUM; config.pin\u xclk=xclk\u GPIO\u NUM; config.pin\u pclk=pclk\u GPIO\u NUM; config.pin\u vsync=vsync\u GPIO\u NUM; config.pin_href=href_GPIO_NUM; config.pin_sscb_sda=SIOD_GPIO_NUM; config.pin_sscb_scl=SIOC_GPIO_NUM; config.pin\u pwdn=pwdn\u GPIO\u NUM; config.pin\u reset=reset\u GPIO\u NUM; config.xclk_freq_hz=20000000; config.pixel_format=PIXFORMAT_JPEG; //使用高规格的init预分配更大的缓冲区 config.frame\u size=FRAMESIZE\u SXGA; config.jpeg_quality=10; config.fb_count=2; //照相机初始化 esp_err_t err=esp_camera_init(&config); 如果(错误!=ESP_正常){ Serial.printf(“摄影机初始化失败,错误0x%x”,错误); 返回; } sensor_t*s=esp_camera_sensor_get(); s->set_framesize(s,framesize_SVGA); wifiMulti.addAP(“ssid_from_AP_1”,“您的密码_for_AP_1”); wifiMulti.addAP(“ssid_from_AP_2”,“您的密码_for_AP_2”); wifiMulti.addAP(“ssid_from_AP_3”,“您的密码_for_AP_3”); Serial.println(“连接Wifi…”); 如果(wifiMulti.run()==WL_已连接){ Serial.println(“”); Serial.println(“WiFi连接”); 串行打印(“IP地址:”); Serial.println(WiFi.localIP()); 序列号。打印(“SSID:”); Serial.println(WiFi.SSID()); } webserver.on(“/”,HTTP_GET,[](AsyncWebServerRequest*request){ AsyncWebServerResponse*response=request->beginResponse\u P(200,“text/html”,index\u html\u gz,sizeof(index\u html\u gz)); 响应->添加标题(“内容编码”、“gzip”); 请求->发送(响应); }); begin(); WSserver.listen(82); Serial.print(“WSserver-alive!”); Serial.println(WSserver.available()); } int main(){ while(WSserver.available()){ //接受另一个客户 WebsocketsClient=WSserver.accept(); //等待客户端的消息并发送回显响应 自动消息=client.readBlocking(); send(“Echo:+message.data()); Serial.println(message.data()); //关闭连接 client.close(); } } 无效句柄_消息(WebsocketsMessage消息){ Serial.println(msg.data()); //Serial.println(tiltValue); 如果(msg.data()=“Aus”){ 数字写入(4,低); } 否则{ 数字写入(4,高); } } void循环(){ 如果(wifiMulti.run()!=WL_已连接){ Serial.println(“WiFi未连接!”); 延迟(500); WiFi.disconnect(); Serial.println(“\nReboot”); 特别是重新启动(); } 自动客户端=WSserver.accept(); onMessage(处理消息); while(client.available()){ client.poll(); fb=esp_摄像头_fb_get(); client.sendBinary((const char*)fb->buf,fb->len); esp_摄像头_fb_返回(fb); fb=零; } }

0x6b、0x87、0x37、0x58、0x0d、0x54、0x38、0xd6、0xa8、0xcd、0xd7、0x1e、0xab、0xd9、0xc8、0xc3、0xad、0xe7、0x66、0x23、0xcc、0x34、0x5e、0x75、0x31、0xe5、0xcd、0x68、0x66、0x32、0xcd、0x4b、0x8b、0xa3、0xbc、0x92、0xfe、0x8a、0x8a、0x8a、0x67、0x61、0x83、0xd9、0x75、0x5e、0x75、0xcd、0x68、0x68、0x66、0x65、0x72、0x75、0x56、0x6e,0x48、0xce、0xf1、0x02、0xec、0x1b、0x01、0x6e、0x78、0xbb、0xfe、0x95、0x0d、0x9f、0xf7、0x12、0xf0、0xdc、0x37、0x1c、0xcf、0xc9、0xb0、0x35、0x8d、0x9b、0x14、0x93、0xf9、0x1c、0xc9、0xa2、0x82、0x53、0xb7、0x29、0x82、0x95、0x89、0x0d、0x48、0x36、0x74、0x44、0x7f、0x7f、0x3a、0x56、0x56、0xD6,0x03、0x14、0x3b、0x8d、0xd1、0x08、0x13、0xc0、0x1d、0x84、0x5a、0xfa、0x0b、0x08、0xa1、0xc8、0x1d、0x68、0xbc、0x95、0x79、0xb5、0xcd、0x21、0x62、0x2c、0x79、0xe0、0xb0、0x3a、0x84、0xba、0x6e、0x59、0x07、0xb7、0x67、0xf6、0xf1、0xee、0xaf、0x3f、0x7e、0x7f、0x87、0xe1、0x85、0x25、0xc5、0x25、0xE、,0x18、0x18、0xb9、0x18、0xb9、0x1d、0x18、0x18、0x18、0x18、0x18、0x19、0x18、0x18、0x6、0x6、0x6、0x18、0xcf、0xb9、0xb9、0x18、0xb9、0x18、0x18、0x6、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x4、0x6、0x6、0x6、0x6、0x24、0x24、0x24、0x24、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x4C4、0x4、0x4、0x4、0x4、0x4、0x4、0x4、0x6、0x6、0x6、0x6、0x6、0x6、0x6、0x7、0x7、0x7、0x7、0x7、0x76、0x76、0x76、0x76、76、0x76、76、76、76、76 A8,0x50、0x50、0xa9、0xa9、0xa9、0xAA9、0xa9、0x20、0x50、0xa9、0x2b、0x22B、0x50、0x2b、0x50 50、0xa7、0xAA7、0xd8、0xd8、0x72、0x72、0x72、0x72、0x6 6 6、0x6 6 6、0x6 6、0x81、0x81、0x81、0xC、0xC、0xc9、0x9、0x9、0x9、0x9、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x50、0x8、0x8、0x8、8、0x2C2C2C2C2C8、8、0x5、0xd8、0x5、0xd8、0xd8、0xd8、0xd8、0xd4、0xd8、0xd4、0xd4、0xd4、0xd4、0xd4、0xd4、0x63,0x8a、0xa6、0x69、0x70、0x58、0x93、0x04、0x72、0x86、0x2d、0xc4、0x17、0x9e、0x48、0xad、0x58、0x69、0x0d、0x00、0x00 }; #定义PWDN\u GPIO\u NUM 32 #定义RESET\u GPIO\u NUM-1 #定义XCLK\u GPIO\u NUM 0 #定义SIOD_GPIO_NUM 26 #定义SIOC_GPIO_数量27 #定义Y9_GPIO_数量35 #定义Y8_GPIO_数量34 #定义Y7_GPIO_数量39 #定义Y6_GPIO_数量36 #定义Y5_GPIO_NUM 21 #定义Y4_GPIO_数量19 #定义Y3_GPIO_数量18 #定义Y2\u GPIO\u数量5 #定义VSYNC\u GPIO\u NUM 25 #定义HREF\u GPIO\u NUM 23 #定义PCLK\U GPIO\U编号22 摄像头_fb_t*fb=NULL; 使用命名空间WebSocket; WebsocketsServer WSserver; 异步Web服务器Web服务器(80); 无效设置(){ WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG,0);//禁用断电检测器 序列号开始(115200); //Ai思考者:插脚2和4 ledcSetup(2,50,16);//通道,频率,分辨率 ledcatachpin(2,2);//pin,通道 引脚模式(led,输出);//引脚4 led 摄像机配置; config.ledc_channel=ledc_channel_0; config.ledc_timer=ledc_timer_0; config.pin\u d0=Y2\u GPIO\u NUM; config.pin_d1=Y3_GPIO_NUM; config.pin_d2=Y4_GPIO_NUM; config.pin_d3=Y5_GPIO_NUM; config.pin_d4=Y6_GPIO_NUM; config.pin_d5=Y7_GPIO_NUM; config.pin_d6=Y8_GPIO_NUM; config.pin_d7=Y9_GPIO_NUM; config.pin\u xclk=xclk\u GPIO\u NUM; config.pin\u pclk=pclk\u GPIO\u NUM; config.pin\u vsync=vsync\u GPIO\u NUM; config.pin_href=href_GPIO_NUM; config.pin_sscb_sda=SIOD_GPIO_NUM; config.pin_sscb_scl=SIOC_GPIO_NUM; config.pin\u pwdn=pwdn\u GPIO\u NUM; config.pin\u reset=reset\u GPIO\u NUM; config.xclk_freq_hz=20000000; config.pixel_format=PIXFORMAT_JPEG; //使用高规格的init预分配更大的缓冲区 config.frame\u size=FRAMESIZE\u SXGA; config.jpeg_quality=10; config.fb_count=2; //照相机初始化 esp_err_t err=esp_camera_init(&config); 如果(错误!=ESP_正常){ Serial.printf(“摄影机初始化失败,错误0x%x”,错误); 返回; } sensor_t*s=esp_camera_sensor_get(); s->set_framesize(s,framesize_SVGA); wifiMulti.addAP(“ssid_from_AP_1”,“您的密码_for_AP_1”); wifiMulti.addAP(“ssid_from_AP_2”,“您的密码_for_AP_2”); wifiMulti.addAP(“ssid_from_AP_3”,“您的密码_for_AP_3”); Serial.println(“连接Wifi…”); 如果(wifiMulti.run()==WL_已连接){ Serial.println(“”); Serial.println(“WiFi连接”); 串行打印(“IP地址:”); Serial.println(WiFi.localIP()); 序列号。打印(“SSID:”); Serial.println(WiFi.SSID()); } webserver.on(“/”,HTTP_GET,[](AsyncWebServerRequest*request){ AsyncWebServerResponse*response=request->beginResponse\u P(200,“text/html”,index\u html\u gz,sizeof(index\u html\u gz)); 响应->添加标题(“内容编码”、“gzip”); 请求->发送(响应); }); begin(); WSserver.listen(82); Serial.print(“WSserver-alive!”); Serial.println(WSserver.available()); } int main(){ while(WSserver.available()){ //接受另一个客户 WebsocketsClient=WSserver.accept(); //等待客户端的消息并发送回显响应 自动消息=client.readBlocking(); send(“Echo:+message.data()); Serial.println(message.data()); //关闭连接 client.close(); } } 无效句柄_消息(WebsocketsMessage消息){ Serial.println(msg.data()); //Serial.println(tiltValue); 如果(msg.data()=“Aus”){ 数字写入(4,低); } 否则{ 数字写入(4,高); } } void循环(){ 如果(wifiMulti.run()!=WL_已连接){ Serial.println(“WiFi未连接!”); 延迟(500); WiFi.disconnect(); Serial.println(“\nReboot”); 特别是重新启动(); } 自动客户端=WSserver.accept(); onMessage(处理消息); while(client.available()){ client.poll(); fb=esp_摄像头_fb_get(); client.sendBinary((const char*)fb->buf,fb->len); esp_摄像头_fb_返回(fb); fb=零; } },websocket,arduino,wifi,Websocket,Arduino,Wifi,似乎不适合提出这样的问题。经过一些尝试和错误,我让它运行。void循环中调用的两个函数完成了这项工作 void camera() { if (WSserver.poll()) { auto client = WSserver.accept(); if (client.available()) { client.onMessage(handle_message); wh

似乎不适合提出这样的问题。经过一些尝试和错误,我让它运行。void循环中调用的两个函数完成了这项工作

        void camera() {

      if (WSserver.poll())
      {
      auto client = WSserver.accept();
        if (client.available()) 
        {
          client.onMessage(handle_message);
           while(client.available())
           {
        client.poll();
        fb = esp_camera_fb_get();
        client.sendBinary((const char *)fb->buf, fb->len);
        esp_camera_fb_return(fb);
        fb = NULL;
      }
    }  
    }
    }
    void wifireconnect() {

      if (wifiMulti.run() != WL_CONNECTED) {
        Serial.println("WiFi not connected!");
        delay(500);
        WiFi.disconnect();
        Serial.println("\nReboot");
        ESP.restart();
      }
    }
      
    void loop() {

    camera();

    wifireconnect();
      }
        void camera() {

      if (WSserver.poll())
      {
      auto client = WSserver.accept();
        if (client.available()) 
        {
          client.onMessage(handle_message);
           while(client.available())
           {
        client.poll();
        fb = esp_camera_fb_get();
        client.sendBinary((const char *)fb->buf, fb->len);
        esp_camera_fb_return(fb);
        fb = NULL;
      }
    }  
    }
    }
    void wifireconnect() {

      if (wifiMulti.run() != WL_CONNECTED) {
        Serial.println("WiFi not connected!");
        delay(500);
        WiFi.disconnect();
        Serial.println("\nReboot");
        ESP.restart();
      }
    }
      
    void loop() {

    camera();

    wifireconnect();
      }