API 天气预报查询等各种免费好用的API 推荐
325
2022-10-25
Linux开发_curl调用网络接口
【摘要】 介绍curl调用网络接口获取天气预报,查看摄像头设备接口,编译网页监控开源库,在网页上查看摄像头图像。
任务1:使用的网络服务器接口
C语言:面向过程 、 面向对象
1.车牌号识别
2.二维码生成
3.获取北京时间
1.调用网络的接口的方式: (天气预报)
注意: &是特殊的符号,需要使用单引号或者双引号括起来。
Curl: 命令行的浏览器。
2.调用二维码生成的接口
作业:
1.天气预报查询
查询的格式: ./app <城市的中文名称>
2.获取北京标准时间,显示出来
3.查询手机号码归属地
4.二维码生成创建 运行格式: ./app <生成的二维码内容>
生成之后直接显示在屏幕上。可以使用eog命令
5.车牌号的识别
(1)Eog命令图片浏览器
(2)闹钟信号一秒钟中断一次
(3)实时改变经纬度的参数
7.分析cjson源代码,参考cjson源码改进数据解析方式。
使用cjson提供的函数去解析天气预报、北京时间这些json格式的数据。
JSON语法规则:
1.大括号{}表示对象
2.双引号表示的字符串
3.冒号后面保存的是数据值,前面表示数据值的名称
4.中括号[]表示数组
5.数据之间使用逗号隔开
编译cjson库的方式: # gcc app.c cJSON.c -lm
Cjson分析
//核心结构体 typedef struct cJSON { struct cJSON *next,*prev; struct cJSON *child; int type; //保存的数据的类型 char *valuestring; //字符串类型的值 if type==cJSON_String int valueint; //int类型的值 if type==cJSON_Number double valuedouble;//浮点类型的值 char *string; //字符串类型 } cJSON; |
目前阶段和后面的学习阶段: 分析源码,看源码。
#define 预编译 typedef
1.获取QQ头像,QQ名称这些功能使用脚本去写代码。
2.获取百度地图的接口数据
3.获取全景地图
4.获取高清静态地图
5.出行线路规划
6.字符串与其他格式数据之间转换
示例1:
#include #include #include #include #include #include int main(int argc,char **argv) { char buff[100]; //整数转为字符串 sprintf(buff,"%d",12345); printf("buff=%s\n",buff); //浮点数转为字符串 sprintf(buff,"%f",12345.12345); printf("buff=%s\n",buff); //字符串拼接 sprintf(buff,"%s加%s","123","456"); printf("buff=%s\n",buff); return 0; } |
示例2:
#include #include #include #include #include #include int main(int argc,char **argv) { //字符串转整数 int data; sscanf("1234","%d",&data); printf("data=%d\n",data); //字符串转浮点数 float dataf; sscanf("116.403874,39.914888","%f",&dataf); printf("dataf=%f\n",dataf); return 0; } |
任务2:摄像头操作方式
v4l2 :免驱摄像头框架----一堆结构体。
2.底层硬件系统开发(驱动编程),直接控制摄像头采集数据。
摄像头功能:将采集到的图像数据转为二进制数据返回。
驱动的代码集成在操作系统里。
在操作系统里使用摄像头步骤:学习接口函数的调用。
Linux下是一切设备皆文件: 摄像头、网卡、声卡、鼠标、键盘………………….
Linux下设备文件存放的位置: /dev目录下。
在虚拟机跑Linux,使用外设设备都需要单独挂载才可以使用。
挂载摄像头:
查看摄像头的设备节点:
[root@wbyq /]# ls /dev/video* /dev/video0 /dev/video1 |
libjpeg-turbo-1.2.1.tar.gz : 将图片数据可以压缩成jpeg数据流。Jpg图片。
mjpg-streamer-r63.tar.gz : 采集摄像头的数据,进行处理。
一张240*320的24位色bmp图片大小: 240*320*3
作业:
1.将远程摄像头监控的代码编译运行实现效果。
(1)修改端口号。 8080不能作为公网的端口访问。
(2)修改线程数量。
(3)分析下线程的函数实现原理。
(4)使用花生壳软件实现公网监控
2.学习摄像头的使用
摄像头实现拍照源程序流程:(50%程序学过的)
1.打开摄像头的设备文件 open(“/dev/xxx”);
2.获取摄像头参数。判断摄像头是否支持一些特有的操作。read
3.配置摄像头的参数。(1) 输出的源数据格式RGB888 (2) 输出的图像尺寸
RGB888:数字数据格式
其他格式: YUV 模拟数据格式
4.判断摄像头的参数是否设置成功。
5.读取摄像头的数据。 队列的形式。
6.将读取的YUV格式数据转为RGB格式
7.将RGB格式数据编码为BMP格式的图片存放到电脑上
扩展练习:制作贪吃蛇游戏。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~