嵌入式学习第三阶段树莓派
树莓派开发
木下 似水
苏州大学大三软件工程在读。
展开
-
树莓派连接语音模块
回顾之前我们进行了语音模块的验货,并且进行了二次开发,我们知道了在哪里可以进行程序的再次烧写,在这基础上,我们也学习了树莓派的串口通信,那么我们就可以学习怎么把语音模块和树莓派进行通信思路之前我们语音模块知道,语音模块在收到了我们的一级指令后会向串口上发送收到,接着我们再说一句二级指令,例如开灯,就会向串口上发送提示语句,我们利用中这一点,语音模块和树莓派连接起来之后,语音模块就会向树莓派的串口上发东西,这时候我们就可以来在树莓派上读写到串口的东西。连线:(上下对应)树莓派:T,R,GND,5V原创 2021-10-06 17:05:23 · 4102 阅读 · 1 评论 -
树莓派串口通信(和PC)
树莓派串口通信简单来说,就是我们想要试试通过树莓派的串口能不能往上面发送消息,在电脑上显示。配置工作,参考这篇文章链接: [https://www.cnblogs.com/lulipro/p/5992172.html]我们的思路是:1.首先初始化wiringPI2.我们打开树莓派的串口3.简单书写尝试向串口发送数据,我们简单发一个’C’代码:注意要连接好USB转TTL连上电脑,之前学过的T-R,R-T,GND-0V结果:(师上官可编程)...原创 2021-10-06 16:23:16 · 2220 阅读 · 0 评论 -
为树莓派交叉编译做准备
交叉编译首先,什么是交叉编译呢?简单来说就是在一个平台上生成另一个平台上的代码。比如我们之后在Ubuntu上写将来在树莓派上运行的代码。为什么要这么做呢?可能原因有1.有些平台上不允许或者空间不够安置编译器2.目的平台资源匮乏,无法运行编译器3.有时候平台都没有操作系统,跟谈不上什么操作需要的工具:交叉编译链。步骤1.首先我们需要交叉编译链,我们可以去github上找(zip包)2.打开虚拟机(开启共享文件夹的虚拟机)工作目录下新建一个mkdir lessonPI文件夹,把下载好的zip原创 2021-09-14 18:54:13 · 148 阅读 · 0 评论 -
串口通信协议概述
串口通信协议概述:串口通信经常用在多机通信中,软件/硬件经常有模块化的思想。数据在T,R上走(全双工,半双工…),双方通信条件:1.语言互通。2.语速正常对于串口就是:1.数据格式互通。2.波特率正常(数据格式:数据位,停止位,奇偶校验位)(师上官可编程)...原创 2021-06-09 08:12:33 · 146 阅读 · 0 评论 -
树莓派超声波模块
参考代码文章:链接: https://www.cnblogs.com/yuemo/p/8888342.html转载 2021-06-01 21:42:28 · 233 阅读 · 0 评论 -
树莓派继电器开发
继电器开发首先我们来看一下树莓派的IO口相关信息,敲一下gpio readall 指令这样我们就能查看树莓派的IO口标注0的是负极,继电器供电是3.3V,我们选择对应3.3V的针脚。VCC-3.3V,GND-0V可以看到继电器亮了,继电器IO接有标号GPIO的都可以,我们选择靠得近的7脚,(因为这是可编程的,怎么编程是通过我们控制输出高电平低电平来控制的,所以选择有标号GPIO的)我们来实战:来看看这段代码,首先我们判断初始化是否正常,将7引脚设置为输出引脚,再输出一个高电平给7引脚,接着接受原创 2021-06-01 21:07:18 · 215 阅读 · 0 评论 -
动态库的制作
制作格式上次我们学习制作静态库的概念和实战,这次我们来制作动态库:1.gcc -shared -fpic 源.c -o lib生成文件的名字.so.a是静态库的意思,.so是动态库的意思2.编译,gcc 主函数.c -l动态库 -L./ (-o 名字)3…/名字后面的过程和静态库很类似。但是这样执行之后会可能会提示错误,显示不能打开share…是因为程序执行的时候会去找动态库,找不到会报错.初学者可以修改环境变量:敲一下export查看系统的环境变量,有点像是当初安装java的jdk时原创 2021-05-12 10:57:03 · 219 阅读 · 1 评论 -
Linux下静态库的制作
静态库静态函数库,是函数执行前(编译)就加到目标程序中去了。优点:(1)运行快。(2)发布程序无需提供静态库,因为已经在APP中,移植方便。缺点:(1) 程序大。(2)链接时完整地拷贝至可执行文件中,别多次使用就有多份冗余拷贝。(3)更新,部署,发布较为麻烦我们很多时候不希望别人看到我们的源码,只想让别人就用一下我的功能就行,我们就要用到库格式: libxxx.a库名为xxx,后缀是 .a步骤:原材料:源代码.c(a)用.c文件生成 .o文件——例:gcc cal.c -c(b原创 2021-05-11 09:39:14 · 155 阅读 · 0 评论 -
分文件 编程(C语言)的基本实现
分文件编程参考:链接: https://blog.csdn.net/coolwriter/article/details/80431850?.模块化编程,就是多文件编程。把不同功能的函数封装到不同的文件中。一个.c文件和一个.h文件被称为一个模块。开发C程序时,稍微大型的项目就需要使用多文件开发(模块化编程)。当代码量较大功能较复杂时,单一文件程序会使得文件非常巨大,代码量非常大,成千上万行的代码在一个文件中不便于修改和维护,因此需要将不同的功能模块放在不同的文件中。以往我们都是在一个文件中进行编程原创 2021-05-11 09:03:53 · 4274 阅读 · 2 评论 -
树莓派和Windows通信
和以前的一样我们用到FileZilla这个软件通过拖拽我们可以实现树莓派和windows的文件传输。(这个软件好厉害,。。。。。。。。)原创 2021-04-17 11:19:12 · 250 阅读 · 0 评论 -
vim自动缩进,括号匹配小补充
我不知道为什么,原来Ubuntu,现在树莓派也是,我的vim一直都很笨重,没有自动缩进,括号匹配什么的,每次都要自己设置,是都这样吗,老师没有讲过,我们需要自己设置一下请看这篇文章讲解,简单明了。链接: https://blog.csdn.net/yangss123/article/details/77606421?utm_source=app&app_version=4.5.5....转载 2021-04-17 10:29:37 · 120 阅读 · 0 评论 -
VIM更新到好用的版本
上面是总过程。我们来操作:(用网络登录的方式)把这里默认的源注释掉,换成我们国内的源。deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi更新完源后,我们sudo apt-get updatesudo apt-get install vim更新好了之后我们写一个小程序,打印一句话:可以看到,又变成我们熟悉的Linux环境了,我们可以正常进行开发。...原创 2021-04-17 10:22:14 · 281 阅读 · 0 评论 -
网络方式登录树莓派
# SSH服务我们已经学会了串口的方式登录树莓派,可是这样很麻烦,我们可以用别的方式,比如网络接入吗,是可以的,我们可以开启SSH服务。启动成功了返回。我们来试试看:记住自己的ip地址(上次固定好了的ip)我们输入用户名,密码成功了,我们不用串口,直接通过网络访问到了树莓派。(师上官可编程)...原创 2021-04-17 10:02:32 · 134 阅读 · 0 评论 -
树莓派的网络配置
网络配置好,我们进入了树莓派后怎么把它接入网络呢?我们就要对树莓派进行一些网络配置:参考:链接: https://blog.csdn.net/qq_36760780/article/details/82016711.这篇文章讲解的很详细,我就稍微再补充一下过程。首先进入树莓派后,敲入以下指令sudo nano /etc/wpa_supplicant/wpa_supplicant.conf为什么不是以前的vi呢,这里树莓派的vi是很老的版本了,包括我自己也不会用,这里用sudo,nano是给予权原创 2021-04-17 09:41:47 · 961 阅读 · 0 评论 -
树莓派刷机,串口登录
树莓派的刷机首先树莓派的刷机需要几个东西,一个是树莓派的镜像,这个从官网下载:树莓派镜像。下载好后为这个格式的文件:先对树莓派的SD卡进行格式化,格式化后用烧录工具将树莓派镜像烧录进去。工具我们要用到刷机过程其实很简单:打开上面这个软件,在Image File 中选择刚刚下载好的Img文件路径,插入sd卡后,Device会自动检测出设备,这里我没有插入所以没有显示,然后点击一下write,文件就会慢慢烧录进去,整个过程大概需要五分钟左右。然后就完成了刷机。这里有个小过程,树莓派默认登录是绑原创 2021-04-17 08:47:51 · 187 阅读 · 0 评论