基于“人工智能和物联网+”的创新产品设计

陈英、万幸、王倩、李华兵、黄敏、强永军、赵鑫、罗万波、朱里红

目录

  • 1 教学录像
    • 1.1 课程负责人-陈英
    • 1.2 主讲教师-罗万波
    • 1.3 主讲教师-万幸
    • 1.4 主讲教师-王倩
    • 1.5 主讲教师-潘绍飞
  • 2 课程标准与学习指南
    • 2.1 课程标准
    • 2.2 学习指南
  • 3 新技术在创新创业中的应用
    • 3.1 3D打印技术简介
    • 3.2 物联网技术简介
    • 3.3 人工智能技术简介
    • 3.4 智能硬件平台选型
  • 4 TPYBoard快速入门
    • 4.1 TPYBoard连接与下载
    • 4.2 TPYBoard参数和引脚图
    • 4.3 Thonny 开发环境
    • 4.4 TPYBoard 板级功能
    • 4.5 TPYBoard GPIO
    • 4.6 TPYBorad 定时器
  • 5 智能小车设计制作
    • 5.1 智能小车舵机与电机驱动设计
    • 5.2 红外防坠落小车设计制作
    • 5.3 红外寻迹无线小车设计制作
    • 5.4 无线蓝牙智能小车设计制作
    • 5.5 加速度无线小车设计制作
  • 6 智能语音3D小狗的设计与制作
    • 6.1 3D打印技术应用
    • 6.2 智能语音技术
    • 6.3 需求分析与产品开发
    • 6.4 “智能语音3D小狗”产品策划
  • 7 智能心率监测预报仪
    • 7.1 智能心率监测预报仪需求分析与技术需求
    • 7.2 智能心率监测预报仪软硬件开发
    • 7.3 智能心率监测预报仪产品与策划
  • 8 “停车效率专家”- 智能停车系统设计
    • 8.1 智能停车场管理系统组成及产品选型
    • 8.2 智能停车系统硬件通信接口程序设计
    • 8.3 停车智能引导程序设计
    • 8.4 “停车效率专家”产品策划
  • 9 创新产品的创业指导
    • 9.1 创业者和创业者团队
    • 9.2 创业项目计划书编制及演练及展示
    • 9.3 创意产品营销及演练
  • 10 案例
    • 10.1 3D打印技术案例
    • 10.2 物联网技术案例
    • 10.3 人工智能技术案例
    • 10.4 智能汽车竞赛赛车设计与制作案例
    • 10.5 “停车效率专家”- 智能停车系统设计案例
    • 10.6 智能语音3D小狗的设计与制作案例
    • 10.7 智能心率监测预报仪案例
    • 10.8 创业者和创业者团队案例
    • 10.9 创业项目计划书编制及演练及展示案例
    • 10.10 创意产品营销及演练案例
  • 11 实训实习项目
    • 11.1 物联网技术小项目实操-模拟红绿灯
    • 11.2 人工智能技术实训项目
    • 11.3 智能汽车竞赛赛车组装与调试
    • 11.4 智能汽车竞赛赛车程序调试
    • 11.5 智能停车系统硬件通信接口程序设计
    • 11.6 停车智能引导程序设计
    • 11.7 智能语音3D小狗项目实操-3D打印小型纪念品
    • 11.8 智能语音3D小狗项目实操-情感分类问题实战
    • 11.9 智能语音3D小狗项目实操-智能语音3D小狗制作
    • 11.10 智能语音3D小狗项目实操-智能语音小狗产品策划
    • 11.11 智能心率监测预报仪项目实操-硬件选型与3D打印手环
    • 11.12 智能心率监测预报仪项目实操-智能心率监测预报仪软硬件开发
    • 11.13 智能心率监测预报仪项目实操-智能心率监测预报仪产品与策划
    • 11.14 创业案例分析实训项目
    • 11.15 创业团队组建实训项目
    • 11.16 创业计划书编制及仿真模拟实训项目
    • 11.17 创业计划书的方案展示实训项目
    • 11.18 自媒体营销方案设计实训项目
    • 11.19 产品路演及实际推广实训项目
  • 12 习题
    • 12.1 3D打印技术习题
    • 12.2 物联网技术习题
    • 12.3 人工智能技术习题
    • 12.4 智能汽车竞赛赛车设计与制作习题
    • 12.5 “停车效率专家”- 智能停车系统习题
    • 12.6 智能语音3D小狗的设计与制作
    • 12.7 智能心率监测预报仪
    • 12.8 创业者和创业者团队习题
    • 12.9 创业项目计划书编制及演练及展示习题
    • 12.10 创意产品营销及演练习题
  • 13 教案节选
    • 13.1 3D打印技术
    • 13.2 智能停车场管理系统组成及产品选型
    • 13.3 智能心率监测预报仪软硬件开发
    • 13.4 创业者经典案例剖析
