嵌入式linux项目之智能仓储(基于正点原子IMX6ULL开发板)

2023-05-16

基于正点原子的IMX6ULL开发板的智能仓储项目

提示:该项目根据华清远见智能仓储项目改版,将他的A9开发板换成了自己的IMX6ULL开发板。同时等我将该项目整个流程完成之后,会为大家附上适配正点原子linux开发板的全部代码(代码资料和视频教程私聊)
视频教程
在这里插入图片描述

视频教程
相应课程配套源码
在这里插入图片描述

本人其他项目链接基于linux的智能仓储项目
基于Qt的人脸识别
基于STM32的智能家居
移植人脸识别到Linux开发板上
基于正点原子的IMX6ULL开发板的智能车载系统(Qt)


PS:华清远见这个项目真的很不错,适合自学转行的同学好好学习一波,我就是机械转行自学的

文章目录

  • 基于正点原子的IMX6ULL开发板的智能仓储项目
  • 前言
  • 一、项目系统概述
  • 二、整体流程图如下
  • 三、项目效果
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

目前,制造企业市场竞争日益激烈,提高生产效率、降低运营成本,对于企业来说至关重要。为此基于、ZigBee技术、嵌入式linux技术、并结合web服务器及单片机stm32,可以实现仓库货物的入库、盘点、出库、仓库环境管理、实现远程实时监控、远程环境控制,并集报警提醒等多种功能于一身,实现了真正的智能,技术积累雄厚,入门门槛高,但是操作简单,方便快捷。


提示:以下是本篇文章正文内容,下面案例可供参考

一、项目系统概述

智能仓储是基于Linux C编程和HTML界面编程,通过stm32作为终端仓储环境的采集,结合RFID和数据库将仓库实时的货物数据存储到数据库当中,并将仓库数据和环境数据提交给主机做处理,主机将环 境信息实时的更新到网页上,而将仓库的货物出入库的信息保存到数据库当中。当检测到的环境信息低于设定值时,比如仓库的光照较暗,那么系统主机端自动控制远程的LED灯开启,增加光照的强度,改善环境信息。
如果仓库内环境温度高于某一值,则自动开启蜂鸣器报警,并开启风扇进行换气操作,降低仓库内的环境温度,如果温度持续升高。其硬件整体环境如下:将stm32采集的数据封装为一个环境信息结构体,然后通过zigbee将结构体数据发出,zigbee的接收端使用usb转串口模块,通过驱动的编写,将zigbee接收端在linux开发板上识别为一个串口节点。然后开发板通过读取节点的信息即可处理来自32开发板的数据,然后通过linux开发板将数据发送到网页端。
在这里插入图片描述

二、整体流程图如下

在这里插入图片描述
接下来就是对流程图的介绍。
上面介绍了linux开发板读取到了zigbee传来的数据,然后通过pthread_transfer线程将环境信息结构体填充,然后将数据通过pthread_refresh线程刷新到网页。这里就存在一个问题了主线程中是C语言编写的,而网页是用html语言显示的。这就涉及到了C语言与html语言的通信。所以本项目在正点原子linux开发板移植了boa服务器。通过boa服务器和CGI应用程序将C与html形成交互(中间还有一层cgi应用程序)

三、项目效果

下图为网页显示部分,通过账号密码登录后来到主界面,主界面又可分为4个部分,分别为历史照片、实时监控(此部分是将摄像头采集到的数据通过FFmpeg推流mgpeg-streamer和nginx服务器作为流媒体服务器,然后将视频流信息拉流到网页端口,后面我会写博客详细介绍)、M0控制部分(此部分是通过消息队列,将网页下发的数据来控制linux硬件,比如led,beep等)、环境信息(该部分是将stm32部分采集到的数据上传到linux板子之后,通过pthread_transfer线程将数据填充到环境信息结构体部分,该环境信息和网页通信采用了共享内存的方法)

下图为M0控制部分
通过网页下发命令到cgi程序,然后cgi与主进程进行交互来控制板子上面的硬件
在这里插入图片描述
下图为stm32传过来的环境信息
在这里插入图片描述
可以将32采集到的环境信息通过linux板子上传到网页端

以上网页就是我暂时移植好的项目,目前实现了通过网页端控制linux板子上的硬件,然后将stm32传上来的数据显示到网页上,将摄像头采集到的数据推流到网页上还没实现,后续接着实现

