用ChatGPT做嵌入式应用开发

article/2025/4/22 6:20:14

ChatGPT是一种基于自然语言处理技术的人工智能模型,由OpenAI团队开发的。它基于大规模的语言数据集进行训练,并可以生成高质量的自然语言文本,包括对话、摘要、翻译等多种应用。

ChatGPT 主要应用场景包括:

  • 智能客服:可以根据用户提问,快速给出问题的答案和解决方案,提高客户满意度。
  • 智能写作:可以根据用户提供的关键词和语境,快速生成高质量的文章、博客等内容。
  • 聊天机器人:可以和用户进行自然语言对话,提供娱乐、信息咨询等服务。
  • 智能辅助工具 :可以用于文本翻译、语音识别、自动摘要等多种自然语言处理应用。

执行方案

向ChatGPT提问,根据反馈执行以下操作步骤:
1、完成设备树I2C节点、引脚配置
2、完成prj.conf工程配置、
3、使用ChatGPT提供的读取SHT30数据的操作代码
4、编译、运行,验证结果

示例演示

硬件组装

温湿度传感器 SHT30 与聆思CSK开发板对接,接入方式如下:
在这里插入图片描述

建立工程

命令行输入lisa zep create ,选择hello world的sample模板(环境部署参考聆思CSK6开发工具简介 )
在这里插入图片描述

步骤1:向ChatGPT提问

通过提问获得ChatGPT提供的主程序代码,并copy到工程的/src/main.c文件中
问题:如何在zephyr工程上使用I2C接口读取SHT30传感器数据并打印对应的数据

以下为Chatgpt回复

要在Zephyr工程上使用I2C接口读取SHT30传感器数据并打印对应的数据,您可以遵循以下步骤:
1.确保您的开发板上已经连接了SHT30传感器,并且已经正确配置了I2C总线。
2.在Zephyr的工程配置文件prj.conf中,启用I2C总线驱动和SHT30驱动,例如:

CONFIG_I2C=y
CONFIG_I2C_DRIVER=y
CONFIG_SHT3XD=y
CONFIG_SHT3XD_TRIGGER=y

3.在您的Zephyr应用程序中包含必要的头文件:

#include <zephyr.h>
#include <device.h>
#include <drivers/i2c.h>
#include <drivers/sensor.h>
#include <drivers/sensor/sht3xd.h>

4.初始化I2C总线,例如:

const struct device *i2c_dev;
i2c_dev = device_get_binding("I2C_1");
if (!i2c_dev) {printk("Failed to find I2C_1 device!\n");return;
}

5.初始化SHT30传感器,例如:

const struct device *sht30_dev;
struct sensor_value temp, humidity;sht30_dev = device_get_binding("SHT3XD");if (!sht30_dev) {printk("Failed to find SHT3XD device!\n");return;
}
if (sensor_sample_fetch(sht30_dev) < 0) {printk("Failed to fetch samples from SHT3XD device!\n");return;
}
if (sensor_channel_get(sht30_dev, SENSOR_CHAN_AMBIENT_TEMP, &temp) < 0) {printk("Failed to get temperature from SHT3XD device!\n");return;
}
if (sensor_channel_get(sht30_dev, SENSOR_CHAN_HUMIDITY, &humidity) < 0) {printk("Failed to get humidity from SHT3XD device!\n");return;
}
printk("Temperature: %d.%06d C\n", temp.val1, temp.val2);
printk("Humidity: %d.%06d %%\n", humidity.val1, humidity.val2);

6.编译并运行您的Zephyr应用程序,将会读取SHT30传感器的温度和湿度数据,并打印出来。

请注意,上述代码仅是示例,您需要根据您的实际应用程序做出相应的修改。

以上为Chatgpt回复

步骤2:按ChatGPT的提示根据实际情况完成工程配置

复制代码到prj.conf的配置,并根据提示建立设备树相关文件

设备树配置:boards/csk6012_nano.overlay

/*
Copyright (c) 2021-2022 listenai Intelligent Technology (anhui) Co., Ltd.
SPDX-License-Identifier: Apache-2.0
/
&pinctrl {
/ I2C alternate function */
pinctrl_i2c0_scl_default: i2c0_scl_default{
pinctrls = <I2C0_SCL_GPIOA_10>;
};
pinctrl_i2c0_sda_default: i2c0_sda_default{
pinctrls = <I2C0_SDA_GPIOA_11>;
};
};&i2c0 { /* SDA PA11, SCL PA.10, ALERT PX.XX */
status = "okay";
pinctrl-0 = <&pinctrl_i2c0_scl_default &pinctrl_i2c0_sda_default>;
pinctrl-names = "default";
sht3xd@44 {
compatible = "sensirion,sht3xd";
reg = <0x44>;
label = "SHT3XD";
// alert-gpios = <&gpiob 5 GPIO_ACTIVE_LOW>;// The driver does not currently support
status = "okay";
};
};

