WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-定时拍照http post(form-data方式)上传到服务器,然后低功耗休眠(休眠时长由服务器控制)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

说明

在300章节是把普通数据放到了header里面, 然后图片放到了body里面;这种方式不是常用的方式,服务端开发人员可能不会接收数据;

这节是使用http的form_data的方式上传数据;

 

测试

1,此功能需要web服务器,然后服务器上是使用PHP接收的数据

把这个文件放到自己的web服务器上

Windows:(根据自己的服务器配置!!!!),我放到了网站根目录的PHP文件夹里面

 

Linux:(根据自己的服务器配置!!!!),我放到了网站根目录的PHP文件夹里面

 

 

 

2,用户把这节工程放到开发环境的下面的目录(和hello word同一级目录)

 

 

3,测试连接自己的服务器时替换为自己的服务器ip地址,  然后编译下载

 

 

4, 上传完成以后,服务器下发休眠多少时间(分钟), 休眠的时候板子上的指示灯就灭了

 

服务器上可以看到上报的照片

 

还生成了一个txt文件,当前电压,信号强度

 

 

设备端程序说明

1,摄像头采集和发送图片

 

 

 

 

 

 

 

 

2,在http接收函数里面解析数据,并休眠

 

 

 

3,服务器程序上设置的是返回两个时间

sleep_time是拍照发送完成以后休眠的时间;

err_time 是执行失败以后休眠的时间

 

4,用户可以键盘按下 ctrl+F  来搜索下 err_time ,可以看到哪些地方设置了执行失败休眠

 

5,关于form-data使用

 

6,移植使用之前看一下audio_camera.h里面的版本

这边尽量做到版本向下兼容; 如果有不兼容的地方会在文档中说明

7,移植使用(如果想把http的form-data这个功能使用在自己的工程里面)

把例程文件夹里面的 libaudio_camera.a    文件拷贝到自己的工程(替换掉原先的)

 

把例程文件夹里面的 audio_camera.h    文件拷贝到自己的工程(替换掉原先的)

 

然后清理编译以后就可以使用了

 

服务器端PHP文件说明

复制代码
<?php



$client_id = $_POST['client_id'];//获取设备上传的client_id
$time = $_POST['time'];//获取设备上传的时间
$vbat = $_POST['vbat'];//获取设备上传的电池电压
$rssi = $_POST['rssi'];//获取设备上传的信号强度


/*使用设备上传的client_id创建一个文件夹*/
$path = "./audio_camera/".$client_id;
if( is_dir($path) === false )
{
    mkdir($path,0777);
}


// $imgname = $_FILES['files']['name'];
//上传的文件临时存储的位置
$tmp = $_FILES['files']['tmp_name'];
// $error = $_FILES['files']['error'];


//把临时文件存储到 $path 文件夹($path 就是上面以设备的上传的client_id创建的文件夹)
//文件的名字为:$time.".jpg"  (上传的时间.jpg)
move_uploaded_file($tmp, $path."/".$time.".jpg");



$filename = $path."/"."info.txt"; // 设置要创建的txt文件名为"new.txt"
$content = "电压=".$vbat.";信号强度=".$rssi; // 设置要写入的内容


// 将内容写入txt文件
if (file_put_contents($filename, $content) !== false) {
    // echo "成功创建并写入了txt文件!";
} else {
    // echo "无法创建或写入txt文件。";
}


$ret = array('code'=>'OK','imei'=>$client_id,'time'=>$time,'vbat'=>$vbat,'rssi'=>$rssi,'sleep_time'=>60,'err_time'=>30);//组合成key-value形式的数组
    
echo json_encode($ret);//把数组转为json格式

?>
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

posted on   广源时代  阅读(37)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示