资料介绍
描述
我们正在为Nile 项目构建一个开源原型。
背景
Nile 是一个去中心化且免佣金的购物平台,旨在为当地经济赋能。尼罗河正在重新定义电子商务的现状,不是建立一个统治世界的巨型公司,而是赋予人们和社区权力,以作为强大且相互关联的生态系统与这些巨人竞争。为此,尼罗河将在普通人充当供应商的帮助下将当地商店和客户联系起来。因此,最重要的流程之一是订购流程,当客户在当地商店订购产品并希望供应商将其送货上门时,该流程就开始了。为了跟踪订单及其状态,我们希望提供一种工具来使用 RFID 卡创建和读取唯一的订单标识符。本文旨在指导您逐步创建此类工具。
概述
正如主图所示,本教程的目标是构建一个工具,用于向 RFID 卡写入和读取数据,并借助 LED 环的颜色指示器可视化该过程。MAM 根存储在 RFID 卡上,Web 应用程序读取 MAM 流并显示订单的代表性数据。我们有六个步骤来指导您完成:
1. 机箱准备- 准备机箱以将所有硬件放入其中。
2. 设置 Raspberry PiZero - 安装 Raspbian,配置 ssh 和 wifi 以及通过 SSH 连接到 Pi。
3. 添加 RFID 组件- 将 RFID 模块 (Mifare RC522) 连接到 Pi。
4. 添加 LED 组件- 将 NeoPixel Ring - 12 x 5050 RGB LED 模块连接到 Pi。
5. 将所有东西放在一起- 在这里,我们将修复机箱内的所有硬件。
6. 让代码运行——最后但并非最不重要的是,我们通过添加代码使整个事情正常进行。
1.案例准备
我们希望将工具所需的一切都放在一个冷藏箱中。为了准备案例,您需要做以下事情:
- 一个盒子- 把所有东西都放在里面
- 一个小玻璃杯——还有……
- ...铅笔- 标记整体
- 一把刀- 切出整体
- 一张砂纸- 细化边缘
- 一块方形磨砂玻璃- 用作窗户
- 一把刷子——还有……
- ...一些丙烯酸颜色- 以您喜欢的颜色绘制盒子
- 一块方形磨砂玻璃- 用于窗户
- 热胶枪- 固定盒子窗户后面的玻璃
2. 树莓派零设置
准备好案例后,我们需要开始进行 Raspberry Pi 的基本设置。
第 1 步 - 安装 Raspbian
首先我们要安装Raspbian - 我们建议安装 Raspbian Stretch Lite(在此处下载)。为此,请将 Pi 的 SD 卡插入您的计算机并在其上闪存 Raspian Stretch Lite。提示:为此,您可以使用Etcher 。
第 2 步 - 配置无头 WiFi
闪烁过程完成后,SD 卡已从您的计算机中弹出。您需要做的就是将其拔出并插入,让操作系统再次识别它。一旦你的引导驱动器出现打开你的终端并执行:
$ cd /Volumes/boot
现在我们要启用 SSH ,它在 Raspberry Pi 上默认是禁用的。ssh
我们只需在驱动器中创建一个名为的文件。boot
为此执行:
$ touch ssh
即使文件为空,它也会在 Pi 启动后立即启用 ssh。
最后,我们还希望 Pi 在启动后立即连接到 wifi。为此,我们将连接详细信息存储在boot
Pi 的驱动器中。执行以下命令:
$ nano wpa_supplicant.conf
现在继续并将以下代码粘贴到文件中。还要输入您的 wifi 连接详细信息,然后按ctrl + x
保存更改。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="YOUR_SSID"
psk="YOUR_WIFI_PASSWORD"
key_mgmt=WPA-PSK
}
提示:如果您打算在不同的地方使用该工具,您现在可以轻松设置多个 wifi 配置。通过这样做,当您更改位置时,您无需拔出 Pi 的 SD 卡。如果你想这样做,只需添加以下代码:
$ ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
$ update_config=1
$
$ network={
$ ssid="SCHOOL_NETWORK_NAME"
$ psk="SCHOOL_PASSWORD"
$ id_str="school"
$ }
$
$ network={
$ ssid="HOME_NETWORK_NAME"
$ psk="HOME_PASSWORD"
$ id_str="home"
$ }
您可以通过添加更多网络对象在此处添加任意数量的网络。
现在我们准备好通过 SSH 连接到 Pi。
第 3 步 - 通过 SSH 连接
要通过 SSH 连接到 Pi,您可以执行以下命令:
$ sshpass -p ssh -o StrictHostKeyChecking=no pi@
提示:如果您打算在将来多次重复这个过程,为了使这个过程更容易,您可以创建一个别名来访问 pi,piz
而不是上面的命令。为此执行:
$ nano ~/.zshrc
然后简单地创建一个别名将其粘贴到文件中:
alias
现在,打开一个新选项卡,您就可以通过执行以下命令连接到 pi:
$ piz
3.添加RFID组件
我们想通过 RFID 写入器和读取器扩展 Pi。我们决定使用 Mifare RC522。该模块可以使用 SPI 连接。
第 1 步:启用树莓派 SPI
要为 Pi 启用 SPI,请执行以下命令转到配置设置:
$ raspi-config
现在选择接口选项,然后选择 SPI。出现提示时确认yes
并重新启动您的 Pi:
$ sudo reboot
一旦您的 Pi 重新启动,通过执行以下命令打开 config.txt:
$ sudo nano /boot/config.txt
现在寻找以下行:
$ dtparam=spi=on
如果您找到它,则您的 SPI 接口工作正常,您可以继续下一步。
第 2 步:安装 RFID 软件
要安装 RFID 软件,我们首先需要安装 Python 2.7 dev。为此执行:
$ sudo apt-get install python2.7-dev
接下来我们需要下载并安装python的SPI工具。
$ git clone https://github.com/lthiery/SPI-Py.git
$ cd SPI-Py
$
$ sudo python setup.py install
最后下载以下python库来使用RC522模块:
$ git clone https://github.com/mxgxw/MFRC522-python.git
$
$ cd MFRC522-python
第三步:接线图
作为最后一步,请按照此接线图将 RC522 连接到 Raspberry Pi Zero。
追溯
如果您遇到如下图所示的回溯,请按照这些说明进行操作。
该问题是由 SPI python 库引起的,可以通过回滚到同一库的先前版本轻松解决。
$ git clone https://github.com/lthiery/SPI-Py.git
$ git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68
$
$ sudo python setup.py install
确保在回滚后再次运行安装程序。如果您仍然有问题,请参阅相关的 StackOverflow 文章。
4.添加灯光组件
对我们来说,该工具具有一些奇特的即时用户反馈似乎很重要。最简单的方法是通过颜色的视觉反馈。所以我们决定添加一个磨砂玻璃窗和一个NeoPixel Ring - 12 x 5050 RGB LED以提供某种彩色进度条。
示意图要将此组件添加到 Raspberry Pi Zero,请遵循以下示意图:
5. 把所有东西放在一起
在我们构建了我们的案例并将所有硬件组件放在一起之后,我们准备好将所有东西放入案例中。您决定在框中放置元素的方式完全取决于您。我们所做的只是简单地使用一些聚苯乙烯泡沫塑料和胶带来固定盒子内的所有元件。
提示:从视觉的角度来看,真正重要的一件事是将灯的位置非常靠近窗户。
6:运行代码
我们需要运行两个应用程序,一个用于商店,一个用于包装站。按照代表性 Readme.md 文件中的说明安装依赖项并运行应用程序。
第一步:开店申请
创建您的商店首先,运行商店应用程序 -使用演示用户登录并导航到导航中的商店页面。现在在这里输入您的商店名称和位置。创建商店后,应用程序会为您创建一个 MAM 根目录,其中存储了有关您商店的所有信息。
MAM 根以及用于向频道发布新消息的种子,两者都仅存储在浏览器的本地数据库中。所以没有第三方持有您的凭据。
MAM 流中的新消息表示对商店数字双胞胎的更改 - 例如,如果您更改商店名称。通过这种方法,我们可以获得商店的整个变更历史记录。和处理产品order_request_address
和catalog_root
订购流程,这不是本教程的一部分。
创建一些产品下一步是在Products 页面中创建一些产品。之后,我们准备创建订单。为了简化本教程中的工作流程,我们直接在商店应用程序中创建订单,而不是在这里也使用客户应用程序。
创建订单转到“订单”页面,选择一些产品并创建订单。
第二步:打包申请
写入 RFID 卡我们需要 Packing Station Prototype 将 MAM 根写入 RFID 卡。直接在Shop应用Order页面复制,然后去packing station app到Write页面。现在将 MAM 根粘贴到给定的输入中。完成后,按写入按钮。读卡器上的灯现在应该从蓝色变为橙色,这表示将卡放在盒子上并等待几秒钟,直到灯变为绿色。这表明写入过程成功,我们现在可以读取卡了。
读取 RFID 卡现在导航至读取页面并等待指示灯变为蓝色。一旦它是蓝色的,您就可以将卡片放在盒子上,然后将从 MAM 根目录获取订单信息。RFID 阅读器从卡中读取 MAM 根,将其发送到前端并获取流中的当前数据。因此,无论何时执行此过程,您都将始终从 tangle 中获取最新数据。
结论
本教程演示了一个真实世界的用例,使用 Tangle 作为分布式账本来存储有关本地商店、他们的产品和订单的数字双胞胎的重要数据。在本教程中,MAM 通道表示从供应商到客户的订单生命周期。智能包站只覆盖了我们需要构建的设备生态系统的一小部分,以便为整个过程提供服务,但这仍然是第一步。
我们打算进一步改进这个用例和教程。如果您有任何问题,请告诉我们!
- 华大单片机UID读取说明
- STM32 唯一ID读取方法
- 如何创建和使用LabVIEW中的LLB文件 0次下载
- 如何获取STM32 MCU的唯一ID
- 通用串行总线语言标识符英文版下载 0次下载
- python使用的一些基本知识详细介绍 13次下载
- 如何设计一种对包装箱内物品不敏感的通用RFID标签天线
- 51单片机的C语言标识符和关键字详细资料说明
- 单片机C语言教程之数据类型的详细资料说明 5次下载
- JAVA教程之一维数组和二维数组的介绍和应用说明 0次下载
- RFID电子标签在铁路集装箱中的应用 5次下载
- C++语言基础讲解视频标识符与关键字 7次下载
- RFID技术在集装箱码头管理中的应用 116次下载
- C语言的标识符和关键字
- 哈工大C语言程序设计
- 为什么不选择UUID?ULID才是更好的选择! 363次阅读
- pid三个参数分别起到什么作用 1w次阅读
- 读取Xilinx FPGA芯片设备标识符的方法-DNA 2785次阅读
- 西门子博图全局系统常量的规则/使用硬件标识符的示例 5552次阅读
- 西门子博途中硬件标识符示例 1.4w次阅读
- VXLAN原理介绍以及Linux和OvS的实现分析 760次阅读
- 电工知识—TIA Portal(博途)创建和编辑项目 3731次阅读
- CAN总线的帧类型及结构 1w次阅读
- 如何使用ESP32创建一个气象站 3771次阅读
- Verilog HDL语言的数据类型和运算符与表达式解析 6102次阅读
- 利用RFID无线射频技术实现港集装箱智能与安全贸易通道 814次阅读
- 详解Verilog的一些基本要素 5309次阅读
- 线缆标识的用途和特点 8059次阅读
- C++多继承的二义性问题 7500次阅读
- RFID智能卡:小心你的卡片安全 2357次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多