# 快递小盒 **Repository Path**: alimjan2020/bbox ## Basic Information - **Project Name**: 快递小盒 - **Description**: 为了配合作品集呈现自己的编程能力,在整理作品集的同时整理编写了本文档。可以把本篇文档理解为学习笔记和一篇教程。可以跟着做出一个类似的快递小盒~ > 项目代码只用于作品集展示,不支持任何开源协议。 - **Primary Language**: Python - **License**: Zlib - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-23 - **Last Updated**: 2021-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![](https://tcs.teambition.net/storage/31221fd88779b9d64a807be3eb0db14ddc56?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDY3MTY0NCwiaWF0IjoxNjE0MDY2ODQ0LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjIxZmQ4ODc3OWI5ZDY0YTgwN2JlM2ViMGRiMTRkZGM1NiJ9.VG-I9nuOFLRrTnOXkXospUf5eMlFM-Lf906756byPbg&download=image.png "") # 说明 为了配合作品集呈现自己的编程能力,在整理作品集的同时整理编写了本文档。可以把本篇文档理解为学习笔记和一篇教程。可以跟着做出一个类似的快递小盒~ > 项目代码只用于作品集展示,不支持任何开源协议。 # 项目介绍 ![](https://tcs.teambition.net/storage/3122c741843a3e6c9e82f110ff66d4df0393?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDY3MTY0NCwiaWF0IjoxNjE0MDY2ODQ0LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjJjNzQxODQzYTNlNmM5ZTgyZjExMGZmNjZkNGRmMDM5MyJ9.b7WWCoHDG2YPEP1JwSPOZxC8sDJBQ-FBARSGA3D7dlY&download=image.png "") **“快递黑匣”**是物流过程的记录小盒,从“碰撞、温度、湿度、见光”四个维度针对快递箱内的物理环境和来自外界的人为干扰进行实时监测,为物流三方打造一个透明的物流环境。 快递黑匣是一个通过绑带的形式固定在快递箱内物品上的物流过程记录小盒,能够监测物流过程中货品所经历的物理环境变化和人为因素干扰,最后通过灯光交互的形式向收件方还原货品在运输过程中所经历的运输异常。同时,更为详细的物流过程数据也会云传输至后台,通过算法,生成快递过程分析报告*,为破损快递背后的原因提供参考,使得物流过程更加透明化。 > *此功能还未实现 ## 使用场景 快递黑匣有着非常广泛的应用场景,不止局限在快递运输中,在未来它可以在更多的物流场景中发挥它的作用。包括电子设备的运输、服装运输、药品运输等产品运输在内,未来快递黑匣可以通过监测指标的调整和产品形态载体的调整来适应除上述产品外更多的产品领域。 # 技术路线 ![](https://tcs.teambition.net/storage/312012b1c51c95215046e24c7b9df28f9c3c?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDc0ODUwNywiaWF0IjoxNjE0MTQzNzA3LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjAxMmIxYzUxYzk1MjE1MDQ2ZTI0YzdiOWRmMjhmOWMzYyJ9.q_RJh2r-D8nFaMc9HyuGorvqLGProUz6ugeC1cwPj64 "") ## 树莓派接线 ![](https://tcs.teambition.net/storage/312298924a005d8eef237da90c50cbd2e3d7?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDY3MTY0NCwiaWF0IjoxNjE0MDY2ODQ0LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjI5ODkyNGEwMDVkOGVlZjIzN2RhOTBjNTBjYmQyZTNkNyJ9.BKqmizOHt9QVirPHmOIHvpm4POdCxfTbVKt-C2yUBec&download=image.png "") 我们产品使用了树莓派来把各个部件整合在一起,而这些部件正是通过GPIO引脚来输入输出相应的数据,最后通过代码收集和处理数据呈现到灯板(后面会详细讲到)上。 ![](https://tcs.teambition.net/storage/312226b0129b25ec34e059a3b66e726dd47b?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDY3MTY0NCwiaWF0IjoxNjE0MDY2ODQ0LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjIyNmIwMTI5YjI1ZWMzNGUwNTlhM2I2NmU3MjZkZDQ3YiJ9.vdSZu0LQU14GaPsKl1AdQgwjrQDcZU7gWjwJx9XUZxo&download=image.png "") ## 传感器模块 ![](https://tcs.teambition.net/storage/3122f58d1d4cb9c9472d2b573227c248f673?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxNDY3MTY0NCwiaWF0IjoxNjE0MDY2ODQ0LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjJmNThkMWQ0Y2I5Yzk0NzJkMmI1NzMyMjdjMjQ4ZjY3MyJ9.iDXVQ4MmYMv9QviAttm-DG7MsNt3A9VQF-FI2vS6dAI&download=image.png "") ### 光照传感器GY-30模块 GY30模块(BH1750FVI传感器)在产品应用上起到检测物流包裹内部光照强弱的作用,以此获得包裹在运送期间是否破损而导致包裹内部光照强度的变化,以及破损时所对应的大致时间。 BH1750FVI支持I2C BUS接口,很适合使用树莓派来运行。对于光源的依赖性比较弱(可检测可见光的种类很多),且受红外线影响很小。传感器检测到的数据直接传化成对应的数字值,使得包裹物流过程中受到的影响分级的范围界定变得更加容易。传感器以预先设定的固定时间差记录数据,并最终筛选出非正常的数值,以分级的方式呈现出包裹物流过程中受影响程度。 **驱动:** 因为使用到I2C BUS接口,过程比较复杂,详细教程:[__点击查看__](https://www.cnblogs.com/sirius-swu/p/6682746.html) iic开启 -> 取消对IIC驱动的黑名单 -> 启动IIC驱动 ->重启 -> 安装python-smbus ```bash sudo apt-get install python-smbus ``` 将BH1750连接到树莓派 ### 三轴加速度传感器ADXL345 ADXL345传感器在项目中起到检测强烈震动以及剧烈反转的作用,获得问题包裹在物流过程中是否可能受到暴力装卸的信息。 该传感器的灵敏度高,能够检测到小于1度角的变化。尺寸小,能耗小,因此能够利用可移动式的电源供电使用,也满足了设备的体积要求。获得的数据是在三个轴方向上的正加速度,以数字值输出,使得包裹物流过程中受到的影响分级的范围界定变得更加容易. **驱动:** Github 连接 : [__https://github.com/adafruit/Adafruit_Python_ADXL345__](https://github.com/adafruit/Adafruit_Python_ADXL345) ```bash 通过链接安装 sudo apt-get install git build-essential python-dev cd ~ git clone https://github.com/adafruit/Adafruit_Python_ADXL345.git cd Adafruit_Python_ADXL345 sudo python setup.py install 通过 pip 安装 sudo pip install adafruit-adxl345 ``` ### 温湿度传感器DHT22 DHT22温湿度传感器用于检测物流过程中包裹内部温度和湿度的变化,获取问题包裹内部温湿度的数据信息,从而分析出包裹是否在运送时暴露在非适宜的环境中(如暴晒、淋雨等)。、 **驱动:** 使用方式连接 [__https://baijiahao.baidu.com/s?id=1620152825527289327&wfr=spider&for=pc__](https://baijiahao.baidu.com/s?id=1620152825527289327&wfr=spider&for=pc) ```bash 通过链接安装 sudo apt-get install git build-essential python-dev cd ~ git clone https://github.com/adafruit/Adafruit_Python_DHT.git cd Adafruit_Python_DHT sudo python setup.py install 通过 pip 安装 pip3 install Adafruit_DHT ``` ## 显示模块 ### 灯板WS281X LED Raspberry Pi中的BCM2835具有PWM和PCM模块,非常适合驱动可单独控制的WS281X LED。使用DMA,PWM(本次程序使用)或PCM FIFO以及PWM中的串行模式,可以控制连接到相应输出引脚的链中几乎任意数量的WS281X LED。 在本产品中,LED灯用来显示运输过程的变化,使得在运输过程中记录的破损数据变得可视化。总共有4个LED串联灯板分别表示碰撞、温度、湿度、光照,共有七个等级(黄灯)和一个基准线(绿色)。 **驱动:** Github 链接: [__https://github.com/rpi-ws281x/rpi-ws281x-python__](https://github.com/rpi-ws281x/rpi-ws281x-python) ```bash sudo pip install rpi_ws281x ``` ## 数据库模块 数据库模块是技术迭代后重要的改动之一,主要是因为相对于把数据储存在TXT中,数据库拥有更多的优势。比如数据的结构,查询移动等方面,数据库是十分成熟的工具。在稳定性方面数据库也更胜一筹。 在Python当中已经包含像SQLite这样的软件库。实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。只要熟悉最基本的SQL语句,可以快速上手进行增删改查操作。 | | txt | DB | | ----- | ---- | --- | | 大小 | ✅ | | | 储存稳定性 | | ✅ | | 储存结构 | | ✅ | | 写入 | 忽略不计 | | | 读取 | 忽略不计 | | | 查询 | | ✅ | 本项目中用到数据库的详细使用教程在 sql.md 文件内。 # 代码说明 ![](https://tcs.teambition.net/storage/3122bef6ef1c0acb059185de260aa68c5e05?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IjVmNTFmY2M4ZTQxYzAwMGViMDhjZjg3MiIsImV4cCI6MTYxNDY3OTM2MCwiaWF0IjoxNjE0MDc0NTYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjJiZWY2ZWYxYzBhY2IwNTkxODVkZTI2MGFhNjhjNWUwNSJ9.p8ixe0Fq8_RFiHb7bN_vjskOmMIBG9Yq1Ufd119dveE&download=%E7%BC%96%E7%BB%84+21.png "")