工程配置:prj.conf

> #Copyright (c) 2018 Peter Bigot Consulting, LLC
> #SPDX-License-Identifier: Apache-2.0
> CONFIG_STDOUT_CONSOLE=y
> CONFIG_PRINTK=y
> CONFIG_ASSERT=y
> #CONFIG_EARLY_CONSOLE=y
> CONFIG_I2C=y
> CONFIG_SENSOR=y
> CONFIG_SHT3XD=y
> 
> #CONFIG_BOOT_BANNER=n

源码文件:src/main.c

/*Copyright (c) 2018 Peter Bigot Consulting, LLC
SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/zephyr.h>
#include <zephyr/device.h>
#include <zephyr/drivers/sensor.h>
#include <zephyr/sys/printk.h>
#include <stdio.h>#define ALERT_HUMIDITY_LO 50
#define ALERT_HUMIDITY_HI 60#ifdef CONFIG_SHT3XD_TRIGGER
static volatile bool alerted;static void trigger_handler(const struct device *dev,
const struct sensor_trigger *trig)
{
alerted = !alerted;
}#endifvoid main(void)
{const struct device *dev = device_get_binding("SHT3XD");
int rc;if (dev == NULL) {
printf("Could not get SHT3XD device\n");
return;
}#ifdef CONFIG_SHT3XD_TRIGGER
struct sensor_trigger trig = {
.type = SENSOR_TRIG_THRESHOLD,
.chan = SENSOR_CHAN_HUMIDITY,
};
struct sensor_value lo_thr = { ALERT_HUMIDITY_LO };
struct sensor_value hi_thr = { ALERT_HUMIDITY_HI };
bool last_alerted = false;rc = sensor_attr_set(dev, SENSOR_CHAN_HUMIDITY,
SENSOR_ATTR_LOWER_THRESH, &lo_thr);
if (rc == 0) {
rc = sensor_attr_set(dev, SENSOR_CHAN_HUMIDITY,
SENSOR_ATTR_UPPER_THRESH, &hi_thr);
}
if (rc == 0) {
rc = sensor_trigger_set(dev, &trig, trigger_handler);
}
if (rc != 0) {
printf("SHT3XD: trigger config failed: %d\n", rc);
return;
}
printf("Alert outside %d..%d %%RH got %d\n", lo_thr.val1,
hi_thr.val1, rc);
#endifwhile (true) {
struct sensor_value temp, hum;
rc = sensor_sample_fetch(dev);
if (rc == 0) {
rc = sensor_channel_get(dev, SENSOR_CHAN_AMBIENT_TEMP,
&temp);
}
if (rc == 0) {
rc = sensor_channel_get(dev, SENSOR_CHAN_HUMIDITY,
&hum);
}
if (rc != 0) {
printf("SHT3XD: failed: %d\n", rc);
break;
}
#ifdef CONFIG_SHT3XD_TRIGGER
if (alerted != last_alerted) {
if (lo_thr.val1 > hum.val1) {
printf("ALERT: humidity %d < %d\n",
hum.val1, lo_thr.val1);
} else if (hi_thr.val1 < hum.val1) {
printf("ALERT: humidity %d > %d\n",
hum.val1, hi_thr.val1);
} else {
printf("ALERT: humidity %d <= %d <= %d\n",
lo_thr.val1, hum.val1, hi_thr.val1);
}
last_alerted = alerted;
}
#endif
printf("SHT3XD: %.2f Cel ; %0.2f %%RH\n",
sensor_value_to_double(&temp),
sensor_value_to_double(&hum));
k_sleep(K_MSEC(2000));
}
}

CMake 构建脚本:CMakeLists.txt

#Copyright (c) 2018 Peter Bigot Consulting, LLC
#SPDX-License-Identifier: Apache-2.0cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(sht3xd)FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE ${app_sources})

步骤3:编译/烧录验证

查询结果:it’s perfect!
在这里插入图片描述

经验总结

1.快速起手:使用ChatGPT快速搭建工程模板,节省时间、提高效率
2.查漏补缺与调试:当面对代码中不理解的点,可以进行提问,ChatGPT将结合示例进行讲解,可以更好地在我们的知识体系中对知识点进行补充,同时结合运行情况进行问题排查
(技术分享:聆思科技柯钿爽)

实操视频

让ChatGPT编写嵌入式应用,三分钟完成传感器接入!

关于聆思

聆思科技是一家专注提供智能终端系统级(SoC)芯片的高科技企业,目前推出的CSK6系AI芯片已适配Zephyr RTOS。

如果你在学习、开发过程中有疑问或难题,希望与专家和更多的开发者交流,欢迎+V:listenai-csk

欢迎各位同学联系我们进行技术相关的探讨,也可以在评论区进行提问,大家一起进步吧!


http://chatgpt.dhexx.cn/article/eO5hu7j5.shtml

相关文章

9款工具让 ChatGPT 如虎添翼! 帮你效率翻百倍!

ChatGPT chat.openai.com ChatGPT能够在同一个会话期间内回答上下文相关的后续问题。其在短时间内引爆全球的原因在于&#xff0c;在网友们晒出的截图中&#xff0c;ChatGPT不仅能流畅地与用户对话&#xff0c;甚至能写诗、撰文、编码。 会问AI 地址&#xff1a;公众号 「…

ChatGPT万能工具箱 | ChatGPT辅助神器 提升了用户体验 提问回答更加精确。

简介 提高ChatGPT网站的用户体验&#xff0c;提供一些实用的功能&#xff0c;如自动从URL中填充提示、在回复框中提供自动提示按钮等等。通过ChatGPT万能工具箱&#xff0c;您可以获得一些额外的实用功能&#xff0c;以提高ChatGPT网站的使用体验。目前&#xff0c;我们提供了两…

4个ChatGPT拓展出来的工具

现在ChatGPT 相关 的方向非常的多&#xff0c;各个大厂一个一个推出了自己的大模型&#xff0c;从国外到国内&#xff0c;ChatGPT 相关 也有几十个&#xff0c;这是大厂的方向。 对于比较小的团队&#xff0c;很多都是在ChatGPT 的基础上进行的开发&#xff0c;下面罗列出4个在…

推荐 5 个好玩的 ChatGPT 开源应用

推荐 5 个基于 ChatGPT 的开源应用&#xff1a;基于强大的 GPT 大模型能力&#xff0c;看能开出什么好玩有趣实用的应用。 本期推荐开源项目目录&#xff1a; 1. 基于 OpenAI 的翻译应用 2. 让 ChatGPT 支持图片 3. 你的 AI 助手 4. 可以与 ChatGPT 联动的智能音箱 5. ChatGPT …

体验一波ChatGpt工具-cursor(自动代码生成)

最近体验了一把cursor&#xff0c;自动生成代码工具&#xff0c;集成了最近很火的ChatGpt&#xff0c;目前比较好的就是代码生成工具大概就是github copilot和cursor&#xff0c;不过github copilot需要付费使用或者漫长的waitlist&#xff0c;所以目前比较好的cursor 官网介绍…

当我问 ChatGPT 能否推荐一下好用的 API 管理工具时?

近期围绕 ChatGPT 的话题&#xff0c;真的太多了。我们就知道了 ChatGPT 简单说就是搜索引擎社交工具&#xff0c;这个解释最简单明了。出于好奇&#xff0c;我也用 ChatGPT 测试了一下&#xff1a; 我&#xff1a; 在中国&#xff0c;最好的 API 管理工具是什么&#xff1f; …

ChatGPT:这个AI工具集导航你应该收藏

AI的到来让我们的工作事半功倍&#xff0c;无论你是文员&#xff0c;财务&#xff0c;还是开发营销&#xff0c;你有了这些AI工具&#xff0c;你的工作效率将大大提升。 这个AI工具集包含了&#xff0c;AI写作&#xff0c;AI图像&#xff0c;AI聊天。。。等等机会所有的AI工具…

16款ChatGPT工具,炸裂收藏!

上一篇&#xff1a;ChatGPTXMind&#xff0c;炸裂了&#xff01; 1.ChatGPT for google 一个浏览器插件&#xff0c;可搭配现有的搜索引擎来使用。 最大化搜索效率&#xff0c;对搜索体验的提升相当离谱&#xff1a; 安装完插件后&#xff0c;在搜索引擎搜索任何问题&#xff0…

香港科技大学:期中报告使用 ChatGPT 可加分;爆谷歌、微软已在韩国开始裁员;美国最大加密货币银行宣布关闭|极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

ChatGPT遭港大「封杀」:罪同论文剽窃抄袭,使用须报备过审

衡宇 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT太能写了&#xff0c;论文、作业&#xff0c;哪里不会就帮写哪里。 为此&#xff0c;香港大学明文禁止师生将ChatGPT用于教学用途&#xff0c;违规使用将被判为抄袭。 港大也成为国内首家对ChatGPT进行明文规定的高校。 具体来说…

港大全面封杀ChatGPT!AI肆虐高校,作弊丑闻震惊全世界

来源&#xff1a;新智元&#xff08;ID&#xff1a;AI_era&#xff09; 编辑&#xff1a;学妹 ChatGPT&#xff0c;已经开始在全世界的高校里肆虐。最近&#xff0c;港大打响了国内AI反击战第一枪。 随着AI生成的文本与人类的写作越来越像&#xff0c;高中和大学的老师们快被疑…

活动报名丨ChatGPT的鲁棒性探究:对抗性和分布外泛化的视角

2023年3月2日&#xff08;星期四&#xff09;14:00-15:00&#xff0c;智源社区主办的「智源LIVE 第32期线上分享活动&#xff1a;由香港城市大学数据科学学院博士生胡曦煦和微软亚洲互联网工程院应用科学家侯汶昕&#xff0c;共同讲解《ChatGPT的鲁棒性探究——对抗性和分布外泛…

CSDN官方ChatGPT开启内测了

CSDN官方ChatGPT开启内测了&#xff0c;入口如图所示

ChatGPT实现撰写邮件

撰写邮件 电子邮件是日常工作中很常用的工具&#xff0c;在相对正式的场合&#xff0c;一封格式美观、用语典雅的电子邮件正文会起到很好的作用。ChatGPT 可以较好的完成电子邮件的编写和格式美化工作。 下面让我们以产品销售的角度&#xff0c;写一封推销邮件。假定产品名称…

教程 | 太炸裂,使用ChatGPT插件写邮件,效率提升100倍

今天&#xff0c;我们要介绍一款与ChatGPT相关的浏览器插件&#xff1a;ChatGPT Writer。 ChatGPT Writer不同于其他浏览器插件&#xff0c;它的专注点在于能够在所有网站上编写电子邮件和消息。这个工具不仅适用于日常办公&#xff0c;还特别适合需要频繁进行邮件回复的客服岗…

【ChatGPT实战】2.使用ChatGPT自动化操作邮件

邮件营销&#xff0c;相信大家一定不会陌生吧&#xff0c;特别是做跨境电商的用户&#xff0c;那么邮件营销特别常见的。因此&#xff0c;决定给大家写这篇实操文章。 接下来&#xff0c;我将向大家介绍如何使用ChatGPT来自动化处理邮件&#xff0c;让我们不再被无休止的邮件沟…

重磅,ChatGPT App 来了!(附保姆级教程)

因公众号更改推送规则&#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号&#xff0c;领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇&#xff1a;2T架构师学习资料干货分享 大家好&#xff0c;我是互联网架构师&…

Chat GPT 创建APP: 开发人员要被替代了吗?

我们又要被人工智能取代了吗&#xff1f; GitHub Copilot 于 2021 年 10 月发布&#xff0c;整个开发社区都为之疯狂。有些人发表言论说我们很快就会失业&#xff0c;而其他人&#xff08;比如我&#xff09;&#xff0c;认为虽然这个工具很有趣&#xff0c;但距离替代人工还很…

ChatGPT APP来了,还可以直接订阅Plus账号,操作流程都这篇里面

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加&#xff1a;keeepdance&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 OpenAI宣布推出聊天机器人ChatGPT的APP&#xff0c;目前已上架苹果App Store&#xf…

8篇报告|马斯克称Chat GPT好得惊人

8篇报告&#xff5c;马斯克称Chat GPT好得惊人‼️ 最近&#xff0c;连续刷屏的AI应用ChatGPT火爆全球&#xff0c;成为科技圈第一大热潮。 马斯克在推特上评价 ChatGPT 称&#xff1a;“ChatGPT 好得惊人。我们离强得可怕的 AI 不远了。”比尔盖茨盛赞其影响“不亚于互联网诞…