十分钟做一个“AI 玄学硬件”:把传感器、提示词和大模型接到一起

2026-07-08 37 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

7 月的 AI 造物活动把题目定得很有意思:十分钟打造一个“AI 玄学硬件”。它听起来像玩笑,但对开发者很实用,因为这类小项目正好覆盖了 AI 硬件原型的核心链路:采集输入、构造上下文、调用模型、输出一段有仪式感的结果。

这里不把“玄学”当成预测能力来包装,而是把它当成一个交互主题。硬件负责制造参与感,AI 负责生成文本反馈。只要边界讲清楚,它就是一个很适合工作坊、展台、黑客松和产品原型验证的练习。

这个项目真正练的是 AI 硬件闭环

一个最小可用的 AI 玄学硬件,通常只需要四块东西:

  • 输入:按钮、旋钮、NFC、摄像头、麦克风、温湿度传感器,甚至一个随机数。
  • 边缘设备:树莓派、ESP32、旧手机、笔记本都可以。
  • 模型调用:把输入整理成 prompt,调用 LLM 生成解释。
  • 输出:OLED 屏、网页、串口、语音播报、热敏打印机。

“十分钟”能成立的关键,不是把所有硬件都焊好,而是先让闭环跑起来。比如按钮一按,程序读取当前时间和一个随机种子,请模型生成一段“今日灵感签”。这已经具备了硬件互动、AI 生成和即时反馈。

需要注意的是,活动标题里的“玄学”更适合做娱乐化交互。不要把输出说成医疗、投资、考试、情感关系等严肃决策建议。模型生成的是文本体验,不是事实判断。

可以这样实践:先用电脑模拟硬件输入

下面这个示例不依赖真实开发板。它用 Python 模拟一个“玄学硬件按钮”:每次运行都会生成一个设备读数,然后把读数交给大模型生成一段短反馈。

运行前需要准备:

  • Python 3.10+
  • 一个 OpenAI 兼容接口的 API Key
  • OPENAI_API_KEY 设置到环境变量
  • 如果你使用的是非 OpenAI 官方兼容服务,修改 base_url

安装依赖:

pip install openai
export OPENAI_API_KEY="替换成你的 API Key"

保存为 ai_mystic_device.py 后运行:

import os
import random
from datetime import datetime
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    # 如果使用兼容 OpenAI 的第三方服务,可以取消注释并替换:
    # base_url="https://your-provider.example.com/v1",
)

def read_virtual_sensor():
    """模拟硬件输入:实际项目里可以替换成 GPIO、串口或 HTTP 读数。"""
    return {
        "button_pressed": True,
        "ambient_light": random.randint(0, 100),
        "temperature_c": round(random.uniform(20, 32), 1),
        "random_seed": random.randint(1000, 9999),
        "time": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
    }

def build_prompt(sensor):
    return f"""
你是一个展台上的 AI 灵感签生成器。
请根据设备读数生成一段中文反馈,要求:
- 语气像轻松的玄学小硬件,但不要声称能预测现实
- 80 字以内
- 给出一个今天可以执行的小行动
- 不要提供医疗、投资、法律等严肃建议

设备读数:
- 当前时间:{sensor["time"]}
- 环境光:{sensor["ambient_light"]}/100
- 温度:{sensor["temperature_c"]} 摄氏度
- 随机种子:{sensor["random_seed"]}
""".strip()

sensor = read_virtual_sensor()

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "你生成的是娱乐化互动文本,不做真实预测。"},
        {"role": "user", "content": build_prompt(sensor)},
    ],
    temperature=0.9,
)

print("=== AI 玄学硬件输出 ===")
print(response.choices[0].message.content)

这个版本已经能用于原型演示。真实硬件接入时,只要替换 read_virtual_sensor():树莓派可以读 GPIO,ESP32 可以通过串口或 HTTP 把传感器数据发给这段程序。

接上真实按钮:树莓派版本的最小改造

如果你手里有树莓派,可以把按钮接到 GPIO 17。下面代码展示了一个可以改造的版本:按下按钮后调用模型并打印结果。不同开发板的引脚编号和库不同,接线前要确认电压和上拉方式。

安装依赖:

pip install openai gpiozero
export OPENAI_API_KEY="替换成你的 API Key"

示例代码:

import os
import random
from datetime import datetime
from gpiozero import Button
from signal import pause
from openai import OpenAI

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
button = Button(17, pull_up=True, bounce_time=0.1)

def generate_reading():
    seed = random.randint(1000, 9999)
    prompt = f"""
你是一个 AI 灵感签硬件。用户刚刚按下按钮。
请生成 60 字以内中文短句:轻松、有仪式感、带一个可执行行动。
不要声称能预测未来。当前时间:{datetime.now()},随机种子:{seed}
""".strip()

    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.9,
    )
    print("\n--- 今日灵感签 ---")
    print(response.choices[0].message.content)

button.when_pressed = generate_reading
print("按下 GPIO 17 上的按钮生成 AI 灵感签。Ctrl+C 退出。")
pause()

如果没有屏幕,可以先用终端输出;如果要做成展台装置,再加 OLED、热敏打印机或网页前端。不要一开始就把外围设备堆满,先保证“按下按钮到看到输出”的链路稳定。

Prompt 比外壳更决定体验

这类项目的硬件外壳很吸睛,但输出质量主要由 prompt 控制。一个好的 prompt 应该把边界写清楚:

你是一个娱乐化 AI 灵感签设备,不做现实预测。
根据用户触发事件和设备读数,生成一段短反馈。
要求:
1. 80 字以内
2. 带一点仪式感,但不要恐吓用户
3. 给出一个今天能完成的小行动
4. 避免医疗、投资、法律、考试录取等严肃建议
5. 不要使用“必然”“注定”“保证”等确定性词语

如果是公开活动或线下展台,还可以加两层保护:

  • 输出前做关键词过滤,拦截高风险主题。
  • 在屏幕或外壳上标明“娱乐互动,不构成现实建议”。

这些限制不会削弱趣味,反而能让作品更适合被陌生人反复体验。

做成活动作品时的取舍清单

想在十分钟内完成,优先级要明确:

  • 先做闭环:输入、模型、输出必须跑通。
  • 传感器宁可少:一个按钮加随机数,往往比三个不稳定传感器更好演示。
  • 输出要短:展台场景没人愿意等一篇长文。
  • 明确免责声明:把“玄学”放在娱乐互动里,不要包装成决策系统。
  • 留一个可替换接口:今天是按钮,明天可以换成 NFC、摄像头或语音。

AI 玄学硬件的价值不在“算得准”,而在它用很低成本展示了 AI 原型的完整路径。把传感器读数变成上下文,把模型输出变成一个可触摸的反馈,这就是很多 AI 硬件产品最早的雏形。


相关推荐