总结

提示:这里对文章进行总结:

其实该项目的应用场景不要局限于智能仓储,当你把这一套项目跑通之后,你会发现无论是什么板子的硬件采集到的数据都可以通过无线通信的方式将数据上传到linux开发板,然后让Linux开发板单单作为一个服务器来协调数据的上传和下发,只需要更改网页显示不同的数据,和最下层的硬件采集不同的数据来达到不同应用场景的目的
与此同时,该项目相对比较复杂,使用了线程、线程间通信、信号量、消息队列、共享内存、互斥锁、网页、无线通信等模块的知识,是一个综合项目,能够帮助我们掌握UC的知识,很适合非科班更改应用场景后作为面试的项目,且该文章只是单纯的介绍了本人做出来的项目效果和大体框架,里面的细节很多都没有表述,因此欢迎大家关注收藏和指正,我接下来的博客会详细的介绍没一部分的详细内容。到时候会附上代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式linux项目之智能仓储(基于正点原子IMX6ULL开发板) 的相关文章

  • Autoware激光雷达建图流程

    首先导入录制的包 点击 Play 按钮播放数据 xff0c 然后再点击 Pause 暂停播放 设置从base link到velodyne坐标系的TF 在 Baselink to Localizer 中设置好各个参数之后点击 TF 按钮 xf
  • Xshell连接不上虚拟机的解决办法

    目录 一 xff0c 首先检查对应的会话信息是否正确 二 xff0c 检查网络配置 三 xff0c 防火墙是否关闭 四 xff0c ssh服务是否开启 五 xff1a 更改网关 一 xff0c 首先检查对应的会话信息是否正确 xff08 1
  • 如何介绍简历中的项目呢?请看软件测试老师的分享

    项目经验与工作经验是相辅相成的 xff0c 但较之于工作经验 xff0c 项目经验更侧重于表现求职者在某个专业领域内的技能水平 xff08 技能水平决定了工资水平 xff09 因而 xff0c 技术类岗招聘的时候 xff0c 更注重项目经验
  • 正点原子飞控——代码学习笔记(一)

    手柄代码篇 我们直接看代码部分 xff0c 然后逐步深入了解 xff0c 如有不对的地方 xff0c 欢迎大家指证 xff01 xff01 第一阶段 设备内部的初始化 一 中断配置初始化 span class token macro pro
  • Ros安装

    前提 xff1a 若要安装ros xff0c 首先需要配置Ubuntu系统允许restricted xff08 不完全的自由软件 xff09 universe xff08 Ubuntu官方不提供支持和补丁 xff0c 全靠社区支持 xff0
  • 【mySQL】mysql数据库分页查询讨论专题

    目录 一 limit分页公式 总页数公式 1 limit分页公式 2 总页数公式 二 Mysql的三种分页方法 1 limit m n分页语句 xff08 低效 xff09 2 limit m语句 xff08 有局限 xff09 三 查询优
  • STM32——SysTick 定时器讲解(代码)

    一 SysTick 系统定时器简介 SysTick 系统定时器是属于CM3内核中的一个外设 xff0c 内嵌在NVIC中 系统定时器是一个24bit的向下递减的计数器 xff0c 计数器每计数一次的时间为1 SYSCLK xff0c 一般我
  • 第七届全国大学生工程训练综合能力竞赛(工训赛) 智能配送无人机赛项 省赛心得

    第七届全国大学生工程训练综合能力竞赛 xff08 工训赛 xff09 智能配送无人机赛项 省赛心得 第七届全国大学生工程训练综合能力竞赛 xff08 工训赛 江西省赛 在华东交通大学落下帷幕 至此 xff0c 为时四个多月的备赛阶段终于告一
  • 编译mavlink-router

    1 首先安装meson ninjia gcc g 43 43 等工具 xff1a sudo apt install git meson ninjia build pkg config gcc g 43 43 system 可能会出现一下错误
  • nx板卡rtsp推流,pc端拉流

    jetson板卡推流 xff1a 安装gstreamer 步骤 xff1a sudo apt get install gtk doc tools sudo apt get install libgstreamer plugins base1
  • Linux中apt与apt-get命令的区别

    apt和apt get命令之间的区别 apt get 并不能完全向下兼容 apt get 命令 可以用 apt 替换部分 apt get 系列命令 xff0c 但不是全部 apt 命令取代的命令命令的功能apt installapt get
  • Ubuntu 切换为root用户

    下述命令来自于https blog csdn net fmyzc article details 79487643 sudo 43 命令 xff0c 输入当前用户密码后以root权限执行命令 xff0c 有时间限制且仅限当前命令 sudo
  • build-essential包

    build essential的作用 Ubuntu 上一般自带的 xff0c 不需要安装 xff1a alexander 64 Darrykinger sudo apt get install build essential 正在读取软件包
  • Cubli_Mini项目

    GitHub ZhaJiHu Cubli Mini 刷到这个 xff0c 想自己制作一个 芯片介绍 xff1a 电机小板 xff1a AS5600 ASOT AS5600 磁编码器使用心得及总结 越吃越胖的黄的博客 CSDN博客 as560
  • Vi/Vim 编辑器常见命令

    Vim的三种模式 经过以上的使用演示 xff0c 我们体验到了Vim编辑器的三种工作模式 xff1a 一般模式 xff08 normal mode xff09 xff1a 一般模式用来浏览文本 xff0c 查找内容 xff0c 但是不可以编
  • make oldconfig && make prepare

    Ubuntu编译开发板驱动时遇到 mac 64 mac virtual machine driver test test 1 ls led test Makefile mac 64 mac virtual machine driver te
  • 【Linux】资源查看top显示信息说明|top、iftop、iotop、htop、atop工具

    目录 一 Top 1 Top返回结果说明 统计信息区说明 进程信息区说明 2 Top交互操作 更改显示项目 更改排序顺序 过滤 3 top使用格式 4 附常用操作命令 二 查看磁盘 IO 性能 1 1 top 命令 1 2 sar 命令 1
  • raw_copy_to_user和 copy_to_user区别

    mac 64 ubuntu driver test 1 driver make make C home mac driver test preparation linux nano 5 2 tf M 61 home mac driver t
  • 以镜像的方式备份整张TF卡备份

    准备 待备份的TF卡 读卡器 Linux电脑 需在Linux系统下操作 xff0c 电脑磁盘空间需大于TF卡存储空间 步骤 1 插入TF卡 xff0c 执行以下命令 xff0c 查看TF卡磁盘号 sudo parted l 1 2 在roo
  • Linux scp命令

    Linux scp命令 菜鸟教程 Linux scp命令 Linux 命令大全 Linux scp 命令用于 Linux 之间复制文件和目录 scp 是 secure copy 的缩写 scp 是 linux 系统下基于 ssh 登陆进行安

