目录
开发平台/开发环境:
windows 10、Linux、arm cortex A9(Exynos 4412)、ubuntu20.04、zigebee通信、摄像头外设、cortex-M0;
项目模块:
摄像头模块;qt界面及语音识别模块;qt客户端模块;服务器模块;
项目描述:
qt客户端可以通过连接服务器后,通过语音识别,确定想要的功能,可以通过服务器显示摄像头内的视频内容,也可以通过服务器的串口通信去操控cortex M0的LED灯,风扇,蜂鸣器,服务器可以通过串口通信实时地获得cortex M0上的温度,湿度,光照信息,并发送给客户端,qt客户端还可以获取天气预报信息或者打开某一个应用。
具体代码:
1.串口模块:
serial.h:
serial.c:
摄像头:
camera.h:
camera.c
摄像头服务器:
camera_server.h:
camera_server.c:
服务器:
server.h
server.c
主函数
main.c
下面是QT的模块:使用的模式是:QT widgets applicantion;使用的基类是:widget
录音和设置语音文件:对应下面audio.c
audio.h
http请求百度api获取请求数据:
http.h
处理http请求数据并再次请求百度api再次返回的json:
speech.h
通过http协议获取天气 :
weather.h
界面操作:
widget.h
audio.cpp
http.cpp
main.cpp
speech.cpp
weather.cpp
widget.cpp
ui界面:
演示:
开发平台/开发环境:
windows 10、Linux、arm cortex A9(Exynos 4412)、ubuntu20.04、zigebee通信、摄像头外设、cortex-M0;
arm cortex A9(Exynos 4412):内部使用裁剪后的Linux系统来搭建服务器。
ubuntu20.04:使用arm-linux-gcc工具编译成可以在arm架构芯片上执行的程序。
zigbee协调节点板块与A9板使用串口通信,ZigBee 模块主要实现的是数据的透传的工作,一个 ZigBee 节点接收服务器的消息无线转到ZigBee 的另外一个节点,另外一个节点把数据发送给终端设备,完成操作。同时也可以反过来,是终端设备的环境信息。我使用的CC2530 的单片机。它是一款完全兼容 8051 的内核,同时支持 IEEE 802.15.4协议的无线射频的单片机。这个项目主要是使用 ZigBee 提供的协议栈来进行开发。使用了其中的函数接口来完成项目需求的应用程序。
数据终端采集:
数据采集模块使用的是 ARM 系列的 Cortex-M0 芯片,在这个芯片的基础之上。分别外接了以下几个设备。有温湿度、光照、三轴传感器与 RFID 射频模块。还是风扇、LED、蜂鸣器、OLED 硬件。同时集成第 94 页了 RS485、CAN 总线。在这个项目中,使用到了温湿度、光照、三轴传感器获取当前的环境信息,发送到ZigBee 的节点。从 ZigBee 的节点接收命令通过风扇、LED、蜂鸣器来模拟家中的电器设备。在这个模块中使用了 ARM 开发的一些流程,如配置寄存器让硬件工作。一些总线设备的使用,如 SPI、I2C。还有中断的机制和定时器的使用,如本项目中启用了一个 32 位的定时器来做延时操作。
项目模块:
摄像头模块;qt界面及语音识别模块;qt客户端模块;服务器模块;
项目描述:
qt客户端可以通过连接服务器后,通过语音识别,确定想要的功能,可以通过服务器显示摄像头内的视频内容,也可以通过服务器的串口通信去操控cortex M0的LED灯,风扇,蜂鸣器,服务器可以通过串口通信实时地获得cortex M0上的温度,湿度,光照信息,并发送给客户端,qt客户端还可以获取天气预报信息或者打开某一个应用。