TPYBoard 板级功能


附:pyb模块内置类

附:pyb模块函数功能简介

时间相关函数

  • pyb.delay(ms)

    延迟给定的毫秒数。

  • pyb.udelay(us)

    延迟给定的微秒数。

  • pyb.millis()

    插件重置后,返回毫秒数。

    结果通常是一个Micropython小整数(31位有号数),因此在2^30毫秒(约12.4天)后,这一数值将开始返回负数。

    注意:若 pyb.stop() 发布,支持该功能的硬件计数器将在休眠状态期间暂停。这将影响 pyb.elapsed_millis() 的结果。

  • pyb.micros()

    插件重置后,返回微秒数。

    结果通常是一个Micropython小整数(31位有号数),因此在2^30微秒(约17.8分钟)后,这一数值将开始返回负数。

    注意:若 pyb.stop() 发布,支持该功能的硬件计数器将在休眠状态期间暂停。这将影响 pyb.elapsed_micros() 的结果。

  • pyb.elapsed_millis(start)

    返回 start 后消耗的毫秒数。

    这个函数负责计数器换行,且总是返回一个正数。也就是说,该函数可用来测量长约12.4天的周期。

    例:

    start = pyb.millis()
    while pyb.elapsed_millis(start) < 1000:
        # Perform some operation 执行一些操作
  • pyb.elapsed_micros(start)

    返回 start 后消耗的微秒数。

    这个函数负责计数器换行,且总是返回一个正数。也就是说,该函数可用来测量长约17.8分钟的周期。

    例:

    start = pyb.micros()
    while pyb.elapsed_micros(start) < 1000:
        # Perform some operation 执行一些操作
        pass 通过

复位相关的函数

  • pyb.hard_reset()

    以类似于按下外部RESET按钮的方式重置pyboard或OpenMV Cam。

  • pyb.bootloader()

在不使用BOO T*引脚的情况下激活引导加载程序。

  • pyb.fault_debug(value)

    启用或禁用硬故障调试。硬故障即发生在底层系统中的严重错误,例如内存访问失效。

    若value参数为 False ,则板子会在出现硬故障时自动重设。

    若value参数为 True ,板子出现硬故障时,则将打印寄存器和堆栈追踪,并无限循环LED。

    禁用默认值,即自动重设。

中断相关的函数

  • pyb.disable_irq()

    禁用中断请求。返回先前的IRQ状态: False / True (分别为禁用/启用IRQs)。这个返回值可被传递,以启用IRQ,使IRQ返回初始状态。

  • pyb.enable_irq(state=True)

    启用中断请求。 若 state 为 True``(默认值),则启用IRQ。该函数的最广泛应用为传递由 ``disable_irq 返回的值,以退出临界区。