随机推荐

  • stm32+mxl90614测温+蓝牙app数据实时显示折线图+syn6288语音播报体温+oled显示

    设计要求 xff1a stm32主控 mxl90614实现测温功能 蓝牙发送数据到手机app界面实时显示数据变换 xff0c 折线图形式 syn6288语音播报当前体温数据 效果展示 qq1633003977 源码 链接 xff1a htt
  • HY-SRF05超声波测距模块的使用

    HY SRF05超声波测距模块的使用 测距模块介绍 VCC和GND 接电源的正负极 xff0c 也可接单片机的5V或3 3V xff0c 注意与单片机共地Trig xff1a 触发控制信号输入 通过这个引脚输入10us以上的高电平触发信号
  • SG90 180°舵机的使用

    SG90 180 舵机的使用 SG90的介绍 舵机是一种位置 xff08 角度 xff09 伺服的驱动器 xff0c 适用于需要角度不断变化并可以保持的控制系统 xff0c 可以根据控制信号来输出指定的角度 xff08 常见的有0 90 0
  • 蓝牙模块的使用

    蓝牙模块的连接与使用 蓝牙模块的介绍 蓝牙模块可通过与单片机的串口相连 xff0c 借助电脑或手机的蓝牙与单片机实现异步全双工通信 常见的蓝牙模块有HC 05主从一体蓝牙模块 HC 06从机蓝牙模块 低功耗BLE蓝牙模块 cc2540或cc
  • PID算法的原理和公式

    PID算法的原理和公式 64 PID PID算法原理 P xff1a 即Proportion xff0c 输入偏差乘以比例常数I xff1a 即Integral xff0c 对输入偏差进行积分运算D xff1a 即Derivative xf
  • PID控制器中的常见问题

    PID控制器中的常见问题 64 PID PID各部分的作用 P控制器 P控制器不能让稳态误差为零 xff0c 然而随着增大 K p Kp K p 参数 xff0c 可以减小稳态误差 稳态误差是系统从一个稳态过渡到新的稳态 xff0c 或系统
  • PID串级控制

    PID串级控制 64 PID 串级控制的基本环路模型 串级控制包含了主控制器和从控制器两个独立的部分 xff0c 其中从控制器的控制变量是由主控制器回路得到的 xff0c 主控制决定了次控制回路的设定值 即从控制器的设定值是主控制器的的输出
  • ocos 信号量

    信号量分为 xff1a 声明信号量 互斥信号量 转 xff1a ucos ii学习笔记 信号量的原理 ucos ii学习笔记 信号量的原理及使用 include 34 INCLUDES h 34 define TASK STK SIZE 5
  • PID调谐方法:根据开环响应特性调谐(一)

    PID调谐方法 xff1a 根据开环响应特性调谐 xff08 一 xff09 64 PID Ziegler Nichols method xff1a 首先将积分和微分增益设置为0 xff0c 然后比例增益从零开始逐渐增加 xff0c 直到到
  • PID调谐方法:根据开环响应特性调谐(二)

    PID调谐方法 xff1a 根据开环响应特性调谐 xff08 二 xff09 64 PID 齐格勒 尼科尔斯和科恩 库恩方法的一个问题是 xff0c 它们会产生一组相当激进的增益 xff0c 这可能导致不稳定 xff08 或稳定性裕度降低
  • STM32 串口的使用

    STM32 串口的使用 以串口调试助手为例 64 STM32基本外设 串口介绍 USART Universal Synchronous Asynchronous Receiver and Transmitter 通用同步异步收发器 是一 个
  • 中断里使用延时函数

    中断里使用延时函数 64 STM32和MSP432常见问题 STM32 在实际应用中发现 xff0c 在STM32的中断里使用延时函数HAL Delay Delay 容易出现问题 与SysTick中断的优先级 xff0c 故采用while
  • Python中的PID库

    Python中的PID库 64 树莓派学习笔记 PID 加入了条件积分抗积分饱和 xff0c 加入了一阶低通滤波滤除高频噪声 链接 xff1a https github com EduardoNigro Things DAQ Code bl
  • 数字信号处理上机实验一

    数字信号处理上机实验一 给定信号 x n 61
  • 如何使用arduino 更改传感器寄存器的内容,这里以更改MLX90614的地址为例

    这里参考了这篇文章 xff08 ARDUINO使用MLX90614红外温度传感器研究笔记 雨田大大的博客 CSDN博客 mlx90614红外传感器 xff09 xff0c 构建了一个修改地址的程序关于crc校验的部分 xff08 CRC x
  • linux网络编程之udp

    这里写目录标题 UDP服务器代码UDP客服端代码结果 UDP服务器代码 ucp ser c span class token macro property span class token directive hash span span
  • 【Jetson Orin NX 开发板烧录启动系统】

    64 英伟达Jetson Orin NX 开发板上市有一段时间了 xff0c 其中16G套件能提供100TOPS算力 xff0c 性能是上一代Jetson Xavier NX 的 5 倍 其启动系统安装于之前Jetpack SD 烧录完全不
  • 起航-GitLens使用

    目录 GitLens 插件功能介绍准备工作开始使用加入暂存区 xff0c 和取消修改操作取消暂存区 xff0c 取消add操作加入到本地分支 xff0c 提交到远程提交记录远程被修改提示分支合并功能管理所有分支记录工作区暂存 GitLens
  • 在Docker环境下使用ROS

    在Docker环境下使用ROS Docker安装 参考 https docs docker com install linux docker ce ubuntu 卸载老旧版本 sudo apt get remove docker docke
  • 嵌入式linux项目之智能仓储(基于正点原子IMX6ULL开发板)

    基于正点原子的IMX6ULL开发板的智能仓储项目 提示 xff1a 该项目根据华清远见智能仓储项目改版 xff0c 将他的A9开发板换成了自己的IMX6ULL开发板 同时等我将该项目整个流程完成之后 xff0c 会为大家附上适配正点原子li