- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 树莓派开发(9)——Makefile编译工程文件开发
Makefile是什么?make工具和Makefilemake和Makefile是什么关系?make工具:找出修改过的文件,根据依赖关系,找出受影响的相关文件,最后按照规则单独编译这些文件。Makefile文件:记录依赖关系和编译规则。怎么学习Makefile?Makefile的本质:无论多么复杂的语法,都是为了更好地解决项目文件之间的依赖关系。
2023-05-31 19:52:24
538
1
原创 树莓派开发(8)——Shell脚本编程
Shell脚本是什么?shell命令按一定语法组成的文件Shell脚本有什么用?批处理文件/整合命令软件启动性能监控日志分析Shell命令的本质内置命令/外部命令Shell脚本语言和C语言一样吗?C:编译型语言Shell:解释型语言常用的Shell解释器有哪些?Shell启动方式当程序执行指定解释器运行source和.
2023-05-30 19:46:04
465
原创 智能家居(13)——智能家居控制系统
灯光的控制:模拟客厅灯、餐厅灯、二楼灯、卫生间灯。灯光可以通过手机App、语音、控制开关。家内发生火灾后报警功能。温湿度检测通过服务器上传到手机App。摄像头安全监控,将视频上传到手机App,并通过摄像头实现人脸识别智能开锁。
2023-05-12 20:53:08
1487
原创 安卓开发(10)——智能家居APP设计
智能家居APP设计一、设计思路一、设计思路第一个为欢迎页面主要实现功能是页面右上角3秒倒计时,完成后自动跳转到第二个页面。在主函数中创建用于计时的线程,每过一秒通过handler机制给主线程发送消息,主线程中通过handler机制更改右上角的计时显示,3秒结束后跳转到第二个页面。源码package com.example.jiangyo.learn;import android.app.Activity;import android.content.Intent;import and
2023-05-12 20:00:54
909
原创 安卓开发(9)——安卓webView
Android WebView在Android平台上是一个特殊的View,它能用来显示网页,这个WebView类可以被用来在app中仅仅显示一张在线的网页,当然还可以用来开发浏览器。WebView内部实现是采用渲染引擎(WebKit)来展示view的内容,提供网页前进后退、网页放大、缩小、搜索等功能。WebView是一个基于WebKit引擎、展现Web页面的控件,Android的WebView在低版本和高版本采用了不同的WebKit版本内核。
2023-05-10 19:53:26
521
原创 安卓APP(5)——安卓按键响应四种方式
绑定 局部变量button和xml中的button, findViewByIdbtn1 =(Button) findViewById(R . id . button1);实现接口类,在类中实现onclicked方法,写业务代码class MyClieckHandler implements View . OnClickListener {case R . id . button1 : System . out . println("按键1");break;
2023-05-08 20:27:39
337
原创 安卓开发(4)——安卓布局控件
当我们给一个view设置了android:layout_weight属性,意味着赋予它话语权,常规思维就是谁的weight大,谁说了算(空间占比大)。res->drawable-mdpi->右键-> Android->Android XML File->起个名称xxx.xml。既然是线性排列,肯定就不仅只有一个方向,这里一般只有两个方向:水平方向和垂直方向。LinearLayout又称作线性布局,是一种非常常用的布局。这个布局会将它所包含的控件在线性方向上依次排列。TextView:文本框。
2023-05-06 18:13:14
716
原创 安卓开发(3)——安卓App启动过程
安卓App启动过程Laucher->mainifirst->lauch标签的activity被加载->oncreat被调用->java关联xml布局页面->显示->等待用户触摸等操作。
2023-05-06 10:21:48
47
原创 安卓开发(2)——安卓结构工程介绍
存放Java代码,有包名,有文件。自动生成文件,R.java最重要,程序页面、按键、文本等空间的ID。存放安卓的库,蓝牙、安卓数据库、安卓定位。存放一些资源,配置文件,比如运行过程中需要的图片。编译后会生成的文件,比如***.apk文件。依赖库res存放的app程序需要用到的图片,根据分辨率分组。存放布局文件的文件夹。一般一个(activity)安卓页面对应一个布局。存放一些参数,或者自定义控件的文件。App的配置,比如网络访问权限、名片访问权限、相机访问权限等。目标机器的SDK版本。
2023-05-06 09:50:18
65
原创 安卓开发(1)——安卓工程构建和App运行
安卓工程构建和App运行在环境变量中的系统变量中的Path编辑添加路径:E:\JavaSE\adt-bundle-windows-x86_64-20131030\sdk\platform-tools\安装夜神模拟器adb kill-serveradb start-serveradb connect 127.0.0.1:62001在eclipse中运行安卓工程。
2023-05-05 22:13:11
74
原创 JavaSE开发(1)——概述
概述一、为什么学习JavaSE二、系统UI实现方法三、环境搭建四、JavaEE、SE、ME的区别五、JDK、JRE、JVM概念一、为什么学习JavaSE为了安卓开发。二、系统UI实现方法裸机:纯C语言手写像素点,不调库。速度快,但是麻烦。OS:Linux:C语言开发图形库:gtk、miniguiC++:QT三、环境搭建解压:adt-bundle-windows-x86_64-20131030.rar发送到桌面快捷方式:E:\JavaSE\adt-bundle-wi
2023-05-03 12:26:10
88
原创 智能家居(12)——树莓派USB摄像头捕捉人脸并识别
由于翔云人脸识别次数有限,无法通过每个一段时间拍一次照片,而是采用语音控制开启摄像头线程。fswebcam -S 10 image.jpg: -S 参数来跳过前面几帧解决。在语音识别线程中,根据识别到“请进行人脸识别”语句后,创建摄像头线程。-r 指定图片的分辨率,最后的是照片保存的路径。拍照、并将照片通过翔云平台进行比对。
2023-05-03 11:08:05
519
原创 Linux系统编程(4)——多线程编程
进程与线程一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
2023-05-02 21:07:07
95
原创 Linux系统编程(3)——进程间通信
进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性,一般,对于单个程序而言使用所有的IPC方法是不常见的。
2023-05-02 20:12:48
75
原创 Linux系统编程(2)——进程编程
我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。exec函数族的函数执行成功后不会返回,调用失败时,会设置errno并返回-1,然后从原程序的调用点接着往下执行。父进程如果不等待子进程退出,在子进程之前就结束了自己的“生命”,此时子进程叫做孤儿进程。Linux避免系统存在过多孤儿进程,init进程收留孤儿进程,变成孤儿进程的父进程。应先构造一个指向各参数的指针数组,然后将该数组的地址作为这些函数的参数。
2023-05-02 14:55:18
58
原创 全志H616开发(4)——嵌入式数据库
轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂。SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库,这意味着数据库引擎作为应用程序的一部分运行。MySQL需要运行服务器,MySQL将需要客户端和服务器架构通过网络进行交互。基于嵌入式的数据库主要有:SQLite,Firebird,Berkeley DB,eXtremeDBFirebird 是关系型数据库,功能强大,支持存储过程,SQL兼容等。
2023-05-01 06:03:51
165
原创 全志H616开发(3)——基于官方外设开发(4)
这里可以看到当第一次USB数据线插入到香橙派上时,输入adb devices指令,会报错。原因是当前没有该USB的设备文件,于是通过配置udev的配置文件,能够支持USB设备,当再次插入时,udev守护进程就会自动通过自己的配置文件识别当下的USB设备名,并在/dev下生成设备文件。
2023-05-01 06:03:25
265
原创 全志H616开发(3)——基于官方外设开发(1)
vim的设置,修改/etc/vim/vimrc文件,需要用超级用户权限。shell脚本处理参数,可以通过$?来处理,这里的$1是要编译的文件。蜂鸣器响的原理:基本IO口的应用。蜂鸣器配合时间函数开发。shell脚本小插曲。
2023-04-30 18:11:09
288
原创 全志H616开发(2)——刷机和系统启动
就像买了电脑,出厂带有windows操作系统,才算是正在的电脑,开发板需要烧写对应的系统固件,才能正常发挥作用。
2023-04-30 17:53:03
1229
原创 全志H616开发(1)——平台介绍
平台介绍一、特性CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0运行内存 1GBDDR3(与GPU共享)存储 TF卡插槽_课程配套硬件16G,测试128G可支持、2MBSPIFlashWIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、BT5.0视频输出 MicroHDMI20a电源 USBTypeC接口输入外设 带有I2Cx1、
2023-04-30 17:41:47
1319
原创 树莓派开发(4)——交叉编译
树莓派课程交叉编译笔记一、交叉编译是什么,为什么要交叉编译交叉编译 是在一个平台上生成另一个平台上的可执行代码。我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行。我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行。编译:是在一个平台上生成在该平台上的可执行代码。C51 交叉编译的发生在keil(集成环境上面)。二、为什么要交叉编译平台
2023-04-30 07:37:09
196
原创 智能家居(10)——C语言Http开发之libcurl
libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。下载1.1 函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
2023-04-29 13:17:21
130
原创 智能家居(9)——http协议之https
http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。
2023-04-29 12:22:12
60
7阶无源滤波放大模块资料V2.1.zip
2020-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人