当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]这个项目使用Web Serial API弥合了区块链支付和物理硬件之间的鸿沟。它检测Base主网网络上的USDC支付,触发Arduino Leonardo分配250毫升水,并向商家的保险库生成“影子收据”NFT,用于链上忠诚度跟踪和未来的用户奖励。

饮水机

一个分散的自动售货机。

这个项目使用Web Serial API弥合了区块链支付和物理硬件之间的鸿沟。

它检测Base主网网络上的USDC支付,触发Arduino Leonardo分配250毫升水,并向商家的保险库生成“影子收据”NFT,用于链上忠诚度跟踪和未来的用户奖励。

关键特性

•即时将链上支付转换为物理行为(分配水)。

•Chrome浏览器和Arduino Leonardo之间的直接通信。

•对Base区块链的传入事务进行实时监控。

•将包含付款人数据的NFT收据发送到商户地址。这为现金返还计划或“随机奖励”创建了一个链上分类账,而不会让用户的钱包变得杂乱。

•基于反应的界面,具有QR码生成、支付计时器和流畅的成功动画。

业务流程

1. 该应用程序显示了一个“支付0.5美元”的按钮。它等待用户通过触摸屏或连接到Arduino的物理按钮进行交互(发送BUTTON_4_PRESSED)。在当前版本中,使用红外传感器“飞鱼”来检测托盘中纸杯的存在。

2. 付款阶段

生成带有特定USDC传输URI的QR码。

应用程序开始轮询区块链,以便将0.5 USDC传输到配置的MERCHANT_ADDRESS。

3. 验证

一旦在Base Network上检测到有效的交易散列,就会确认支付。

4. 分发

应用程序通过USB将RELAY_ON命令发送到Arduino。Arduino可以激活水泵继电器

应用程序调用mintReceiptNFT。一份“影子收据”被铸造到商户的地址,记录付款人的地址,用于将来的忠诚奖励。

一个成功的声音播放(alert.wav)和一个“填充杯”动画显示在屏幕上。

组件连线

它在饮水机里是什么样子

在当前的版本中,使用的是戴尔Vostro 15'笔记本电脑,它安装在一个木柜里,作为web应用程序的主机。笔记本电脑由原装电源供电。水泵由单独的12V电源供电。

Arduino草图

您的Arduino必须被编程为在9600波特时处理以下串行协议

(通过Arduino IDE上传)

浏览器设置

•在b谷歌Chrome或Microsoft Edge中打开应用程序。

•重要:Web Serial需要安全上下文(HTTPS)或本地主机。

•点击右上角的“连接USB”来配对你的Arduino Leonardo。

配置(配置对象)

您可以在PaymentApp中修改CONFIG对象。TSX更改价格或地址:

故障排除

•“不支持Web串行API”:确保您正在使用Chrome/Edge。Firefox和Safari还不支持这个API。

•Arduino未连接:检查是否有其他应用程序(如Arduino IDE)占用COM端口。浏览器需要独占访问。

•未检测到付款:确保用户发送的是基础USDC,而不是本地ETH,并且金额与REQUIRED_AMOUNT完全匹配。

如何使用我们的饮水机

当前版本

亲爱的顾客们,请按照以下步骤获取饮用水:

1. 准备

在Base主网上打开您的加密钱包(例如MetaMask, Coinbase wallet)。确保你有以下最低金额:

•0.5 USDC(基于Base网络)

•以太坊(ETH)的gas费(在基础网络上)

2. 配药过程(必须在50秒内完成)

•将纸杯放入分配器托盘中。

•QR码将立即出现在显示器上。

•打开加密钱包中的扫描摄像头。

•快速扫描二维码。

•交易请求将出现在您的钱包中。

•至关重要的是,确认您在基础网络上传输的是0.5 USDC。(任何其他金额的付款将不发放水。)

3. 完成并收集

•等待屏幕提示:“Here you are”。

•把盛满水的杯子从饮水机托盘上拿开。

时间安排的重要注意事项

•应用程序会话持续时间为50秒。请快速扫描二维码并确认您钱包中的交易。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在本教程中,我们将学习如何使用 DHT21 湿度和温度传感器与 Arduino 进行配合,并将测量值显示在 OLED 显示屏上。

关键字: OLED 显示屏 DHT21 温度传感器 Arduino

使用 Arduino 超声波传感器进行距离测量是一个非常简单的项目,能够精确测量较短的距离。在开始之前,您必须了解超声波传感器 HCSR-04,这是一种低成本的传感器。该超声波传感器由发射模块和接收模块组成。发射模块发射...

关键字: Arduino 超声波传感器 HCSR-04

MQ-135 气体传感器广泛用于空气质量监测。它能够检测诸如氨气、氮氧化物、酒精、苯、烟雾和二氧化碳等有害气体。在本项目中,我们将 MQ-135 与 Arduino Uno 进行接口连接,以测量空气质量水平,并将测量结果...

关键字: Arduino 气体传感器 MQ-135

这个项目是为我物理计算课程中的数据可视化项目而设计的。其核心理念是通过 LED 灯带来展示飞机在天空中的位置,每盏 LED 灯都代表着一个位置。这些灯光会随着飞机的活动而移动并改变颜色。

关键字: LED REST API 树莓派 继电器

该项目展示了如何将 HC-SR04 超声波传感器与 Arduino Uno 连接起来,以实现精确的距离测量。超声波传感器在机器人技术、避障系统、停车系统以及物联网应用中被广泛应用。该装置操作简便、成本低廉,非常适合初学者...

关键字: HC-SR04 超声波传感器 Arduino

该项目展示了在基于 FreeRTOS 的系统(运行于 Arduino Uno 上)中实现安全的数据共享访问的实现方式。

关键字: LED ADC 数据 Arduino

尽管我们称之为“字符显示”,但每个字符并非是一个单独的完整块状物。如果你给屏幕通电并仔细观察,就会发现每个字母或数字都是由一个由小点组成的网格构成的。

关键字: Arduino 液晶显示器 连接器

该项目使用 DHT11 传感器来测量环境温度(摄氏度)和相对湿度(百分比),并将测量结果显示在 Arduino 串行监视器上。

关键字: Arduino DHT11 传感器 物联网

路灯在无需开启的情况下也会消耗大量电能。本项目展示了一种使用 Arduino 和 LDR(光敏电阻)的智能自动路灯系统,该系统能在夜间自动开启,在白天自动关闭,从而有助于降低电力消耗。

关键字: Arduino 光敏电阻 路灯 运动传感器

编译以检查代码。此操作无需新的库或附加文件。调用 Setup() 函数即可开启 UART 电路,并通过 Serial.begin(31250) 设置默认的串行波特率或速度(适用于 MIDI)。

关键字: Arduino 示波器 连接器 USB-MIDI 适配器
关闭