电源相关函数

  • pyb.wfi()

    等待内部或外部中断。

    此处执行 wfi 指令,在任何中断(无论是内部或外部)出现前,该指令将减低MCU的能耗。此时将继续执行该指令。注意:系统节拍每毫秒(1000Hz)中断一次,因此该功能的停滞最长可达1毫秒。

  • pyb.stop()

    将Pyboard或OpenMV Cam设置在睡眠状态。

    该设置将能耗降低到500uA以下。退出睡眠状态需外部中断或实时闹钟。退出睡眠状态后,系统将继续完成因睡眠而中止的任务。

     rtc.wakeup() 配置一个实时时钟唤醒事件。

  • pyb.standby()

  • 将OpenMV Cam设置在深度睡眠状态。

  • 该设置将能耗降低到50uA以下。To wake from this sleep state requires a real-time-clock event.退出睡眠状态后,系统进行硬复位。

  • 见 rtc.wakeup() 配置一个实时时钟唤醒事件。


其他功能

  • pyb.have_cdc()

    如果USB作为串行设备连接,则返回True,否则返回False。

    注解

    此功能已弃用。使用pyb.USB_VCP().isconnected()来代替。

  • pyb.hid((buttonsxyz))

    采用4元组(或列表)并将其发送到USB主机(PC)以发出HID鼠标移动事件的信号。

    注解

    此功能已弃用。使用 pyb.USB_HID.send() 来代替。

    pyb.info([dump_alloc_table])

    打印插件信息。

    pyb.main(filename)

    设置boot.py完成后要运行的主脚本的文件名。 如果未调用此函数,则将执行默认文件main.py。

    只在boot.py中调用此函数才有意义。

    pyb.mount(devicemountpoint*readonly=Falsemkfs=False)

    注解

    这个函数是不推荐的。安装和卸载设备应由 uos.mount() 和 :meth:`uos.umount`来执行。

    挂载一个块设备并使其作为文件系统的一部分运行。 device 须为一个提供块协议的对象: (以下内容也不推荐。见 uos.AbstractBlockDev 获取创建块设备的正确方法。)


    readblocks 和 writeblocks 应从设备上的块数量 blocknum 开始, 在 buf 和块设备之间复制数据。 buf 为一个长度为512的字节数组。 若 writeblocks 未定义,则设备为只读的。这两个函数的返回值被忽略。

    count 应返回设备上可用的块数。 Sync 若运行,应同步设备上的数据。

    参数 mountpoint 是在文件系统的根目录下安装设备的位置。该参数应以斜杠开始。

    若 readonly 为 True,则设备为只读,否则为可读写。

    若 mkfs 为 True ,且尚不存在文件系统,则会创建一个新文件系统。

    卸载设备,只需将设备设置为 None ,并将挂载位置设置为 mountpoint 。


    • readblocks(self, blocknum, buf)

    • writeblocks(self, blocknum, buf)  (任选)

    • count(self)

    • sync(self)  (任选)

  • pyb.repl_uart(uart)

    在REPL重复之处,获取或设置UART对象。

  • pyb.rng()

    返回一个硬件产生的30位随机数值。

  • pyb.sync()

    同步所有文件系统。

  • pyb.unique_id()

    返回一个12字节的字符串(96位),即MCU的唯一ID。

  • pyb.usb_mode([modestr]vid=0xf055pid=0x9801hid=pyb.hid_mouse)


    若无参数调用,则作为字符串返回当前USB。

    若使用给定 modestr 调用,则尝试设置USB模式。仅在调用pyb.main()前从 boot.py 中调用才可实现。以下的 modestr 值被理解:

    为实现向后兼容, 'CDC' 理解为'VCP' (对于 'CDC+MSC' 和 'CDC+HID' 也是类似的).

    vid 和 pid 参数允许您指定VID(供应商id)和PID(产品id)。

    若启用HID模式,您可能也需要通过传递 hid 关键参数来指定HID的具体细节。 其需要一个(子类、协议、最大数据包长度、轮询间隔、报告描述符)的元组。默认情况下,其将为USB鼠标设置适当值。pyb.hid_keyboard 常量为USB键盘的适当元组。

    • None: 禁用USB

    • 'VCP': 使用VCP接口启用(虚拟COM端口)

    • 'VCP+MSC': 使用VCP和MSC启用(大容量存储设备类)

    • 'VCP+HID': 使用VCP和HID启用(人工接口设备)


    视频:板载LED的使用


视频:制作板载流水灯


视频:按键的使用