从微控制器

时间:2015-11-05 17:06:51

标签: c smtp udp server microcontroller

这可能不在正确的位置,所以请告诉我,我会移动它。

我是最近的EE毕业生,我被聘请用一个简单的32位处理器构建一个存在于SoC上的系统。系统基本上监视几个外部设备并在其上执行一些DSP,然后应该使用WiFi设备(在我的情况下,我使用UDP的ESP8266)将结果发送到电子邮件服务器以进行记录/通知。

我一直在努力寻找一个可以使用的库,但是我的uC只能用C语言编程,而且我已经为UDP设置了它,而且一切都在C ++中使用其他协议,或者完全不同。

我擅长DSP,在SoC和uC都很不错,但是当涉及到这个电子邮件服务器通信时,我很茫然。

我已成功配置传感器,数据路径,DSP的所有内容,并通过UDP将系统连接到我的WiFi,但我还没有弄清楚如何将数据发送到任何服务器。

有人可以帮我理解我应该怎么做吗?

我已经研究了一些简单的SMTP命令,如HELO,MAIL,RCPT,DATA等,但我无法理解我是如何在我的代码中实现它们的。

当我通过UDP发送WiFi数据时,我会发送什么类型的数据以及如何格式化?我需要发送任何其他类型的标志吗?我该如何期待回应?我也知道数据必须转换为base 64,这让我更加困惑。

我也不是非常熟悉UDP,我一直在使用属于SoC默认库的库连接到我的WiFi。

我知道这些可能看似明显或愚蠢的问题,但是我不再有任何知识,我在网上发现的一切都没有意义,或者没有尝试解释它,只是给了一个预先制定解决方案

我找到了RFC2821,但没有更清楚。

我知道这很多,但任何帮助都会成为救星!

1 个答案:

答案 0 :(得分:1)

由于您提出这个问题,我假设您没有启动并运行适用于微控制器的操作系统,例如Linux的嵌入式变体等。如果您是,您将能够利用可能内置的应用程序或其他现有代码。

但是你没有提到编写过以太网堆栈,那么你是否正在使用其他一些库或操作环境,它们可能具有实现SMTP所需的一些功能?

如果您没有并且确实需要编写自己的SMTP客户端以直接在您正在使用的处理器上运行,那么您应该能够找到大量的源代码示例。快速谷歌搜索How To Write an SMTP client显示了一些带有一些示例代码的文章。一个article似乎确实很受欢迎,但你需要进一步研究它。

但是,我强烈建议您坐下来使用telnet client and connect to an SMTP server,您可以使用并尝试发送消息所需的命令。如果您只需要发送文本,则无需参与MIME编码或类似的操作。